• Nenhum resultado encontrado

João Victor Aquino Correia1, Paulyne M. Jucá2

1Universidade Federal do Ceará (UFC) – Campus Quixadá Caixa Postal 63.900-000 – Quixadá – CE – Brasil

[email protected], [email protected]

Abstract. This article aims to present some briefs about the django framework and an account of the author's experience in developing using this framework.

Resumo. O presente artigo tem como objetivo apresentar alguns breves tópicos sobre o framework django e um relato da experiência do autor no desenvolvimento utilizando esse framework.

1. Introdução

“Um framework consiste em um conjunto de classes, interfaces e padrões dedicados a solucionar um grupo de problemas através de uma arquitetura de programação flexível e extensível [Govoni 1999]. Pode-se ainda definir um framework como sendo uma pequena aplicação completa com uma estrutura estática e outra dinâmica, desenvolvidas para resolver um conjunto restrito de problemas [Fayad 2000]” Pereira 2009.

O presente artigo tem como objetivo apresentar alguns curtos tópicos sobre o framework django e um relato da experiência do autor em desenvolver com esse framework. Na seção 2 são apresentados breves tópicos sobre o django, tais como definições, arquitetura, benefícios e desafios. Na seção 3 é apresentado o ponto de partida, por onde começar e como começar um projeto e seu(s) aplicativo(s). Na seção 4 é apresentado um relato da experiência do autor. Por fim, na seção 5 são apresentadas as conclusões do autor.

2. Django, um framework para desenvolvimento rápido de aplicações para WEB

O django é um framework para aplicações WEB, escrito em python, de alto nível que possibilita o ágil desenvolvimento de sites seguros e de fácil manutenção. Estruturado por desenvolvedores experientes, ele cuida de grande parte do trabalho de desenvolvimento, para que o foco seja concentrar-se em escrever o(s) seu(s) aplicativo(s) [Djangoa 2021].

2.1. MTV

O django utiliza o padrão de projeto MTV (model, template e view). O model executa o gerenciamento de dados. O template faz o gerenciamento de entrada e saída. Já a view cuida da saída gráfica e textual. O padrão permite que você pule todos os passos iniciais para criação de uma aplicação padrão [Djangob 2020, Pinheiro 2020, Silva 2020]. Veja a seguir na ilustração:

Figura 1. Modelo MTV [Silva 2020]

O django tem como bases requisições e respostas. Quando existe uma atualização dentro do template, uma solicitação é enviada para o servidor por meio da view. Após a requisição, terá uma validação da URL, que passará pela model para conseguir acessar o banco de dados. Se a requisição for válida e sem erros, será retornado um status http ou o formato desejado através da view. No final o retorno será renderizado pelo template que responderá com o arquivo HTML solicitado [Silva 2020].

Veja a seguir na ilustração:

Figura 2. Arquitetura MTV [Silva 2020]

2.2. Benefícios decorrentes da utilização do framework django

Os benefícios citados a seguir foram baseados na documentação [Djangoa 2021]. O django é gratuito e de código aberto, tem uma comunidade próspera e ativa, tem uma

ótima documentação e muitas opções de suporte gratuito e pago. Além disso, é versátil, podendo ser utilizado para construir quase todo tipo de website. É completo, fornece quase tudo que desenvolvedores possam querer fazer. É seguro, ajuda os desenvolvedores a evitar os erros de segurança mais comuns, também fornece uma maneira segura de gerenciar as contas dos usuários e suas senhas. É sustentável, o código do django é escrito usando princípios de design e padrões que encorajam a criação de código sustentável (que facilita a manutenção) e reusável. É portável, não está preso em nenhuma plataforma de servidor em particular, e pode executar seus aplicativos em muitas distribuições.

Além da documentação oficial, existem tutoriais e playlists no youtube. O django dispõe de uma página de administração, responsável pela interface de controle e gerenciamento de conteúdo, só é preciso definir os modelos no banco de dados [Djangob 2020].

2.3. Desafios decorrentes da utilização do framework django

Quando usado em conjunto com padrões de projetos, bibliotecas de classes, componentes, entre outros, frameworks de aplicação têm o potencial para aumentar a qualidade de software e reduzir o esforço de desenvolvimento. Contudo, instituições que tentam construir ou usar frameworks frequentemente falham a menos que resolvam os seguintes desafios: esforço de desenvolvimento, curva de aprendizagem, integração, eficiência, manutenção, validação e remoção de defeitos e falta de padrões [Fayad 1999].

Para aprender a utilizar um framework demanda tempo e tem seus custos. É preciso saber se será rentável. Deve-se fazer uma análise sobre os principais benefícios decorrentes do aprendizado. E avaliar os possíveis custos.

3. Ponto de partida

A documentação oficial é o melhor caminho para iniciar os estudos [Djangoa 2021].

Outro caminho é o tutorial django girls [Djangoc 2021]. Os materiais citados têm versões em inglês e português e são gratuitos. Existe um material gratuito da python academy de altíssima qualidade, simples e bem explicativo [Ramos 2018]. Existem outros caminhos, porém terão custos, como por exemplo o curso python WEB com django da alura e outros cursos da udemy, são todos cursos pagos.

