A félév során három beadandó elkészítése szükséges:
A feladatoknak az adatokat perzisztálniuk kell, azaz vagy fájlba, vagy adatbázisba kell lementeniük az adatokat.
Első beadandóként egy kis webes alkalmazás elkészítése a cél szerveroldali technológiák segítségével. A feladatnak mininálisan tartalmaznia kell:
A formai követelményeknek megfelelően kell elkészíteni, dokumentálni és közzétenni. Az ott megfogalmazottakhoz képest a következő szempontoknak is teljesülnie kell:
Feladat a meglévő szerveroldali webalkalmazás progresszív fejlesztése a kliensoldalon, azaz olyan kliensoldali JavaScript kódok írása, melyek nélkül az alkalmazás továbbra is működőképes, de meglétükkel az alkalmazás használata kényelmesebb, gyorsabb, felhasználóbarátabb. Elvárások:
A fejlesztést ugyanabba a kódtárba kell végezni, amelyben a szerveroldali alkalmazás volt, természetesen külön commitként. Cloud9-on is ugyanabban a workspace-ben maradhatunk. A közzétételkor a Herokura a módosított applikációt kell feltenni.
A fejlesztést dokumentálni kell. A dokumentáció külön fejezetként kerüljön leírásra a korábbi dokumentáció végére, és a következő dolgokat tartalmazza funkciónként:
Egy webes vastagkliens, azaz egyoldalas alkalmazás készítése Ember.js segítségével az utolsó beadandó. Feladatot illetően lehet a szerveroldali alkalmazásnak egy kliensoldali változata, de másik feladat is választható. A feladatnak mininálisan tartalmaznia kell:
A formai követelményeknek megfelelően kell elkészíteni, dokumentálni és közzétenni. Az órai gyakorlatnak megfelelően ez új workspace-ek létrehozását jelenti Cloud9 oldalon, és a Github-on is külön kódtárba dolgozzunk. A dokumentációval kapcsolatos elvárások a formai követelményeknél írtaknak megfelelő (minden kell). A Heroku-n való közzététel opcionális.
A beadandók témáit a hallgatók hozzák. Néhány gondolatindító példa feladat:
Minden beadandóhoz értelemszerűen el kell készíteni a kódot, meg kell írni a dokumentációt, és az elkészült alkalmazást közzé kell tenni. A kód elkészítése a Cloud9 platformon javasolt. Az elkészült kódot egy publikus Github kódtárban kell tárolni. A dokumentáció a kódtár README.md
állományában kerüljön megvalósításra Github Flavoured Markdown formátumban. Az elkészült feladatot a Heroku platformon kell közzé tenni.
A beadandó elkészítésének technikai részletei (Github, Heroku, CLoud9) a példa Github kódtárban találhatók.
A dokumentáció felépítésével kapcsolatos elvárások alapvetően megfelelnek az előzménytárgyban megfogalmazott elvárásoknak, de ki is egészülnek a tárgy webes jellegének megfelelően. A következő segédanyagok használhatók ehhez:
A diagramok elkészítéséhez bármilyen eszköz használható. Néhány ajánlat:
A dokumentáció a következő részeket tartalmazza:
A követelmény feltárás során felmérik és összegyűjtik a megrendelt szoftverrel szemben támasztott felhasználói követelményeket, elemzik az alkalmazási szakterületet. Részei:
Tesztesetek felsorolása: milyen eseteket próbált végig a hallgató.
Hét | Dátum | Téma | Anyag |
---|---|---|---|
1 | 09.07.-09.11. |
Követelmények ismertetése, a tantárgy és az óra felépítése. JavaScript nyelvi alapok. A fejlesztőkörnyezet beállítása (szerkesztő, futtató, Cloud9), egyszerűbb adatszerkezetek és programozási tételek implementálása. |
Előadás diái |
2 | 09.14.-09.18. |
Kliens-szerver architektúrák. Protokollok. Tervezési minták. Nyelvi lehetőségek. Express koncepciók, végpontok definiálása. |
Előadás diái |
3 | 09.21.-09.25. |
Tervezés: sitemap, mockup. Statikus oldalak megjelenítése. Template-ek (view, HBS). Layout-ok definiálása. |
Előadás diái |
4 | 09.28.-10.02. |
Dinamikus oldalak létrehozása sablonokkal. Űrlapfeldolgozás. Adattárolás Munkamenet kezelése. |
Előadás diái |
5 | 10.05.-10.09. |
Modellek. Perzisztálás (memória, fájl, adatbázis). Adatbázis. Refaktorálás. Hitelesítés. |
Előadás diái |
6 | 10.12.-10.16. |
Tesztelés. Kitekintés. Információk a beadandóról. |
Előadás diái |
7 | 10.19.-10.23. |
Kliensoldali webprogramozás. Koncepciók. DOM, jQuery. Weloldalak progresszív fejlesztése. Egyszerű feladatok: űrlapellenőrzés, DOM manipulálás. |
Előadás diái |
8 | 10.26.-10.30. |
Szünet (10.26.-11.01.) |
|
9 | 11.02.-11.06. |
AJAX: koncepciók, megvalósítások, feladatok. |
Előadás diái |
10 | 11.09.-11.13. |
Webes vastagkliensek. Egyoldalas alkalmazások. Ember.js bevezető. Feladatok sablonokkal. |
Előadás diái |
11 | 11.16.-11.20. |
Komponensek, Adatok megjelenítése. Eseménykezelés, akciók. Ember-data. |
Előadás diái |
12 | 11.23.-11.27. |
Űrlapkezelés. Validáció. CRUD műveletek. |
Előadás diái |
13 | 11.30.-12.04. |
REST API készítése. |
Előadás diái |
14 | 12.07.-12.11. |
Összefoglalás, kitekintés, gyakorlás. |
Előadás diái |
Cloud9: file upload, majd kitömörítés: tar -zxvf gyak4.tar.gz
Horváth Győző