Estudo Tecnologias Back-end¶
Estrutura do Repositório¶
Este documento reúne um estudo inicial sobre tecnologias utilizadas no desenvolvimento back-end, abordando linguagens de programação, frameworks, APIs REST e bancos de dados. O objetivo é apresentar opções e características para auxiliar na definição das tecnologias do projeto.
1. Escolha da Linguagem¶
Para a escolha da linguagem de programação a ser utilizada, foram consideradas inicialmente duas opções principais. A decisão permanece aberta para sugestões e discussão em grupo.
Opções consideradas¶
-
JavaScript (Node.js): Permite utilizar a mesma linguagem tanto no front-end quanto no back-end, facilitando a integração entre as camadas da aplicação. É uma excelente escolha para desenvolvimento de APIs e aplicações em tempo real. Como desvantagem, pode ser menos estruturado e gerar maior complexidade na organização do código.
-
Python: Possui um grande ecossistema de bibliotecas e frameworks voltados para APIs, inteligência artificial e automação. É amplamente utilizado devido à sua simplicidade e facilidade de aprendizado. Como ponto negativo, pode apresentar desempenho inferior em alguns cenários quando comparado a outras opções.
Material complementar¶
https://www.youtube.com/watch?v=2OP8ubKnyfo
2. Frameworks Back-end¶
Os frameworks auxiliam na organização e aceleração do desenvolvimento da aplicação, oferecendo estruturas prontas e recursos úteis.
Frameworks analisados¶
-
Django (Python): Framework completo, com muitos recursos integrados e forte foco em segurança. Em contrapartida, pode ser mais pesado e menos flexível para projetos menores.
-
Flask (Python): Framework leve, simples e altamente flexível. Permite maior controle sobre a arquitetura, porém exige configuração manual de diversos componentes.
-
Express (Node.js): Framework minimalista e rápido para criação de APIs e aplicações web. Oferece bastante liberdade, mas exige maior atenção dos desenvolvedores em relação à estrutura e segurança.
3. APIs REST¶
As APIs REST são um padrão de comunicação entre sistemas que utilizam o protocolo HTTP para troca de informações. Elas permitem que diferentes aplicações, como front-end e back-end, se comuniquem de forma simples e organizada.
Nesse modelo, os dados são tratados como recursos (por exemplo, usuários ou produtos) e manipulados por meio dos principais métodos HTTP:
- GET: Buscar dados
- POST: Criar novos dados
- PUT/PATCH: Atualizar dados existentes
- DELETE: Remover dados
As informações geralmente são transmitidas no formato JSON, que é leve e fácil de interpretar.
Esse tipo de API é amplamente utilizado por ser simples, padronizado e independente de tecnologia, facilitando a integração entre diferentes sistemas.
Material complementar¶
https://www.youtube.com/watch?v=S7MduKwvVGk&t=239s
4. Bancos de Dados¶
Existem dois principais tipos de bancos de dados: relacionais e não relacionais. Cada um possui vantagens e desvantagens que devem ser consideradas conforme as necessidades do projeto.
Tipos de bancos de dados¶
-
Relacional: Possui estrutura organizada em tabelas, maior integridade dos dados e é ideal para sistemas tradicionais que exigem consistência. Como desvantagem, apresenta menor flexibilidade para mudanças estruturais.
-
Não relacional (NoSQL): Oferece maior flexibilidade e facilidade de escalabilidade, sendo ideal para dados variáveis ou aplicações distribuídas. Em contrapartida, pode oferecer menor controle sobre a consistência dos dados.
Material complementar¶
https://www.youtube.com/watch?v=--s6RQ3Me3A
Objetivo¶
Garantir uma visão geral das principais tecnologias back-end disponíveis, permitindo comparar alternativas e apoiar a escolha das ferramentas mais adequadas para o desenvolvimento do projeto.