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



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

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

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.

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

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

Veja também

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

Uma das vantagens de ter um robô trabalhando para você é o aumento da produtividade

Hoje em dia não é mais necessário gastar o nosso tempo com tarefas que podem se automatizadas. Os robôs estão aqui para nos ajudar...

Busca linear

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

Terminal

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

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.