https://nik.uni-obuda.hu/targyleirasok/tantargyak/kliensoldali-fejlesztes/
Kliensoldali fejlesztĂ©ssel kapcsolatos tĂ©materĂĽletek áttekintĂ©se. A leĂrĂł nyelvek megismerĂ©se (HTML, markdown, Tex). A szerver-kliens alapĂş kommunikáciĂł folyamata. AlapvetĹ‘ HTML oldal lĂ©trehozása Ă©s saját stĂlusokkal törtĂ©nĹ‘ kiegĂ©szĂtĂ©se CSS segĂtsĂ©gĂ©vel. A head elem rĂ©szletes bemutatása.
1.01 Bevezető, tárgyismertető
1.02 Frontend roadmap
1.03 LeĂrĂł nyelvek
1.04 A HTML leĂrĂł nyelv
1.05 EgyĂ©b leĂrĂł nyelvek
1.06 Szerver-kliens kapcsolat
1.07 Feladatmegoldás: alap HTML oldalak
1.08 CSS alapok
1.09 Feladatmegoldás: CSS alkalmazása
1.10 A head elem
Kulcsszavak:
HTML
CSS
markdown
TeX
A CSS haladĂł funkciĂłinak valamint további HTML elemeknek a megismerĂ©se. OldalstruktĂşra kialakĂtása (div, flexbox, grid). WebergonĂłmia, tipográfia, UI Ă©s UX alapismeretek. ReszponzĂv alkalmazás kĂ©szĂtĂ©sĂ©nek alapelvei. CSS extra lehetĹ‘sĂ©gek.
2.01 CSS haladĂł ismeretek I.
2.02 HTML további elemek
2.03 OldalstruktĂşra kialakĂtása
2.04 CSS haladĂł ismeretek II.
2.05 CSS haladĂł ismeretek III.
2.06 Webergonómia, tipográfia, UI és UX
2.07 Reszponzivitás
2.08 CSS extrák
2.09 Feladatmegoldás
2.10 Feladatmegoldás kiegĂ©szĂtĹ‘
Kulcsszavak:
HTML
CSS
flexbox
div
grid
box shadow
gradient
border
radius
margin
padding
px
em
rem
A JavaScript nyelv törtĂ©nete, nyelvi sajátosságai (tĂpusok, változĂłtĂpusok, operátorok, fĂĽggvĂ©nyek, objektumok Ă©s osztályok). A DOM megismerĂ©se. DOM elemek lekĂ©rdezĂ©se Ă©s mĂłdosĂtása. FelĂĽleti elemek programozása. StĂlusok Ă©s stĂluslapok programozott előállĂtása. OldalbetöltĂ©s folyamata. EsemĂ©nyek kezelĂ©se.
3.01 Bevezető
3.02 JS történelem, nyelvi alapok és sajátosságok
3.03 Szerver-kliens kommunikáció
3.04 Feladatmegoldás, fejlesztői környezet bemutatása
3.05 TĂpusok, fĂĽggvĂ©nyek, osztályok Ă©s objektumok
3.06 Feladatmegoldás: objektumok tömbje és annak feldolgozása
3.07 DOM - document object model
3.08 DOM manipuláció (olvasás)
3.09 Feladatmegoldás: DOM elemek lekérése
3.10 DOM manipuláciĂł (Ărás)
3.11 Feladatmegoldás: DOM elemek létrehozása
3.12 StĂlusok programozott elĂ©rĂ©se
3.13 Feladatmegoldás: események kezelése
Kulcsszavak:
ECMAScript
== vs ===
DOM
document object model
attribute
style
classList
alert
querySelector
getElementBy...
object
class
JSON
page load
render
onClick
eventHandler
high-level
prototype-based
object-oriented
multi-paradigm
interpreted
just-in-time compiled
dynamic
single-threaded
garbage-collected
first-class functions
event loop
concurrency model
HaladĂł esemĂ©nykezelĂ©s a JavaScript-ben. EsemĂ©nyek paramĂ©terezĂ©se, esemĂ©nyobjektum, esemĂ©nyek továbbadása (buborĂ©kozás, delegálás), saját esemĂ©nyek lĂ©trehozása. Gyakorlati feladatmegoldások (interaktĂv to do lista kĂ©szĂtĂ©se, automatizált kĂ©pcserĂ©lĂ©s, rajzolás, felhasználĂł eltĂ©rĂtĂ©se (~erĹ‘ltetett hirdetĂ©s)).
4.01 Bevezető
4.02 Haladó eseménykezelés I.
4.03 Feladat: eseményobjektum
4.04 HaladĂł esemĂ©nykezelĂ©s II., Feladat: esemĂ©nyek továbbĂtása
4.05 Saját események létrehozása
4.06 Feladat: Automatizált kĂ©pfrissĂtĹ‘
4.07 Feladat: Rajzolás
4.08 Feladat: FelhasználĂł eltĂ©rĂtĂ©se
4.09 Feladat: To do alkalmazás kĂ©szĂtĂ©se
Kulcsszavak:
createElement
addEventListener
appendChild
querySelector
setTimeout
setInterval
toggle
keyPress
classList
event bubbling
event capturing
További JS nyelvi elemek Ă©s adatszerkezetek használata. Web APIk Ă©s a BOM megismerĂ©se. KĂłdszervezĂ©s modulba rendezett file-ok segĂtsĂ©gĂ©vel. EgysĂ©gbezárás osztályok esetĂ©n Ă©s a this kulcsszĂł vonatkozása. Adat helyĂ©nek meghatározása, illetve az adat lekĂ©pezĂ©se generáláson keresztĂĽl. ImperatĂv Ă©s deklaratĂv felhasználĂłi felĂĽlet kezelĂ©se. ProgresszĂv webalkalmazás (weboldal vs webalkalmazás) fejlesztĂ©sĂ©nek bemutatása, a GD Ă©s PE koncepciĂłkon keresztĂĽl.
5.01 Bevezető
5.02 További JS nyelvi elemek
5.03 Adatszerkezetek
5.04 Web API-k (BOM, window)
5.05 Kódszervezés (modulok használata)
5.06 Egységbezárás
5.07 Adattárolás (adat leválasztása, HTML generálás)
5.08 ImperatĂv Ă©s deklaratĂv UI kezelĂ©s
5.09 ProgresszĂv weboldal fejlesztĂ©s (weboldal vs webalkalmazás)
5.10 Feladat: Dolgozó kezelő alkalmazás dark-mode támogatással
Kulcsszavak:
typeof
Date
array
Map
BOM
browser object model
web APIs
window
setTimeout
setInterval
import
export
module
class
DOM
imperative
declarative
graceful degradation
progressive enhancement
dark mode
render
this
HaladĂł ismeretek bĹ‘vĂtĂ©se az alábbi fogalmak megismerĂ©sĂ©vel: callback fĂĽggvĂ©ny, promise-ok lĂ©trehozása Ă©s kezelĂ©se, az async-await páros felhasználása. A CORS jelensĂ©g bemutatása. BeĂ©pĂtett tömb metĂłdusok megismerĂ©se Ă©s használata. Komplex feladat megoldása backend API hĂvásokkal (Fetch API-t Ă©s Promise-okat felhasználva), melyeken keresztĂĽl lehet hallgatĂłkat listázni, Ăşj hallgatĂłt felvenni, meglĂ©vĹ‘ hallgatĂłt mĂłdosĂtani.
6.01 Bevezető
6.02 Callback
6.03 Promise
6.04 Async-await
6.05 CORS
6.06 Array methods
6.07 Feladat: GET API (hallgatók lekérése)
6.08 Feladat: POST API (hallgatĂł felvitele)
6.09 Feladat: DELETE API (hallgató törlése)
6.10 Feladat: Array method felhasználás
Kulcsszavak:
fetch
GET
POST
DELETE
API
postman
swagger
promise
callback
async
await
CORS
filter
reduce
map
forEach
findIndex
sticky navbar
HaladĂł ismeretek bĹ‘vĂtĂ©se a JS működĂ©si hátterĂ©nek megismerĂ©sĂ©vel. JS Engine Ă©s Runtime fogalmak megismerĂ©se Ă©s a hozzájuk szorosan kapcsolĂłdĂł további fogalmak (compilation, interpretation, JIT, AST, event loop, execution context, call stack, scope chain, hositing, TDZ). ValĂłdi párhuzamosságra alkalmas mĂłdszer megismerĂ©se. Az AJAX technolĂłgia Ă©s annak jelentĹ‘sĂ©gĂ©nek megismerĂ©se.
7.01 Bevezető
7.02 JS engine
7.03 AST
7.04 JS runtime, Event loop
7.05 Execution context, Call stack
7.06 Scope chain
7.07 Hoisting, TDZ
7.08 Web workers
7.09 AJAX
Kulcsszavak:
compilation
interpretation
JIT
just in time compilation
AST
abstract syntax tree
engine
runtime
event loop
execution context
call stack
callback queue
scope chain
global scope
function scope
local scope
block scope
var
let
const
hoist
TDZ
temporal dead zone
A TypeScript nyelv megismerĂ©se, alapvetĹ‘ pĂ©ldák bemutatása. Komplexebb, rĂ©tegzett alkalmazás kĂ©szĂtĂ©se TS-ben.
8.01 Bevezető
8.0x todo
8.0x todo
8.0x todo
Kulcsszavak:
todo
todo
todo
A JavaScript keretrendszerek Ă©s library közötti kĂĽlönbsĂ©g bemutatása. A jQuery megismerĂ©se, törtĂ©nelmi áttekintĂ©se. A JavaScript aktuális helyzete a piacon (state of JS). Template engine-k Ă©s a virtual DOM jelentĹ‘sĂ©gĂ©nek bemutatása a modern keretrendszerek esetĂ©n. A tech stack fogalmának megismerĂ©se Ă©s az elterjedt alternatĂvák vizsgálata. Angular projekt lĂ©trehozására szolgálĂł opciĂłk megismerĂ©se. Angular projekt futtatása, Angular CLI-on keresztĂĽl (ng serve), vagy NPM-en keresztĂĽl (npm start). Angular alkalmazás fájlstruktĂşrájának megismerĂ©se, valamint az alapvetĹ‘ nyelvi elemek megismerĂ©se (ciklus, if, adatkötĂ©s, tĂpusosság).
9.01 Bevezető
8.02 Framework vs library
8.03 Template engine
8.04 Virtual DOM
8.05 State of JS
9.02 Tech stack
9.05 Angular (projekt létrehozás (node, npm))
9.06 Angular (alkalmazás futtatás (node, ng))
9.07 Angular alapvető nyelvi elemek megismerése
Kulcsszavak:
CDN
cli
lifecycle
vue
virtual DOM
data binding
tech stack
JAM
MEAN
LAMP
ng serve
npm start
node
typescript
angular
To Do alkalmazás kĂ©szĂtĂ©se Angular segĂtsĂ©gĂ©vel. AdatkötĂ©s (tömb, input mezĹ‘k) Ă©s tĂpusok (TypeScript) használata. Keretrendszeri elemek használata: ngFor, click, class Ă©s value adatkötĂ©se. Fetch API használata.
10.01 Bevezető
10.02 Projekt inicializálás
10.03 Adatbetöltés fetch API-val
10.04 Elemek megjelenĂtĂ©se
10.05 Elemek törlése
10.06 Ăšj elem felvitele
10.07 Port beállĂtás
Kulcsszavak:
fetch
binding
[(ngModel)]
[value]
[class]
(click)
ngFor
FormsModule
app.module.ts
Több komponensbĹ‘l felĂ©pĂĽlĹ‘, User Ă©s Comment kezelĹ‘ CRUD alkalmazás kĂ©szĂtĂ©se Angular keretrendszerben. Routing felhasználás a navigáciĂłban. Komponensek közötti kommunikáciĂł, adattovábbĂtás. Bootstrap elemek felhasználása.
11.01 Bevezető
11.02 Projekt inicializálás
11.03 Komponensek létrehozása
11.04 NavigáciĂł Ă©s routing beállĂtása
11.05 Felhasználók listázása (táblázat)
11.06 Felhasználók törlése
11.07 Felhasználók szerkesztése (komponens paraméter átadás)
11.08 Kommentek listázása (card)
11.09 Felhasználó keresése (komponens paraméter átadás)
11.10 HibaĂĽzenet (feltĂ©teles megjelenĂtĂ©s)
Kulcsszavak:
component
ng g c
binding
[src]
[(ngModel)]
(click)
httpClient
[routerLink]
navigateByUrl
GET
DELETE
PUT
scss
Sass CSS
Több komponensbĹ‘l felĂ©pĂĽlĹ‘, Teacher Ă©s Subject (valamint a köztĂĽk találhatĂł reláciĂł) kezelĹ‘ CRUD alkalmazás kĂ©szĂtĂ©se Angular keretrendszerben. Routing felhasználás a navigáciĂłban. Auth guard alkalmazása (csak authentikált felhasználĂłk számára elĂ©rhetĹ‘ komponensek). Komponensek közötti kommunikáciĂł, adattovábbĂtás. Angular Material UI Ă©s annak komponenseinek felhasználása. RegisztráciĂł Ă©s bejelentkezĂ©s implementálása JWT token Ă©s localstorage segĂtsĂ©gĂ©vel.
12.01 Bevezető
12.02 Projekt inicializálás, Angular Material UI telepĂtĂ©s
12.03 Alap komponensek lĂ©trehozása, routing beállĂtás
12.04 Routing és navigáció
12.05 Tárgyak listázása
12.06 Oktatók listázása
12.07 Regisztráció
12.08 Bejelentkezés (JWT token)
12.09 Route védelem (auth guard)
12.10 OktatĂł Ă©s tárgy mĂłdosĂtása, törlĂ©se
12.11 Oktató és tárgy létrehozása
12.12 Oktató és tárgy összerendelése
Kulcsszavak:
MUI
Material UI
auth guard
routing
login
logout
JWT
localstorage
bearer token
registration
snackbar
validation
service
navigation
component
ng g c
binding
[src]
[(ngModel)]
(click)
httpClient
[routerLink]
PUT
POST
GET
DELETE
scss
Sass CSS
ActivatedRoute
filter
map