área científica
Informática / Sistemas de Informação
escolaridade
ensino teórico-prático (TP) - 3 horas/semana
idioma(s) de lecionação
a inserir brevemente
objectivos
Handheld devices already dominate software platforms as a result of the rapid convergence of computers and mobile phones. Among the existing solutions to implement mobile enable applications there are multiple options, namely mobile operating systems such Android or iOS, and more recently multiplatform solutions such as Flutter.
There are the popular options, particularly with developers because of its high level API that allows easy integration with hardware (e.g. GPS, accelerometers, etc) and the availability of web services (e.g. maps). Although initially designed for mobile devices, they are becoming appealing for its other usages (e.g. tablets) because of numerous features found primarily in more ‘powerful’ enterprise solutions.
In this course, we will learn to design, implement, and deploy a location/context-aware mobile applications using 2 solutions namely Android, iOS or multiplatform solutions depending on editions and technology main trends. Topics to be covered include basic user interfaces, application design, concurrency, and location-aware and other context-aware programming. The course may need basic web services/REST concepts for their use as application resources.
The course objectives are two-fold:
- Hands-on approach on Android, iOS or other multiplatform. (lab and homework).
- Focus on mobile frameworks design patterns and architectural options and establish a parallel between them.
competências
Esta UC aborda os requisitos, arquiteturas e ambientes de programação, próprios da computação móvel. A UC explora duas plataformas diferentes (tipicamente, Android e iOS, embora possam ser selecionadas outras); ao fazê-lo, pretende-se explorar a riqueza de padrões de desenho observados em cada qual, apoiadas em duas linguagens de programação modernas.
No final da UC, os alunos serão capazes de:
- Identificar e explicar as restrições e oportunidades da computação móvel quando comparada com os paradigmas “tradicionais” (servidor, desktop);
- Explicar a arquitetura, modelo de programação e características dos ambientes de desenvolvimento das plataformas estudadas.
- Implementar aplicações de média complexidade em ambas as plataformas.
- Usar as características diferenciadoras dos dispositivos para criar aplicações sensíveis ao contexto (localização, sensores, notificações, multimédia, etc.)
- Planear a implementar a integração das aplicações com serviços de retaguarda, especialmente na Cloud.
conteúdos
Plataforma móvel entre Android, iOS ou outra dominante
Módulo 1 – Plataforma móvel 1
- Introdução à plataforma, arquitetura das aplicações e ferramentas.
- Padrões de desenho e boas práticas
- Laboratórios de desenvolvimento de aplicações (interação com o utilizador, conetividade, adaptação ao ambiente do utilizador, etc.)
- Projeto integrador
Módulo 2 – Plataforma móvel 2
- Introdução à plataforma, arquitetura das aplicações e ferramentas.
- Padrões de desenho e boas práticas (e análise comparada)
- Laboratórios de desenvolvimento de aplicações
- Projeto integrador
avaliação
A avaliação da UC é contínua com componente individual (30%) baseada em 2 teste (1 por cada plataforma) e numa componente de projectos (70%) suportada na avaliação das aplicações implementadas nos módulos 1 e 2 incluído relatório, apresentação e demos.
requisitos
Advisable to have some programming experience (e.g. Java, python )
metodologia
A UC está dividida em 2 módulos que abordam cada um uma plataforma móvel.
Os módulos 1 e 2 são suportados essencialmente em sessões laboratoriais , precedidas por uma exposição sobre várias aspectos relevantes (e.g. modelo de programação, interfaces programáticos e com utilizador , etc ) seguida de exercícios prácticos onde existe a oportunidade de aplicar os mesmos tópicos. abordar - materiais de referência e leitura são fornecidos para suportar os exercícios. O resultados destes dois módulos é uma aplicação implementada na plataforma abordada no módulo. As aplicações são implementadas por grupos de 2 alunos.
bibliografia recomendada
Given the quick technological evolution on this field, any attempt to establish a bibliography specific on the framework is unrealistic
Besides the official online information, Apress and Packt are recommend.
Android Developer
http://developer.android.com/index.html
iOS developer center
https://developer.apple.com/devcenter/ios/index.action
Flutter dev
https://flutter.dev/docs/get-started/install