PLIN045 Introduction to development of multiplatform applications

Faculty of Arts
Autumn 2019
Extent and Intensity
0/2/0. 5 credit(s). Type of Completion: z (credit).
Teacher(s)
RNDr. Zuzana Nevěřilová, Ph.D. (lecturer)
Mgr. Richard Holaj (assistant)
Guaranteed by
RNDr. Zuzana Nevěřilová, Ph.D.
Department of Czech Language - Faculty of Arts
Contact Person: doc. PhDr. Zdeňka Hladká, Dr.
Supplier department: Department of Czech Language - Faculty of Arts
Prerequisites
Basic knowledge of HTML and CSS is advantage. Previous experience with programming is not necessary. Enrollment is not recommended for students of the first year of undergraduate study.
Course Enrolment Limitations
The course is only offered to the students of the study fields the course is directly associated with.

The capacity limit for the course is 20 student(s).
Current registration and enrolment status: enrolled: 2/20, only registered: 0/20
Fields of study the course is directly associated with
Course objectives
The aim of the course is to teach students practical skills essential for the development of modern multi-platform (WP, iOS, Android, desktop) applications in AngularJS framework. The course covers the entire development process from initial idea and conceptual design through incremental development of the prototype up to the actual deployment of the application for each device. Students will work throughout the whole semester in teams (3 to 4 members) on the application, the concept of application will be proposed by themselves during the first weeks of the semester. Emphasis will be placed on the use of collaboration tools used in the development of real applications and agile approach to development. During the semester, each team will present the idea and concept of their application, the application prototype and complete application at the end of the semester.
Learning outcomes
After finishing this course, student will be able to: - understand the area and technologies of programming multiplatform applications, - use online sources for extending his knowledge in this area and possible also for its application, - design, implement and compile multiplatform application based on its description, - use acquired knowledge and skills in further study and projects.
Syllabus
  • 1. Developing of application's idea and graphic concept (functional and non-functional requirements, wireframe); agile development and team collaboration tools – versioning (Github, Stash, Bitbucket, SourceTree, ...), communication (HipChat, Slack, ...), issue tracking (Redmine, JIRA, Trello, Habitica, ...), IDE (WebStorm, Brackets, Sublime, Code, ...).
  • 2. Application architecture design (backend, frontend, 3rd party services), API design and representation of data structures (Firebase, JSON).
  • 3. Presentation of concept and API.
  • 4. Basics of JavaScript syntax – variables, flow control (conditions, loops), functions, prototypes, closures.
  • 5. Basic principles of AngularJS framework – directives, models, controllers, services, filters, two-way binding, scoping, components, routing (ui-router), templates, built-in directives.
  • 6. Design of fullstack application in AngularJS gramework – directory structure, dependency management (npm, bower), application building (gulp), good practise patterns.
  • 7. Connecting client application to Firebase API – using js-data, Restangular, $resource; user input processing.
  • 8. Working with multimedia – RecordRTC, Videogular; Fileupload – ng-drop; authentization a authorization (Firebase auth, jwt).
  • 9. Application prototype presentation.
  • 10. EDD (Event Driven Development) – websockets, EventHandling, $rootscope eventing; Generating mobile application – Cordova, PhoneGap, Ionic framework; Generating desktop application – Electron Framework.
  • 11. Interesting libraries – lodash, websockets, ...; projects consultations.
  • 12. Final project presentation.
Literature
    recommended literature
  • ŠOCHOVÁ, Zuzana and 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
Teaching methods
Computer class exercises.
Assessment methods
For attendance, final group project and presentations during semester.
Language of instruction
Czech
Further comments (probably available only in Czech)
Study Materials
The course is taught: every week.
Teacher's information
http://scarted.net/vzdelani/vyuka/plin045/
The course is also listed under the following terms Autumn 2016, Autumn 2017, Autumn 2018.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/phil/autumn2019/PLIN045