Você está na página 1de 8

ENGENHARIA DE SOFTWARE

2º ANO INFORMÁTICA UNIVERSIDADE DA MAIA

TRABALHO DE PESQUISA - FRAMEWORKS

Professor: Ivo Cris$ano da Silva Santos

Aluna: Cá$a Filipa Almeida da Silva Antunes

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


Índice
Índice ..........................................................................................................................2
Introdução ao Django .................................................................................................3
Origem, história e obje1vos da Framework ...................................................................... 3
Linguagem da Framework ................................................................................................. 3
Componentes e Padrões de Design do Django ..........................................................3
Frontend e Backend: gerenciamento de Templates e processamento de dados ............. 3
Padrão Model-View-Template (MVT) [5][6] .......................................................................... 4
Extensões, Requisitos e Versões ................................................................................4
Plugins, bibliotecas e templates para extensão e facilidade de uso ................................. 4
Requisitos mínimos e instalação........................................................................................ 5
Úl1ma versão disponível e caracterís1cas......................................................................... 5
Django em contexto e conclusão ...............................................................................6
Integração e uso com outras frameworks ......................................................................... 6
Links para website, documentação e recursos adicionais ................................................ 6
Conclusão e perspe1vas futuras para Framework Django ................................................ 7
Bibliografia ..................................................................................................................8

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


Introdução ao Django
Origem, história e obje1vos da Framework

Uma framework é uma plataforma estruturada que fornece uma base sobre a qual
os programadores podem desenvolver aplicações de socware. Django, em específico, é
uma dessas frameworks, de alto nível e em Python, que encoraja o desenvolvimento
rápido de aplicações web, promovendo um design limpo e pragmá$co.

A origem do Django remonta a 2003, quando foi concebido e desenvolvido por


Adrian Holovaty e Simon Willison, que trabalhavam na Lawrence Journal-World, um jornal
de Kansas, Estados Unidos. A intenção original era usar Django para alimentar sites de
nohcias, o que levou ao seu nome, uma homenagem ao famoso guitarrista de jazz Django
Reinhardt. [2]

A primeira versão oficial, o Django 1.0, foi lançada em Setembro de 2008, e desde
então tem sido man$da e atualizada pela Django So@ware FoundaBon. [2]

Os obje$vos desta framework são claros: promover a rapidez, a simplicidade e a


flexibilidade no desenvolvimento de aplicações web. Django segue o princípio DRY (Don't
Repeat Yourself - não te repitas), para reduzir a redundância, e a filosofia MVT (Model-
View-Template), um spin-off da conhecida arquitetura MVC (Model-View-Controller), que
promove a separação de responsabilidades no código. [3]

Linguagem da Framework

Django tem por base a linguagem Python, que é conhecida pela simplicidade e
facilidade de leitura e entendimento. O Python é ó$mo para quem está a começar a
programar, mas é suficientemente forte para criar projetos mais complexos e de grande
dimensão. [4]

Por isso, faz todo o sen$do usar Python no Django. Afinal, um dos principais
obje$vos do Django é facilitar a criação de aplicações web de maneira rápida e eficaz.
Com Python, é possível traduzir ideias complexas em menos linhas de código do que seria
necessário em muitas outras linguagens. Ou seja, ao usar Django, os programadores
ganham uma ferramenta muito poderosa para o desenvolvimento web. Para além disso,
a grande comunidade de programadores Python e a abundância de bibliotecas
disponíveis aumentam ainda mais as capacidades e potencialidades do Django.

Componentes e Padrões de Design do Django


Frontend e Backend: gerenciamento de Templates e processamento de dados

Django lida tanto com o frontend como com o backend de uma aplicação web,
tornando mais eficiente todo o processo de desenvolvimento. No lado do frontend,
Django oferece um sistema de templates, que simplifica a criação de páginas HTML
dinâmicas. Este sistema é altamente personalizável e permite inserir a lógica de Python

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


no código HTML, facilitando a criação de páginas que se adaptam com base nos dados
recebidos. [1.2]

O sistema de templates de Django u$liza a sua própria linguagem de marcação, uma


extensão do HTML, que torna fácil a inclusão de conteúdo dinâmico nas páginas web. Isto
permite, por exemplo, iterar sobre listas de dados, apresentar ou ocultar partes da página
de acordo com certas condições, e aplicar filtros aos dados antes de apresentá-los. [1.2]

