FF:PLIN045 Zákl. vývoje multiplat. aplik. - Informace o předmětu
PLIN045 Základy vývoje multiplatformních aplikací
Filozofická fakultapodzim 2016
- Rozsah
- 0/2/0. 5 kr. Ukončení: z.
- Vyučující
- Mgr. Richard Holaj, Ph.D. (přednášející), doc. PhDr. Zdeňka Hladká, Dr. (zástupce)
- Garance
- doc. PhDr. Zdeňka Hladká, Dr.
Ústav českého jazyka – Filozofická fakulta
Kontaktní osoba: doc. PhDr. Zdeňka Hladká, Dr.
Dodavatelské pracoviště: Ústav českého jazyka – Filozofická fakulta - Rozvrh
- St 12:30–14:05 G13
- Předpoklady
- Základní znalost HTML, CSS výhodou. Předchozí zkušenosti s programováním nejsou nezbytné. Zápis předmětu se nedoporučuje studentům prvního ročníku bakalářského studia.
- Omezení zápisu do předmětu
- Předmět je určen pouze studentům mateřských oborů.
Předmět si smí zapsat nejvýše 20 stud.
Momentální stav registrace a zápisu: zapsáno: 0/20, pouze zareg.: 0/20 - Mateřské obory/plány
- Český jazyk se specializací počítačová lingvistika (program FF, B-FI)
- Český jazyk se specializací počítačová lingvistika (program FF, N-FI)
- Cíle předmětu
- Cílem předmětu je naučit studenty praktickým dovednostem nezbytným pro vývoj moderní multiplatformní (WP, iOS, Android, desktop) aplikace ve frameworku AngularJS. Předmět pokrývá celý proces vývoje od prvotní ideje a konceptuálního návrhu přes inkrementální vývoj prototypu až po samotné nasazení aplikace pro jednotlivá zařízení. Studenti budou během celého semestru pracovat v 3-4členných týmech na aplikaci, jejíž koncept během prvních týdnů semestru sami vymyslí. Důraz bude kladen na využívání nástrojů týmové spolupráce používaných při vývoji reálných aplikací a na agilní přístup k vývoji. Během semestru bude každý tým prezentovat ideu a koncept své aplikace, prototyp aplikace a na závěr semestru pak výslednou aplikaci.
- Osnova
- Zpracování ideového a grafického konceptu aplikace (funkční a nefunkční požadavky, wireframe); agilní vývoj a nástroje týmové spolupráce – verzování (Github, Stash, Bitbucket, SourceTree, ...), komunikace (HipChat, Slack, ...), issue tracking (Redmine, JIRA, Trello, Habitica, ...), IDE (WebStorm, Brackets, Sublime, Code, ...)
- Návrh architektury aplikace (backend, frontend, 3rd party služby), návrh API a reprezentace datových struktur (Firebase, JSON)
- Prezentace konceptu a API
- Syntaktické základy jazyka JavaScript – proměnné, řízení průchodu programem (podmínky, cykly), funkce, prototypy, closures
- Základní principy frameworku AngularJS – direktivy, modely, controllery, služby, filtry, two-way binding, scoping, komponenty, routing (ui-router), šablony, built-in direktivy
- Návrh fullstack aplikace ve frameworku AngularJS – složková struktura, dependency management (npm, bower), buildování aplikace (gulp), good practise patterns
- Napojení klientské aplikace na Firebase API – využití js-data, Restangular, $resource; uživatelský vstup
- Práce s multimédii – RecordRTC, Videogular; Fileupload – ng-drop; autentizace a autorizace (Firebase auth, jwt)
- Prezentace prototypu aplikace
- EDD (Event Driven Development) – websockets, EventHandling, $rootscope eventing; Generování mobilní aplikace – Cordova, PhoneGap, Ionic framework; Generování desktopové aplikace – Electron Framework
- Zajímavé knihovny – lodash, websockets, ...; konzultace k projektům
- Závěrečná prezentace projektů
- Literatura
- doporučená literatura
- ŠOCHOVÁ, Zuzana a Eduard KUNCE. Agilní metody řízení projektů. 1. vyd. Brno: Computer Press, 2014, 175 s. ISBN 9788025141946. info
- ZAKAS, Nicholas C. Javascript pro webové vývojáře : programujeme profesionálně. 1. vyd. Brno: Computer Press, 2009, 832 s. ISBN 9788025125090. info
- Výukové metody
- Cvičení na počítači
- Metody hodnocení
- Za docházku, vypracování skupinového projektu a průběžné prezentace projektu
- Informace učitele
- http://scarted.net/vzdelani/vyuka/plin045/
Dokumentace a zdroje k použitým nástrojům a technologiím:
https://firebase.google.com
http://www.w3schools.com/js/
https://developer.mozilla.org/cs/docs/Web/JavaScript
https://angularjs.org/
https://www.codeschool.com/courses/shaping-up-with-angular-js
https://github.com/johnpapa/angular-styleguide
http://gulpjs.com/
https://www.npmjs.com/
http://bower.io/
https://github.com/js-data/js-data-angular
https://github.com/angular-ui/ui-router
http://www.videogular.com/
https://github.com/AngularClass/angular-websocket
https://lodash.com/
https://cordova.apache.org/
http://phonegap.com/
http://ionicframework.com/
http://electron.atom.io/ - Další komentáře
- Studijní materiály
- Statistika zápisu (podzim 2016, nejnovější)
- Permalink: https://is.muni.cz/predmet/phil/podzim2016/PLIN045