Programação para a Web
Esta unidade curricular representa, para a maioria dos alunos, o primeiro contacto com as problemáticas inerentes ao desenvolvimento de aplicações distribuídas, concretizadas sobre a plataforma Web. São introduzidos os principais elementos constituintes da sua arquitetura: Identificação (URIs), Interação (protocolo HTTP) e Formatos (representações: e.g JSON e HTML). Apresenta-se a componente de cliente (web browser) e as respetivas tecnologias normalizadas que lhe estão associadas. Descreve-se a componente de servidor, identificando os principais padrões arquiteturais usados no seu desenvolvimento, demonstrados na prática através da utilização de uma infraestrutura de servidor com significativa adoção na indústria. Durante o processo de ensino/aprendizagem, desenvolve-se uma aplicação Web de pequena ou média complexidade, de modo a praticar os conceitos e tecnologias transmitidas, colocando os alunos perante alguns dos problemas típicos associados à criação deste tipo de aplicações.
Tópicos:
- A arquitetura da World Wide Web: Identificação de recursos (URIs), interação (protocolo HTTP) e formatos de dados (representação).
- Distribuição de conteúdos web (protocolo HTTP).
- Criação e utilização de REST APIs.
- Infraestruturas de suporte à criação da interface com o utilizador em aplicações web e respetivo modelo de programação.
- Componente de cliente (Web browser): descrição da estrutura (HTML), formatação visual (CSS), manipulação programática e atualizações totais e parciais da interface gráfica.
- Componente de servidor: distribuição de conteúdos estáticos; geração dinâmica de conteúdos; modelo de programação no servidor, manutenção de estado (de visualização, de sessão e de aplicação); interceção de pedidos.
- Consequências da distribuição no modelo de programação e respetivas arquiteturas de referência.
- Concretização dos temas estudados através do desenvolvimento de aplicações Web de pequena e média complexidade com suporte para persistência de dados.
Três sessões por semana: 3a e 5a das 17:30 às 20:00; Sábados das 9:30 às 12:00.
Os estudantes que terminam com sucesso este módulo serão capazes de:
- Enquadrar os principais elementos constituintes da arquitetura da World Wide Web;
- Desenhar e consumir Web API que seguem os princípios REST.
- Demonstrar conhecimento teórico-prático sobre as principais normas associadas à componente de cliente (web browser);
- Utilizar o modelo de programação na componente cliente, nomeadamente no acesso dinâmico a conteúdos e tratamento de eventos;
- Utilizar e estender uma tecnologia de servidor com significativa adoção industrial, para criação de aplicações Web de pequena complexidade;
- Desenhar e implementar aplicações web com manutenção de estado de conversação, visualização e edição de dados.
Técnicas de Desenvolvimento de Software
Realiza-se avaliação escrita individual (CT) cobrindo os objetivos de aprendizagem 1 a 2 os objetivos de aprendizagem 4 a 6 são avaliados com base na resolução do trabalho prático, a ser realizado em grupo, sujeito a apresentação oral e discussão (CP). A classificação final é obtida através de 0,4 * CT + 0,6 * CP. Para obter aprovação a classificação mínima de CT e CP é 9,50 valores. O cálculo da classificação final é realizado com arredondamento às décimas das classificações CT e CP.