Publicação em Diário da República: Aviso n.º 12718/2016 - 19/10/2016
6 ECTS; 2º Ano, 1º Semestre, 60,0 PL + 30,0 TP , Cód. 620016.
Docente(s)
(1) Docente Responsável
(2) Docente que lecciona
Pré-requisitos
Conhecimentos aprofundados da linguagem de programação C#.
Conhecimentos básicos de XAML/XML não são obrigatórios, mas são uma mais valia
Objetivos
Aprender e dominar o desenvolvimento de aplicações, com e sem persistência e de dados, para dispositivos móveis em plataformas Android e iOS, utilizando a framework Xamarin.Forms.
Programa
Cap. 1 Conceitos básicos sobre Xamarin.Forms
- Desenvolvimento Xamarin nativo vs Xamarin.Forms
- Desenvolvimento Multi-Plataforma
- Código partilhado
- Ambientes de desenvolvimento integrados
- Emuladores e Simuladores
- Portable Class Library (PCL) Apps vs Shared Asset Project (SAP) Apps
- Estrutura de ficheiros de uma solução Xamarin.Forms
Cap. 2 Os projetos Android e iOS
- A view Label
- Padding
Cap. 3 Utilização de Texto
- Parágrafos
- Cores do Texto e do Fundo
- A Estrutura Color
- Esquema de cores padrão
- Tamanho e atributos da Fonte
- Formatação de Texto
Cap. 4 StackLayout e Scrolling
- O modelo de apresentação de views
- Conteúdo deslizante (Scrolling)
- Frame e BoxView
- ScrollView sobre uma StackLayout
Cap. 5 Dimensões
- Pixeis, Points,dps, DIPs e DIUs
- Unidades métricas
- Tamanho estimado da Fonte
- Ajustar tamanho do texto
Cap. 6 Botões e Evento Clicked
- Evento Clicked nos Botões
- Partilha do Evento Clicked em botões distintos
- Event Handlers Anónimos
- Diferenciação de Views através de IDs
- Salvaguarda de informação pendente
Cap. 7 Utilização de XAML
- Propriedades e Atributos
- Adicionar código XAML ao projeto
- Formatação de Texto
- Passagem de argumentos
- x: Nome do Atributo
- Views personalizadas baseadas em XAML
- Events e Handlers
- Gestos
Cap. 8 Chamadas a API dependentes da plataforma
- Pré-processamento em SAP
- Classes Paralelas e SAP
- DependencyService e PCL
- Produção de sons dependente da plataforma
Cap. 9 Markup Extentions do XAML
- Estrutura do código
- Acesso a membros estáticos
- Dicionário para acesso a objectos
- Outras markup extentions
Cap. 10 A estrutura da classe Bindable
- A hierarquia das classes do Xamarin.Forms
- BindableObjects e BindableProperty
- Definir propriedades bindable
Cap. 11 Estilos (Styles)
- O estilo básico
- Estilos no código
- Herança de estilos
- Estilos implícitos
- Estilos dinâmicos
- Estilos e dispositivos
Cap. 12 Bitmaps
- Bitmaps independentes da plataforma
- Streaming de bitmaps
- Bitmaps dependentes da plataforma
Cap. 13 O layout AbsoluteLayout
- Características do AbsoluteLayout
- Propriedades attached bindable
- Dimensões, coordenadas e posicionamento proporcionais
- XAML e o AbsoluteLayout
- Overlays
Cap. 14 Elementos interativo da interface
- Slider e Stepper
- Switch e Checkbox
- Introdução de texto
- Seleção de data e hora
Cap. 15 Data Binding: Parte I
- Código e XAML
- Source e BindingContext
- Binding mode
- Formatação de strings
- A propriedade Path
- Conversão de valores de Binding
- Bindings e views personalizadas
Cap. 16 O objeto Grid e Coleções
- Grid
- Picker
- ListView
- ListView e o MVVM
- TableView
Cap. 17 Navegação entre páginas
- Páginas Modais e Não-Modais
- Tipos de navegação
- Transferência de dados entre páginas
- Salvaguarda e recuperação da stack de navegação
Cap. 18 Tipos de Páginas
- Páginas Master-Detail
- Páginas com separadores (Tabbed pages)
Cap 19 Data Binding: Parte II e Acesso a Dados
- Introdução
- A base de dados SQLite
- A biblioteca SQLite.NET
- Data Binding
- A interface INotifyPropertyChanged
- ViewModels e o MVVM
- Binding a ViewModels e Data Models
- Utilização da biblioteca SQLite.NET
- Criação de uma base de dados
- Incluir uma base de dados previamente criada
- Definição do caminho (path) da base de dados
- Ligação à BD usando PCL
- Ligação em Android
- Ligação em iOS
- Criação de Tabelas
- Utilização de atributos
- Selecionar, Inserir, Atualizar e Apagar registos
- Trancar (Lock) registos
- Criação Layer de Acesso a Dados (DAL)
- Criação do repositório
- Manipulação do repositório
- Adicionar métodos ao repositório
Metodologia de avaliação
- Projeto de desenvolvimento de uma aplicação Cross-Platform, para iOS e Android (Peso 100%).
Os projectos têm discussão obrigatória.
Bibliografia
- Hermes, D. (2015). Xamarin Mobile Application Development. (pp. 297-337). California: Apress
- Petzold, C. (2016). Creating Mobile Apps with Xamarin.Forms. (pp. 1-1050). Redmond: Microssoft Press
Método de Ensino
Aulas teórico-práticas expositivas onde se descrevem os conceitos fundamentais. Aulas práticas de resolução de casos práticos e aplicação dos conceitos a cenários de utilização real.
Software utilizado nas aulas
Visual Studio;
Android SDK;
XCode;