No que diz respeito ao backend, Django é eficiente no processamento e


manipulação de dados. Django segue a arquitectura Model-View-Template (MVT), em que
o 'Model' é a parte responsável por interagir com a base de dados. Este modelo simplifica
operações comuns de base de dados, como a criação, leitura, atualização e eliminação de
registos (conhecido por CRUD), tornando mais fácil o desenvolvimento de aplicações
complexas. [5]

Padrão Model-View-Template (MVT) [5][6]

Esta framework adota um padrão de design conhecido como Model-View-Template


(MVT), que é uma variação do padrão Model-View-Controller (MVC) frequentemente
usado em desenvolvimento web.

No padrão MVT, a 'Model' refere-se à parte da aplicação que lida com os dados. É o
Model que interage diretamente com a base de dados, manipulando todas as transações
de dados e a lógica de negócios associada. Basicamente, o modelo representa a estrutura
dos dados e é responsável por criar, recuperar, atualizar e excluir registos na base de
dados (operações CRUD).

A 'View', neste contexto, funciona como uma ponte entre o Modelo e o Template.
As views são responsáveis por executar a lógica e entregar a resposta ao cliente. Elas
recebem as solicitações do cliente (pedido HTTP), processam-nas, interagem com o
modelo conforme necessário e, em seguida, entregam uma resposta ao cliente.

Por úl$mo, o 'Template' é onde o HTML é gerado. Os templates são, essencialmente,


a parte do sistema que define como a informação será apresentada ao u$lizador. Em
Django, os templates são escritos numa linguagem que permite a inserção de lógica
Python, tornando-os altamente flexíveis e capazes de gerar HTML dinâmico.

Extensões, Requisitos e Versões


Plugins, bibliotecas e templates para extensão e facilidade de uso

Existe uma grande flexibilidade para desenvolver aplicações web com Django,
graças à possibilidade de extensão através de plugins, bibliotecas e templates.

A rica oferta de plugins, conhecidos também como 'aplicações', permite integrar


novas funcionalidades sem muito esforço. Por exemplo, o Django Rest Framework ajuda
a criar APIs, o Django Allauth facilita a auten$cação, e o Django Admin gera uma interface
administra$va de forma automá$ca.

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


Aliado a isso, temos um amplo leque de módulos Python à disposição, que podem
ser usados para adicionar desde funções simples até funções mais complexas.

No que diz respeito a templates, o sistema do Django é bastante flexível e adaptável.


É possível criar páginas HTML dinâmicas e personalizadas, estender o uso de tags e filtros
e até mesmo aproveitar a herança de templates para reu$lizar partes comuns de código
HTML.

Resumindo, a combinação de plugins, bibliotecas e um sistema de templates


extensível, proporciona aos programadores todas as ferramentas necessárias para criar
aplicações web robustas e personalizadas, mantendo o código organizado e fácil de
manter.

Requisitos mínimos e instalação

Para u$lizar o Django, temos alguns requisitos mínimos que precisamos cumprir.

Em primeiro lugar, é imprescindível ter o Python instalado no nosso sistema. Como


o Django é uma framework Python, esta é uma condição fundamental. A versão do Python
necessária pode variar de acordo com a versão do Django que pretendemos instalar, mas,
geralmente, aconselha-se a u$lização da versão mais recente do Python.

Além disso, não nos precisamos de preocupar com a compa$bilidade do sistema


opera$vo, uma vez que o Django funciona em várias plataformas, incluindo Linux,
Windows e MacOS.

A instalação do Django é bastante simples, sendo usualmente realizada através de


um gestor de pacotes Python, como o pip. De seguida, apresento uma série de passos
para a instalação do Django: [1.3]

Em primeiro lugar, precisamos verificar se o Python está corretamente instalado no


nosso sistema. Podemos fazer isso abrindo um terminal e escrevendo python --
version. Se o Python es$ver instalado, deveremos ver a versão do Python apresentada.

Depois, precisamos instalar o Django. Com o pip, este processo é fácil. Basta abrir o
terminal e escrever pip install django.

Para confirmar que o Django foi instalado corretamente, podemos escrever python
-m django --version no terminal. Se tudo es$ver correto, deveremos ver a versão do
Django que acabamos de instalar.

Para criar um novo projeto, basta escrever django-admin startproject


