Skip to main content
Skip header

Design of Applications for Mobile Devices I

Type of study Bachelor
Language of instruction Czech
Code 460-2019/03
Abbreviation TAMZ I
Course title Design of Applications for Mobile Devices I
Credits 4
Coordinating department Department of Computer Science
Course coordinator Ing. Pavel Moravec, Ph.D.

Subject syllabus

Syllabus of lectures:
* Introduction to design of applications for mobile devices, technology overview and their share on mobile devices, development environments. Mobile platform architectures, target devices, relation to other technologies.
* Basic principles used during mobile platform design, targeted on devices with limited hardware abilities. Development and life-cycle of mobile applications.
* Over-the-Air Provisioning (OTA) architecture. Deployment of applications via Internet.
* Universal frameworks used for multi-platform application development independently on mobile operating system.
* Platform-independent inter-application communication - Web services, AJAX, CORS.
* Technologies used for HTML5 and JavaScript based mobile application development - HTML5, CSS3, ...
* Multi-threaded and worker-based approach and related problems.
* Working with forms, graphics and sound.
* Extension APIs: API and its version detection. API examples: messaging, multimedia support, geolocation, orientation, examples of some other APIs
* File access, JSON and XML processing.
* Communication with other devices - network communication, Bluetooth.
* Application signing principles, sensitive APIs for different technologies. Limitations of unsigned applications depending on target platform.
* Debugging, code optimization, (partial) obfuscation as a protection method against reverse engineering. Automatic application startup based on external events, timer or during mobile OS startup.


The computer labs focus on obtaining of practical experience in the design of applications for mobile devices. Students will implement simple applications during the labs, following the topics addressed during lectures.

Syllabus of computer exercises:
* Basic work with developmnent environment, installation of plugins required for mobile development. Execution of developed code in emulator/simulator or on mobile devices.
* Record processing, serialization into binary (or string) format, internal storage and startup data for next execution.
* Basic GUI elements (high-level).
* HTTP, websockets, server-sent events and how to use them.
* Visual and Application Properties, especially fine-tuning the application with their use.
* Working with Canvas, keypress and touch events.
* Development of a simple 2D game.
* Working with sound and multimedia.
* Using features specific for mobile platforms (camera, orientation, geolocation).
* File access.
* Communication with a server using JSON.

Project requirements:
The students will be assigned a project, which they will implement. The time required to finish the project is approximately 21 hours. The project topic will be a mobile application or game, observing the formal requirements and using at least 3 advanced technologies/APIs covered in lectures and labs.

E-learning

Materials are available at https://lms.vsb.cz/?lang=en.

Literature

A. Kosmaczewski: Mobile JavaScript Application Development, O'Reilly Media, 2012, ISBN: 978-1-4493-2785-9 
J. Reid: JQuery Mobile, O'Reilly Media, Inc., 2011, 9781449306687.
P. Retting: Professional HTML5 Mobile Game Development, John Wiley & Sons (14 Sep 2012), ISBN: 978-1118301326 
D. Harkey, S. Appajodu, M., Wireless Java Programming for Enterprise Applications: Mobile Devices Go Corporate, John Wiley & Sons, ISBN 0471218782.

Advised literature

J. M. Wargo: PhoneGap Essentials: Building Cross-platform Mobile Apps, Addison-Wesley Professional, 2012, ISBN 9780321814296 .
J. Munro: 20 Recipes for Programming PhoneGap, O'Reilly Media, ISBN: 978-1-4493-1954-0 
A. Kosmaczewski: Sencha Touch 2 Up and Running, O'Reilly Media; 1 edition (27 Feb 2013), ISBN: 978-1449339388 .