Programação para Internet

Conhecimentos de Base Recomendados

N. A. 

Métodos de Ensino

Nesta unidade curricular são utilizadas as seguintes metodologias de ensino:

Método expositivo: método explicativo onde factos, conceitos, princípios e generalizações são definidos e apresentados pelo professor e discutidos com a turma, seguido de exemplos demonstrativos;

Método experimental: método ativo onde o aluno desenvolve o conhecimento através da resolução de problemas e o desenvolvimento de projetos em dinâmica de grupo e trabalho individual e refletivo. 

Resultados de Aprendizagem

Identificar as principais utilizações da Internet;
Descrever o funcionamento de clientes e servidores web;
Descrever o funcionamento do protocolo HTTP;
Estruturar e planear uma aplicação Web;
Testar páginas web com vista a identificar problemas e solucionar os mesmos;
Construir folhas de estilos com CSS valido;
Construir páginas web com frameworks de HTML/CSS;
Desenvolver aplicações client-side com JavaScript;
Saber usar uma biblioteca de JS (frameworks JS);

Programa

Hipermédia

  • Utilizações iniciais da Internet
  • Hipertexto
  • Hipermédia
  • Evolução Histórica

Clientes e servidores web

  • Conceitos base
  • Principais tipos de clientes web
  • Browsers
  • Browser engines
  • JavaScript engines
  • Browsers de texto
  • Conceitos base sobre servidores web HTTP (HyperText Transfer Protocol)
  • Definiçao de protocolo
  • Evolução do protocolo HTTP
  • A estrutura das transações (pedidos e respostas)
  • Principais cabeçalhos
  • Os diversos métodos (GET, POST, PUT, DELETE, HEAD, …)

HTML (HyperText Markup Language)

  • Conceitos base
  • Estrutura base de um documento HTML
  • Validação de documentos HTML
  • Metatags
  • As tags elementares (p, a, hr, br, img, h1…h6)
  • Listas
  • Tabelas
  • Formulários
  • Destaques
  • Contentores genéricos
  • Contentores semânticos
  • Multimédia (video, áudio, canvas)

CSS (Cascading Style Sheets)

  • Conceitos base
  • Validação de ficheiros CSS
  • Regras de estilo
  • As diferentes formas de definir estilos (inline, interna, externa)
  • Os principais seletores
  • Formatação de texto
  • Cores e backgrounds
  • Propriedades de formatação do box-model
  • Pseudo classes e pseudo elementos
  • Posicionamento de imagens e tabelas
  • Formatação de listas
  • Tipos de posicionamento (static, absolute, relative, fixed)
  • Flexbox
  • Construção de layouts assente em grelhas
  • Responsive design
  • Transformações 2D e 3D
  • Transições
  • Animações

Frameworks de CSS/HTML

  • Conceitos base
  • Construção de layouts recorrendo a frameworks de CSS/HTML

JavaScript

  • Conceitos base
  • As várias formas de utilizar JavaScript (inline, interna e externa)
  • Eventos
  • Funções
  • Variáveis e tipos de dados
  • Operadores
  • Estruturas de controlo
  • Ciclos
  • Manipulação de strings
  • Manipulação de arrays
  • Manipulação de formulários
  • Programação orientada a objetos
  • Web storage
  • Cookies
  • Manipulação do DOM
  • Fetch API

Framework JS (React)

  • Introdução ao funcionamento da Framework
  • Base
    • JSX
    • Eventos
    • Import/Export
    • Propriedades
    • Componentes
    • Estilos
    • Formulários
    • Ciclo de Vida
    • Router
    • Pedidos Web / Requests
    • Organização / Estrutura

Docente(s) responsável(eis)

Estágio(s)

NAO

Bibliografia

Abreu, L. (2015). HTML 5 (4a edição). FCA.
Remoaldo, P. (2011). CSS 3. FCA.
Queirós, R. (2017). Criação rápida de sites responsivos com o Bootstrap. FCA.
Abreu, L., & Carreiro, J. P. (2015). JavaScript 6. FCA.
Portela, F., & Queirós, R. (2018). Introdução ao desenvolvimento moderno para a web. FCA.
Portela, F., & Queirós, R. (2020). Desenvolvimento moderno para a web – do front-end ao back-end. FCA.
Crockford, D. (2008). JavaScript: The Good Parts. O’Reilly Media.
Flanagan, D. (2011). JavaScript: The Definitive Guide. O’Reilly Media.
Haverbeke, M. (2018). Eloquent Javascript. No Starch Press.