Framework no desenvolvimento de softwares

Conjunto de códigos prontos para a utilização no desenvolvimento de softwares, eliminando processos como planejamento de arquitetura de classes.

Categoria de Programação

Postado em 10 outubro 2022

Atualizado em 10 outubro 2022

Palavras-chave: programacao,framework,laravel,vuejs,aspnet,django,arquitetura,dependecia

Visualizações: 1229



Linguagens de programação fornecem diversas formas de desenvolver um software. A programação orientada a objetos fornece habilidades de polimorfismo, encapsulamento, herança e abstração.

Porém, para o desenvolvimento de software, o tempo é um fator importantíssimo. Desenvolver softwares da estaca zero pode gerar grandes custos com planejamento, desenvolvimento e testagem. O framework de desenvolvimento de software é uma boa opção para o corte de custos com desenvolvimento.

O que é framework no desenvolvimento de aplicativos?

O framework no desenvolvimento de aplicativos é um pacote contendo código pronto para utilização. Esse código abrange classes, variáveis e funções essenciais no desenvolvimento de softwares. Exemplos dessas funcionalidades essenciais são:

  • Modelos para a implementação de algoritmos de banco de dados
  • Classes de visualização, responsáveis pela interface do usuário
  • Comandos para gerar classes semiprontas para a implementação de lógica

Frameworks são desenvolvidos para determinadas linguagens de programação, tendo uma grande influência no modo de escrita do código. Alguns frameworks possuem diferentes estruturas de classes, aplicativos que são desenvolvidos em frameworks de desenvolvimento web, adotam na maioria das vezes a arquitetura MVC (Model, view e controller).

Exemplos de frameworks famosos em cada linguagem de programação

  • Laravel (PHP)
  • ASP.NET (C#)
  • Vue.js (Javascript)
  • React.js (Javascript)
  • Django (Python)

framework no desenvolvimento de aplicativos

Vantagens em utilizar frameworks no desenvolvimento de softwares

Utilizar frameworks no desenvolvimento de softwares ajuda nos seguintes aspectos:

  • Diminuição no tempo de desenvolvimento
  • Disponibilidade de determinados pacotes de extensão desenvolvidos com o framework
  • Estrutura de código já definido, facilitando o planejamento para pessoas familiarizadas com o framework
  • Prevenção de riscos já implementado
  • Constantes atualizações para corrigir bugs

Quanto mais famoso um framework é, mais extensões disponíveis ele possui. A integração com as extensões instaladas podem ser realizadas com facilidade por programadores.

Muitos frameworks são softwares abertos para o público. Isso traz mais segurança devido ao grande número de contribuições de programadores ao redor do mundo que podem solicitar modificações no código.

Desvantagens em utilizar frameworks no desenvolvimento de aplicativos

Aplicativos desenvolvidos em framework podem se tornar dependentes. Um aplicativo dependente de um framework pode apresentar grandes problemas ao longo prazo. Exemplos desses problemas podem ser:

  • Deprecações de funcionalidades, necessitando de refatoração de código
  • Alteração de comportamento de funções
  • Não suportar novas versões da linguagem
  • Abandonamento

A adoção de frameworks no desenvolvimento de softwares deve ser discutido ainda no processo de planejamento do projeto. Desenvolver um aplicativo independente de frameworks pode ser uma boa estratégia para projetos que irão operar por longos anos. A arquitetura limpa é um bom exemplo de arquitetura para diminuir ao máximo a dependência de softwares em frameworks.

Conclusão

Frameworks são um conjunto de códigos prontos para a utilização no desenvolvimento de softwares. Esses conjuntos já possuem uma arquitetura definida, eliminando processos como planejamento de arquitetura de classes.

Projetos práticos

Criando artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Veja também

Todo empreendedor deve estar consciente que cada funcionário é um humano, portanto deve reconhecer as tentações em alguns cenários

Estudar o comportamento das pessoas pode auxiliar um administrador a criar um sistema de fiscalização mais eficiente, evitando fraudes que prejudicam a imagem da empresa

Afinal, vale a pena gastar tempo com web marketing?

Expressões como gastar tempo e investir tempo andam lado a lado. Quando algo investido não tem o retorno esperado isso se torna uma perde de tempo...

Pilha (stack) e fila (queue)

Pilha e fila são tipos de estrutura de dados que contribuem para um gerenciamento de dados mais inteligente e eficaz na programação

Terminal

Interface dedicada ao desenvolvedor ou especialista da computação para executar comandos ao computador sem a presença de um mouse.

TDD Desenvolvimento orientado por testes

Método de desenvolvimento em que os testes são a base da implementação. Eficiente para mitigar bugs de forma automática.

Linguagem de programação

A linguagem de programação é um conjunto de instruções que possuem um padrão de escritas, sendo um intermediário entre o programador humano e a máquina.