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: 1270



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

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.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Veja também

Já pensou ser redirecionado para um site de banco falso?

O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!

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.

Busca binária

A busca binária usa o método de divisão de conquista que visa em dividir os problemas em pequenos problemas até que eles se resolvam sozinhos.

POJO e Java Bean

Expressões utilizadas na linguagem Java para descrever classes simples que contém atributos, getters e setters de um objeto.

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.

Busca linear

A busca linear é um algoritmo de força bruta não muito eficiente, mas com grande simplicidade, sendo utilizada regularmente por programadores.