nome_do_projecto.

Úl1ma versão disponível e caracterís1cas

A úl$ma versão, à data de elaboração deste trabalho, é a 4.2.

Esta versão trouxe novas funcionalidades e melhorias, tais como:

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


• Suporte a psycopg 3
• Comentários em colunas e tabelas
• Mi$gações a ataques informá$cos
• Armazenamento de ficheiros in-memory
• ... entre outros

A lista completa, Release Notes, desta versão, de onde foi $rada a informação listada
acima, está no link:

hups://docs.djangoproject.com/en/4.2/releases/4.2/

Django em contexto e conclusão


Integração e uso com outras frameworks

Django é uma framework completa, mas também é suficientemente versá$l para


ser u$lizada em conjunto com outras frameworks, dependendo das necessidades
específicas do nosso projeto.

Por exemplo, para o desenvolvimento de aplicações web complexas e intera$vas,


podemos integrar Django com uma framework JavaScript como React ou Vue.js. Nestes
casos, Django é frequentemente u$lizado para criar a API do backend, enquanto React ou
Vue.js são usados para criar uma interface de u$lizador rica e intera$va no frontend.

Também é possível integrar Django com outras frameworks Python. Por exemplo,
podemos usar Django para lidar com a lógica de negócios e a interação com a base de
dados, enquanto uma framework como Flask poderia ser usada para criar uma API
RESTful.

Outra opção comum é usar Django juntamente com a framework Django Rest
Framework. Esta framework, construída sobre Django, facilita a criação de APIs RESTful,
tornando mais fácil a criação de aplicações web modernas.

Por fim, Django também pode ser integrado com várias bibliotecas de ciência de
dados Python, como Pandas e NumPy, tornando-o uma boa escolha para projetos que
necessitam de processamento de dados complexo ou aprendizagem automá$ca.

Resumindo, a versa$lidade do Django permite que seja u$lizado em conjunto com


uma variedade de outras frameworks e bibliotecas, tornando-o uma opção atraente para
muitos $pos diferentes de projetos de desenvolvimento web.

Links para website, documentação e recursos adicionais

Todos a documentação usada para o presente trabalho foi consultada no site


principal do Django:

hups://www.djangoproject.com/

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


No site existem várias páginas para download, documentação, nohcias recentes,
problemas, entre outros.

Figura 1 - Página principal djangoproject.com

Conclusão e perspe1vas futuras para Framework Django

Reconhecida como uma framework Python extremamente robusta e popular, a


Django oferece uma plataforma eficaz para o desenvolvimento estruturado de aplicações
web. Graças à sua ampla comunidade de u$lizadores e à riqueza do seu ecossistema, o
Django tem-se destacado como a escolha de muitos programadores.

Uma das principais vantagens da Django é a sua capacidade de escala e adaptação.


A framework foi projetada para permi$r aos programadores passar da ideia ao produto
de forma rápida, sem comprometer a qualidade ou a segurança do código. Django é capaz
de suportar desde pequenos sites até grandes aplicações web com milhões de
u$lizadores.

Quanto ao futuro, as perspe$vas são muito promissoras para a Django. A


comunidade em torno desta framework con$nua a crescer e a trabalhar no
desenvolvimento de novas funcionalidades e melhorias. É esperado que o Django
con$nue a evoluir para corresponder às novas tendências e necessidades do
desenvolvimento web, como a importância cada vez maior das APIs RESTful, a integração
com outras linguagens e tecnologias, e a necessidade de lidar com o processamento de
dados cada vez mais complexos.

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA


Bibliografia
[1] hups://www.djangoproject.com/

[1.1] h'ps://www.djangoproject.com/start/overview/

[1.2] h'ps://docs.djangoproject.com/en/4.2/

[1.3] h'ps://docs.djangoproject.com/en/4.2/topics/install/#installing-official-release

[2] hups://www.geeksforgeeks.org/complete-django-history-python/

[3] hups://www.webforefront.com/django/designprinciples.html

[4] hups://www.python.org/doc/essays/blurb/

[5] hups://www.javatpoint.com/django-mvt

[6] hups://python.plainenglish.io/the-mvt-design-pauern-of-django-8fd47c61f582

Cá$a Filipa Almeida da Silva Antunes | A040737 UNIVERSIDADE DA MAIA

Você também pode gostar