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

Visualizações: 474



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

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.

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

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).

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Veja também

A manutenção de softwares é o maior pesadelo de um programador quando o código parece um campo minado

Existe muitos programadores que escrevem algoritmos mal planejados. Essa falta de planejamento dificulta a manutenção do aplicativo e aumenta a probabilidade de novos bugs.

A biometria digital é uma grande promessa ao futuro da tecnologia

Muitos serviços já utilizam a autenticação biométrica integrada com a inteligência artificial para melhorar a experiência do usuário, além de melhorar a segurança.

Programação orientada a objetos

A programação orientada a objetos possui um contexto bastante semelhante com a vida real, facilitando a sua implementação e interpretação.

Princípio de substituição de Liskov

Esse princípio é a capacidade de substituir um instância da classe parente com a instância da subclasse sem comprometer o funcionamento do algoritmo.

Princípio aberto fechado - Open-Closed Principle

O código deve estar aberto para extensões e fechado para modificações. Podemos mudar o comportamento de uma classe adicionando mais código.

Método scrum

Tem como objetivo entregar o projeto com velocidade e satisfazer as necessidades dos clientes entregando cada funcionalidade do software separadamente.