Multiplatform szoftverfejlesztés
A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
Multiplatform szoftverfejlesztés
Multiplatform Software Development
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIAUMA04 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
Dr. Gulyás Gábor György
elérhetőség:
gulyas@aut.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Automatizálási és Alkalmazott Informatikai Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | — | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
|
Hét |
Előadás anyaga |
|
1. |
Bevezetés, multiplatform fejlesztés előnyei,
hátrányai. Miről lesz szó a félévben: ·
Áttekintés: C, Java, .NET,
Flash/Air, Mono Game. ·
HTML alapú OS-ek. ·
Lehetőségek: C++, HTML5/JS,
egyéb technológiák |
|
2. |
C++ ismétlés, Fejlesztőeszközök, fordítók,
C++ 11, új nyelvi funkciók 1: auto, range-based for, enum class, nullptr,
override/final |
|
3. |
C++ 11 új
nyelvi funkciók 2: rvalue referenciák/move, lambda, default/delete,
initializer lists |
|
4. |
Fejlesztési minták: · RAII ·
Kivételkezelés, natív kivételek
kezelése platform szinten ·
Crossplatform technikák ·
natív interfészek, implementálás
platform szinten ·
preprocessor direktívák ·
template metaprogramozás |
|
5. |
Natív réteg
és a platform együttműködése, interoperabilitás: C++/CX, JNI, Objective-C |
|
6. |
Qt 1:
bevezetés, Qt object model, gyűjtemény osztályok, fa, élettartam, sharing,
signal-slot koncepció, események |
|
7. |
Qt 2:
koordináta rendszer, rajzolás, QML, hálózat elérés, többnyelvűség,
erőforrások |
|
8. |
Tablet és mobil alkalmazás felhasználói felületének kialakítása HTML
és CSS segítségével. Modernizer. |
|
9. |
Typescript/ECMA
Script 6 alapú, objektum-orientált alkalmazás fejlesztés. |
|
10. |
Zárthelyi |
|
11. |
Mobil UI,
Single page application architektúra, kliensoldali keretrendszerek. |
|
12. |
Nagy
alkalmazás fejlesztése: architekturális minták, modulok, preprocesszorok, minifikálás,
teljesítményelemzés. |
|
13. |
Hibrid
alkalmazások adattárolási kérdései: local storage, IndexedDB. Aszinkronitás,
hálózat kezelés, real-time és két-irányú kommunikáció, SignalR/socket.io. |
|
14. |
Natív HTML/JS
alkalmazások: PhoneGap, Titanium (benne: location, kamera, natív mobil funkciók
elérése). Node.js. |
|
Hét |
Gyakorlat anyaga |
|
1. |
C++ alapozás, az előadáson bemutatott új
nyelvi funkciókkal való megismerkedés gyakorlati példákon keresztül: auto,
range-based for, enum class, nullptr, override/final. |
|
2. |
Az előadáson bemutatott új nyelvi
funkciókkal való megismerkedés gyakorlati példákon keresztül:
move-szemantika, lambda-kifejezések, initializer lists. Cross-platform
fejlesztési minták gyakorlati alkalmazásával való megismerkedés: RAII,
kivételkezelés, platformfüggetlen interfészek. |
|
3. |
Natív-platform interop problémáinak és technikáinak megismerése a
C++/CX technológián keresztül. Qt: az előadáson elhangzott alap koncepciók bemutatása kis
példaalkalmazáson keresztül és egy nagyobb, összetettebb feladat elkészítése
az előadás tematikájának megfelelően. |
|
4. |
HTML5 és CSS3
felhasználás tablet és telefonos alkalmazások készítéséhez. Typescript és
ECMA Script 6 fejlesztési minták használata, fontosabb könyvtárak
áttekintése. |
|
5. |
Kliensoldali
keretrendszerek alkalmazása és Single page application architektúrájú
mobilalkalmazás fejlesztése. |
|
6. |
Modul-keretrendszerek
megismerése, preprocesszor-technológiák alkalmazása, teljesítményelemző
eszközök. Adattárolási és hálózati technológiák megismerése, aszinkron
programozás elsajátítása Javascript környezetben. |
|
7. |
PhoneGap
alapjainak alkalmazása, mobilspecifikus API-k használata. |
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.