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 AbrunhosaMétodos de Avaliação
A avaliação, na escala 0..20, será realizada através das seguintes componentes
- Exame escrito (5 valores)
- Prova escrita individual e com consulta limitada
- Incide sobre todos os conteúdos da unidade curricular
- Mínimos: 35%
- Trabalhos práticos (12 valores)
- Grupos de 3 elementos, a comunicar até final de Outubro
- 1º Trabalho (9 valores)
- Android nativo em Kotlin
- Enunciado disponível na 1ª semana de Novembro
- Data limite de entrega: 23h59 do dia anterior ao período de apoio a exames
- Mínimos: 35%
- 2º Trabalho (3 valores)
- Flutter
- Enunciado disponível na 2ª semana de Dezembro
- Data limite de entrega: 23h59 do dia anterior ao período de apoio a exames
- Mínimos: 35%
-
Entrega dos trabalhos através do Nónio, através de um ficheiro ZIP, contendo o projecto e o relatório técnico (PDF)
-
Penalização: 5% por cada hora de atraso
-
Defesa obrigatória
-
As notas alcançadas nos trabalhos são válidas para todas as épocas do ano lectivo atual
- Presenças nas aulas (3 valores)
- Por cada aula teórica assistida o aluno acumula 0.1 até um máximo de 1 valor. Se a aula for repartida em 2 blocos de 1 hora, acumula 0.05
- Por cada aula prática assistida o aluno acumula 0.2 até um máximo de 2 valores
- Apenas são contabilizadas as presenças a partir da 2a semana de aulas
- Apenas são contabilizadas as presenças nas aulas da turma em que está oficialmente inscrito
- Os alunos que usufruem de um estatuto que os isenta das presenças nas aulas (ex: trabalhador-estudante) poderão obter os 3 valores através da realização de um teste no final do semestre
- Estes alunos, ao iniciar a realização do teste adicional, abdicam imediatamente de qualquer valorização obtida pela assistência às aulas
- Esta componente não é sujeita a nota mínima.
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