para Dispositivos
Móveis
Curso Técnico Superior Profissional
Desenvolvimento para Dispositivos Móveis
Área Científica
481 – Ciências Informáticas
Duração
Semestral
Unidade Curricular
Programação Back-End
ECTS
3
Horas de Contacto Teórico Práticas
50h
Objetivos da Aprendizagem
1. Desenvolver aplicações back-end completas e escaláveis utilizando as principais linguagens e frameworks atuais;
2. Projetar e implementar APIs RESTful eficientes e seguras;
3. Trabalhar com diferentes bases de dados relacionais e NoSQL;
4. Utilizar ferramentas e práticas modernas para o desenvolvimento de back-end;
5. Lidar com desafios comuns de desenvolvimento de back-end e construir soluções robustas.
Conteúdos Programáticos
1. Introdução à Programação para Back-end.
1.1. Conceitos básicos;
1.2. O que é o back-end e a sua importância no desenvolvimento de software?;
1.3. Arquiteturas de back-end (monolítica, microservice, serverless);
1.4. APIs e RESTful;
1.5. Base de dados e NoSQL.
2. Linguagens de programação back-end.
2.1. Python: Sintaxe básica, tipos de dados, estruturas de controlo, funções, módulos e pacotes;
2.2. JavaScript: Sintaxe ES6+, async/ await, promises, módulos e frameworks (Express.js, NestJS);
2.3. Java: Sintaxe básica, orientação a objetos, interfaces, exceções e frameworks (Spring Boot);
2.4. Desenvolvimento com Python para Back-end.
3. Django Framework.
3.1. Criação de projetos e aplicações Django;
3.2. Modelagem de dados com Django ORM;
3.3. Views e templates para renderizar interfaces web;
3.4. Sistema de autenticação e autorização;
3.5. Deploy de aplicações Django.
4. Bibliotecas e ferramentas Python.
4.1. SQLAlchemy para acesso a base de dados;
4.2. Celery para tarefas assíncronas;
4.3. Flask para desenvolvimento de APIs RESTful;
4.4. Plotly e Matplotlib para visualização de dados;
4.5. Desenvolvimento com JavaScript para Back-end;
4.6. Express.js Framework;
4.7. Criação de APIs RESTful com Express;
4.8. Middleware para pré-processamento e pós-processamento de requisições;
4.9. Validação de dados e manipulação de erros;
4.10. Deploy de aplicações Express;
4.11. NestJS Framework;
4.12. Arquitetura modular e injeção de dependências;
4.13. Criação de APIs RESTful com NestJS;
4.14. Validação de dados e manipulação de erros;
4.15. Deploy de aplicações NestJS.
5. Bibliotecas e ferramentas JavaScript.
5.1. Mongoose para acesso a bases de dados NoSQL;
5.2. JWT para autenticação e autorização;
5.3. Socket.io para comunicação em tempo real;
5.4. Desenvolvimento com Java para Back-end.
6. Spring Boot framework.
6.1. Criação de aplicações Spring Boot;
6.2. Injeção de dependências e anotações;
6.3. REST Controllers e APIs RESTful;
6.4. Integração com bases de dados;
6.5. Deploy de aplicações Spring Boot.
Bibliografia e recursos didáticos recomendados
Philip Ackermann, Full Stack Web Development: The Comprehensive Guide (Rheinwerk Computing), SAP PRESS (a division of Rheinwerk Publishing); New edition (26 Sept. 2023).
Greg Lim, Beginning Django API with React: Build Django 4 Web APIs with React Full Stack Applications, Independently published (13 Feb. 2022).
David Choi, Full-Stack React, TypeScript, and Node: Build cloud-ready web applications using React 17 with Hooks and GraphQL, Packt Publishing (18 Dec. 2020).
Laurence Lars Svekis, JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages, Packt Publishing (15 Dec. 2021).
Andy Vickler, Javascript: Javascript Back End Programming, SAMMIE SMITH, FULL STACK WEB DEVELOPMENT GUIDE: Everything HTML 5, CSS 3, Bootstrap 4, JavaScript, jQuery, GIT, GITHUB, and Version Control for Modern Web Development, Independently published (3 Aug. 2022).
INTERNET:
Acesso a publicações da especialidade, gratuitamente, através da rede SPRINGER: