Mobile Architectures

Base Knowledge

  • Object-oriented programming
  • Java programming

Teaching Methodologies

The concepts are presented in lectures with examples, whenever possible.
In practical classes, academic applications are developed that allow the experimentation of the most common technologies and components.
The slides provided allow the student to follow the topics and serve as a basis for research and study of the appropriate bibliography (even when not attending classes).

Learning Results

  • To understand the functioning of operating systems for mobile devices and their specificities
  • To understand the advantages and disadvantages of mobile application development
  • To develop native applications for mobile devices
  • To develop cross-platform applications

Program

  • Concepts about mobile systems, disseminated systems and ubiquitous systems
  • Concepts on application development for mobile devices
  • Mobile application development
    • Components of a mobile application
    • Lifecycle of an application
    • Definition of screens and visual components
    • User interaction mechanisms
    • Lists
    • Data persistence
    • Performing asynchronous tasks
    • Communication with other devices and Web services
    • Location awareness
    • Sensors
    • Image capture (camera)
  • Development of cross-platform applications
    • Advantages and disadvantages of cross-platform development
    • Component-based application development
  • Mobile application deployment

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Main bibliography

Android

  • JetBrains. (n.d.). Kotlin Programming Language. https://kotlinlang.org/
  • Google. (n.d.). Android. http://www.android.com
  • Google. (n.d). Android Developers. http://developer.android.com

iOS

  • Apple. (n.d.). Apple Developer. http://developer.apple.com
  • Apple. (n.d.). Swift – Apple Developer. https://developer.apple.com/swift/

Flutter

  • Google. (n.d.). Flutter. https://flutter.dev
  • Google. (n.d.). Flutter Documentation. https://flutter.dev/docs
  • Google. (n.d.). Dart programming language. https://dart.dev/
  • Google. (n.d.). Dart documentation. https://dart.dev/guides
  • Google. (n.d.). DartPad. https://dartpad.dartlang.org/
  • Google. (n.d.). Dart and Flutter packages. https://pub.dev/

 

Additional bibliography

Android

  • Queirós, R. (2018). Android Profissional – Desenvolvimento Moderno de Aplicações. FCA Editora

Genérico

  • Stack Overflow. (n.d.). Stack Overflow – Where Developers Learn, Share, & Build Careershttp://www.stackoverflow.com