Course Unit Code | 460-2019/03 |
---|
Number of ECTS Credits Allocated | 4 ECTS credits |
---|
Type of Course Unit * | Choice-compulsory type B |
---|
Level of Course Unit * | First Cycle |
---|
Year of Study * | Second Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| MOR03 | Ing. Pavel Moravec, Ph.D. |
Summary |
---|
The applications developed for mobile devices are becoming more and more common presently. In most cases these applications are targeted for mobile phones and tablets. The most widespread technologies which allow us to develop such applications are based on Java programming language or the combination of HTML, CSS and JavaScript.
Because the devices have a reduced functionality, limited processing power and limited (but usable) network access, we usually do not develop in a desktop-based version of the platform, but with a subset of such platform, extended with parts, containing classes with reduced requirements, limited or mobile device specific functionality.
|
Learning Outcomes of the Course Unit |
---|
The subject aims to introduce students to the basics of mobile development.
After successful completion of the subject the student will be able to
1. Distinguish whether the used platform is suitable for given application
2. Analyze, design and implement simple mobile application
3. Compare the efficiency of mobile application with a desktop-based one
4. Make use of basic set of extension APIs and their use
5. Decide in which manner is the application going to be distributed to the target device and discriminate if the application needs to be digitally signed or not. |
Course Contents |
---|
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 security model: Virtual machine security, security of processed data, especially with standardized protocols: SSL, TLS a and X.509-based techniques.
* 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. |
Recommended or Required Reading |
---|
Required Reading: |
---|
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.
|
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.
|
Recommended Reading: |
---|
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.
|
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. |
Planned learning activities and teaching methods |
---|
Lectures, Tutorials, Experimental work in labs, Project work, Other activities |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Credit and Examination | Credit and Examination | 100 (100) | 51 |
Credit | Credit | 45 (45) | 22 |
Project | Project | 30 | 15 |
Voluntary presentation | Other task type | 15 | 7 |
Examination | Examination | 55 | 20 |