Arquiteturas Móveis

Conhecimentos de Base Recomendados

  • Programação orientada a objectos
  • Programação em Java

Métodos de Ensino

Os tópicos são abordados nas aulas teóricas com exemplificação sempre que possível dos conceitos apresentados.
Nas aulas práticas são desenvolvidas aplicações académicas que permitem experimentar as tecnologias e componentes mais habituais.
Os slides fornecidos permitem ao aluno, mesmo não frequentando as aulas, acompanhar os tópicos e servirem de base para pesquisa e estudo da bibliografia adequada.

Resultados de Aprendizagem

  • Entender o funcionamento dos sistemas operativos para dispositivos móveis e as especificidades dos mesmos
  • Entender as vantagens e desvantagens no desenvolvimento de aplicações móveis
  • Desenvolver aplicações nativas para dispositivos móveis
  • Desenvolver aplicações cross-platform

Programa

  • Conceitos sobre sistemas móveis, sistemas disseminados e sistemas ubíquos
  • Conceitos sobre desenvolvimento de aplicações para dispositivos móveis
  • Programação de aplicações para dispositivos móveis
    • Componentes constituintes de uma aplicação móvel
    • Ciclo de vida de uma aplicação
    • Definição de ecrãs e componentes visuais
    • Mecanismos de interação com o utilizador
    • Visualização de listas de dados
    • Persistência de dados
    • Realização de tarefas assíncronas
    • Comunicação com outros dispositivos e Web services
    • Sistemas de localização
    • Sensores
    • Captura de imagens
  • Desenvolvimento de aplicações cross-platform
    • Vantagens e desvantagens do desenvolvimento cross-platform
    • Desenvolvimento de aplicações baseado em componentes
  • Deployment de aplicações móveis

Docente(s) responsável(eis)

João Manuel Pena Afonso de Abrunhosa

Métodos de Avaliação

A avaliação, na escala 0..20, será realizada através das seguintes componentes:

  • Exame escrito - 12 valores
    • Prova individual, com consulta limitada, incidindo sobre todos os conteúdos da unidade curricular.

    • Nota mínima: 35%.

  • Trabalhos práticos - 8 valores
    • 2 trabalhos realizados em grupos de, no máximo, dois elementos.
      • Android nativo em Kotlin: enunciado até final de outubro; 4 valores Validação Funcional (VF) + 2 valores Defesa Oral (DO).

      • Flutter: enunciado até final de novembro.; 1 valor VF + 1 valor DO.

    • Nota mínima: 35% em cada trabalho.

    • A Validação Funcional (VF), realizada nas aulas práticas, verifica o cumprimento dos requisitos funcionais e técnicos.
    • A Defesa Oral (DO) é individual e opcional

      • realiza-se uma única vez para os dois trabalhos e consiste na apresentação, justificação e resposta a questões sobre os trabalhos desenvolvidos.

      • poderá confirmar, aumentar ou diminuir a classificação obtida na VF, em função dos conhecimentos e do domínio demonstrados individualmente

      • Um aluno que não realize esta defesa terá o exame escrito cotado para 15 valores

    • Atrasos: penalização de 5% da cotação do trabalho por cada hora de atraso.

    • Ausência de entrega: A ausência de um ou de ambos os trabalhos implica a realização, no dia do exame, de uma prova prática escrita correspondente ao(s) trabalho(s) em falta, com a respetiva cotação e nota mínima de 35%.

    • Validade: As classificações dos trabalhos práticos são válidas para todas as épocas de avaliação do ano letivo em curso.

    Estágio(s)

    NAO

    Bibliografia

    Bibliografia principal

    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/

     

    Bibliografia complementar

    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 Careers. http://www.stackoverflow.com