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



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

Caixa eletrônico usando arquitetura limpa

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

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

Veja também

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

A subclasse não deve estender a superclasse que não representa consistência em relação as suas características

No passado existiam girafas com pescoço comprido e as girafas com pescoço curto. Isso resultou em um comportamento inesperado, a seleção natural. Não queremos isso no nosso algoritmo...

POJO e Java Bean

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

SGSI

O SGSI é um conjunto de políticas e normas estabelecidas pela empresa para proteger a segurança da informação empresarial, evitando riscos.

Busca linear

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

Algoritmo

O algoritmo é um conjunto de instruções escritas por um programador com intuito de solucionar um problema ou obter um resultado previsto.