Introdução
- Como programador, você não precisa começar do zero quando tem ferramentas projetadas para ajudá-lo em seus projetos. Frameworks são softwares desenvolvidos e usados por desenvolvedores para construir aplicações.
O que não é um framework
- Uma das grandes confusões que profissionais iniciantes ou que não conhecem os frameworks costumam fazer é achar que eles são bancos de dados. Na realidade, um framework pode possuir integração com um banco de dados, mas ele não é o banco de dados, como por exemplo o Laravel (framework php).
- Alguns podem presumir que um framework é uma coleção de bibliotecas, assim como as bibliotecas são uma coleção de rotinas pré-compiladas. No entanto, isso não é verdade, pois nem todos frameworks usam ou dependem de bibliotecas.
O que é um framework
- Uma framework é um conjunto de código básico genérico usado como um pacote pelos desenvolvedores que criam um programa. Dessa forma, quando um projeto é iniciado pelo profissional, este pacote de códigos prontos é um suporte que facilita o trabalho, evitando a necessidade de iniciar o site do zero, partindo de uma base comum para qualquer desenvolvimento.
- Esses frameworks podem ser baixados das comunidades de desenvolvedores, normalmente de graça, e em sua maioria open-sources. O pacote de códigos é normalmente criado por vários desenvolvedores, mas com a proposta de criar algo uniforme e padronizado que possa ser usado no máximo de cenários possíveis.
Tipos, exemplos e casos de uso
- Frameworks para aplicações web
- React:
React is a typescript-based, open-source JS framework that makes it easy to build applications on the web. Angular solves application development challenges by combining declarative templates, dependency injection, end-to-end tooling, and much more.
Angular empowers developers to build applications that live on the web, mobile, and desktop.
The popular JavaScript framework is used in public-facing applications and sites such as Google Cloud Platform and AdWords, as well as many internal tools of Google.
Some popular websites developed using AngularJS are: Netflix Paypal Upwork Youtube
Benefícios
- Eficiência – Como as rotinas mais comuns de uma aplicação já terão sido implementadas, o tempo total de desenvolvimento do sistema será menor.
- Segurança – Muitas das falhas de segurança comuns à uma aplicação já terão sido tratadas pois a maioria dos frameworks são desenvolvidos por comunidades e diversas pessoas reportando erros de forma colaborativa.
- Custo – A maioria dos frameworks são gratuitos, não gerando custos maiores ao desenvolvimento.
- Documentação – A maioria possui uma vasta documentação, explicando os detalhes e funcionamento de suas ferramentas.
- Padrões de codificação – por seguir um padrão de código, além de melhorar a legibilidade do código, pode tornar a manutenção mais simples.
Desafios
- O framework não é a linguagem – por ser uma abstração da linguagem o desenvolvedor terá que passar um tempo aprendendo as peculiariedades do framework.
- Códigos desnecessários – Dependendo do tamanho da aplicação um framework mais robusto pode ter funcionalidades que serão desnecessárias para aquele sistema o que pode tornar a aplicação desnecessariamente mais pesada.[2]
Referências
