Mobile Apps Development


The course introduces the student to the development of mobile applications, focusing on native applications for Android and IOS with native technologies, native multiplatform development and mobile and hybrid web applications. At the end of the course the student should be able to:

  • Know the main mobile development environments
  • Characterize and distinguish mobile, hybrid and native web applications
  • Design and develop native Android apps
  • Develop native applications for IOS
  • Get use of frameworks for cross-platform native development
  • Know how to develop mobile and hybrid web applications using web technologies
  • Understand how to publish your app

General characterization





Responsible teacher

José Américo Alves Sustelo Rio


Weekly - Available soon

Total - Available soon

Teaching language

Portuguese. If there are Erasmus students, classes will be taught in English


Participants should have prior theoretical and practical knowledge of general programming and web programming


Bibliografia Recomendada / Recommended Reading

  • Slides da disciplina criados pelo docente, disponíveis na plataforma de e-learning (à medida que os temas forem introduzidos) / Curricular Unit Slides by the teacher.
  • Official Web resources
  • Phillips, B., Stewart, C., Hardy, B., & Marsicano, K. (2017) - Android Programming: The Big Nerd Ranch Guide (3rd Edition), Atlanta, GA: Big Nerd Ranch. ISBN:978-0134706054
  • Griffiths, D., & Griffiths, D. (2017). Head First Android Development (2nd edition). O?Reilly Media. ISBN: 978-1491974056
  • Keur, C., & Hillegass, A. (2017). iOS Programming: The Big Nerd Ranch Guide (6th ed.). Big Nerd Ranch. ISBN: 978-0134682334
  • Firtman, M. (2013). Programming the Mobile Web (2nd ed.). Sebastopol, CA: O?Reilly Media. ISBN: 978-1-4493-3497-0


Hermes, Dan. Xamarin Mobile Application Development: Cross-Platform C# and Xamarin.Forms Fundamentals 1st Edition ? ISBN 978-1484202159

Teaching method

The curricular unit is based on theoretical-practical classes and laboratory classes. The theoretical-practical classes include presentation of concepts and methodologies and discussion, as well as demonstration of problem solving.

The laboratory classes are intended for the resolution of some exercises proposed. The students will have the teacher support in these exercises.

Evaluation method

1st Season: Test 1 (25%); Test 2 (25%); Final project (50%);

2nd Season: Exam (50%); Final project (50%)

Subject matter

  1. Introduction to mobile development
  2. Android - Development of native applications
  3. Android - Applications with database and other type of persistence
  4. Android - Applications using internet, web, and data online / webservices
  5. Android - Applications with multimedia and graphics.
  6. Android - Applications with maps and location.
  7. IOS - Native Development
  8. IOS - Applications with database and data online / webservices
  9. Multiplatform native development (ex: Visual Studio with Xamarin)
  10. Mobile and Hybrid Web Applications