3.1. Criando um projeto

A explicação a seguir foi baseada no trabalho de Ramos 2018. A criação de um projeto django é rápida e simples, primeiramente é necessário configurar o ambiente de desenvolvimento, não têm muita dificuldade, basta ter instalados corretamente o python e o pip (gerenciador de pacotes do python).

No seu terminal digite o comando python --version. Será aberto o terminal interativo do python, caso sua instalação não esteja correta, surgirá algo como bash:

command not found. Agora, digite pip --version. O retorno desse comando será a versão instalada do pip. Se ele não estiver disponível, faça o download.

Se você quiser evitar ter problemas com as dependências já instaladas no seu computador, você poderá executar esse projeto em um ambiente virtual utilizando o virtualenv. Depois de criar o ambiente virtual, é hora de instalar o django. Novamente no seu terminal digite o comando pip install django.

Para checar se a instalação está correta, no terminal interativo do python execute o comando import django e depois o comando print(django.get_version()). O retorno desse comando será a versão do django instalada.

Depois é só criar o projeto, execute no seu terminal o comando django-admin startproject nome_do_projeto, onde nome_do_projeto será o nome do seu projeto.

Logo mais a criação, será gerado uma estrutura de diretórios, o arquivo para executar o servidor (manage.py) e outros arquivos de configurações. Será necessário fazer algumas configurações, para que o projeto tenha suas especificações. O django tem suporte para banco de dados, por padrão, a configuração usa o SQLite. Em seguida é só criar o(s) aplicativo(s).

Para testar, siga para o diretório raiz do projeto e execute o comando python manage.py runserver. Depois, acesse seu navegador no endereço http://localhost:8000 ou http://127.0.0.1:8000.

3.2. Criando um aplicativo

Um app (aplicativo) no django é uma aplicação que tem uma funcionalidade, como, por exemplo, blog ou um aplicativo de busca. Já um projeto é definido como um monte de configurações e apps para um website específico. Um projeto poderá ter um ou mais aplicativos [Djangoa 2021]. Já um app poderá estar em mais de um projeto. Para criar um app, execute o comando django-admin startapp nome_app no seu terminal, onde nome_app será o nome do aplicativo [Ramos 2018].

4. Relato da experiência

Na programação não existem atalhos, é preciso estudar para desenvolver algo de qualidade. Estudar uma nova tecnologia demanda tempo e esforço, com o django não foi diferente. Ter foco é essencial, o autor teve dificuldade com o foco, pois dividiu o foco com outras atividades da faculdade. Seja regular nos estudos, pois uma semana sem desenvolver é como dar um passo para trás. Algumas vezes o autor perdeu tempo para entender detalhes do código. Saiba pesquisar, pois materiais obsoletos poderão ser um atraso. Algumas vezes o autor seguiu tutoriais que não foram úteis para ele ou estavam desatualizados. Tenha empenho, não adianta estudar algo que não é do seu interesse, quanto maior o interesse, maior é o desejo de aprender.

5. Conclusões

Este artigo apresentou alguns breves tópicos sobre o framework django e um relato da experiência do autor. O django mostra-se eficiente, completo e poderá acelerar o desenvolvimento de aplicações, demonstrou-se um ótimo framework. Contudo, é essencial ter um estudo prévio, ter motivação, ter uma boa estratégia de pesquisa (saber buscar na documentação) e um bom planejamento.

Referências

Pereira, A.; Cogo, V.; Charão, A. (2009) “Frameworks Para Desenvolvimento Rápido De Aplicações Web: Um Estudo De Caso Com Cakephp E Django”. Workshop Do Software Livre.

Fayad, M.; Schimidt, D.; Johnson, R. (1999) " Building application frameworks: object-oriented foundations of framework design". John Wiley, New York.

Djangoa (2021) “Django Web Framework (Python)”. MDN Web Docs. Disponível em

https://developer.mozilla.org/pt-BR/docs/Learn/Server-side/Django. Acessado em outubro de 2021.

Djangob, (2020) “Conheça o Django, o framework Python mais usado para desenvolvimento web”. ByLearn. Disponível em https://dojo.bylearn.com.br/python/

conheca-o-django/. Acesso em outubro de 2021.

Djangoc, (2021) “Tutorial Django Girls”. Django Girls. Disponível em https://tutorial.djangogirls.org/pt/. Acessado em outubro de 2021.

Silva, D. (2020) “Como funciona a arquitetura MTV (Django)”. Disponível em

https://diandrasilva.medium.com/como-funciona-a-arquitetura-mtv-django-86af916f1f63. Acessado em outubro de 2021.

Pinheiro, F. (2020) “Entendendo o MTV do Django”. TreinaWeb. Disponível em https://www.treinaweb.com.br/blog/entendendo-o-mtv-do-django. Acessado em outubro de 2021.

Ramos, V. (2018) “Desenvolvimento Web com Python e Django”. Python Academy.

Ebook disponível em https://pythonacademy.com.br/ebooks/desenvolvimento-web-com-python-e-django/. Acessado em outubro de 2021.

Classificac¸˜ao de gˆenero de not´ıcias utilizando classificadores