Quanto mais você avança na programação, mais complexa suas tarefas, demandas e o próprio sistema que você desenvolve fica. Mas nem tudo precisa ser tão díficil, os frameworks estão aí para te ajudar!
O que é
Um framework é um conjunto de código, bibliotecas e funções prontas, que acabam se tornando um próprio “ambiente” de desenvolvimento.
Quanto mais complexa a sua aplicação mais “complicado” fica o seu código, mas com um framework isso mal faz diferença: ele é criado justamente pensando em simplificar essas situações. Frameworks costumam utilizar de uma linguagem de programação, e usar ao máximo desta linguagem para criar ferramentas e funções que facilitem o desenvolvimento do seu código.
Utilizar um framework pode até ser bem diferente do que você estudou na linguagem de programação. As regras diferem, os métodos, as funções e principalmente os conceitos.
Um exemplo, bem simples, é a alteração de um dado na tela em tempo real. Vamos supor que você tenha criado com HTML um “contador”. Você clica em um botão, e então é feito uma contagem de cliques. Não que isso seja complicado de ser feito:
<html>
<head>
<script>
let count = 0;
function doCounting() {
const countElement = document.getElementById('count');
count++;
countElement.innerHTML = `${count} cliques`;
}
</script>
</head>
<body>
<div>
<span id="count">0 cliques</span>
<button onClick="doCounting()">Click</button>
</div>
</body>
</html>
Mas, se você utilizar um framework de frontend, como o React, veja como fica o código:
import React, { useState } from 'react';
export const App = () => {
let [count, setCount] = useState(0);
const doCounting = () => {
setCount(count++);
}
return (
<div>
<span id="count">{count} cliques</span>
<button onClick={doCounting}>Click</button>
</div>
);
}
Os dois códigos fazem a mesma coisa: exibem um texto na página com o número de cliques e um botão. A cada clique no botão, a contagem aumenta. Mas veja que os conceitos aplicados são outros:
- O primeiro, apenas com HTML e Javascripts puros, fazem o que já é esperado da linguagem: um texto estático, mudado manualmente em uma função que troca o texto dentro de um elemento em HTML.
- O segundo não é nem um HTML, é uma função em Javascript que retorna um HTML. Além disso, possui uma variável escrita diretamente dentro de uma tag HTML. Veja também que aqui não há a troca de texto: ao alteramos a variável
count
por meio da funçãosetCount
, o valor muda automaticamente no HTML.
Uma estrutura como a do segundo exemplo não é nem possível utilizando apenas HTML e Javascript. Mas aqui, estamos utilizando um framework, e este framework quebra alguns padrões, e cria outras. Com esse framework é possível escrever um HTML dentro de uma função Javascript; é possível alterar o valor de uma variável e ela automaticamente mudar em toda a página. Isso te ajudaria bastante, não?
Mas apesar das grandes mudanças, os frameworks facilitam o seu trabalho no desenvolvimento. Posso ter usado um exemplo bobo, e que não traga tanta diferença visualmente em um código. Mas lembre-se, quanto maior a complexidade, mais você precisará de alguma ferramenta que te ajude no código. Já pensou em usar apenas HTML e Javascript em um sistema enorme como um ecommerce?
Os frameworks trazem até mais do que uma “simplificação” do código. A maioria deles fazem também melhorias de perfomance, segurança e padronizações que te ajudam a organizar o seu trabalho, coisas que utilizando apenas uma linguagem de programação em seu mais puro estado requer bastante estudo, bastante teste e bastante tempo preparando um sistema carregado com todas essas funcionalidades.
Frameworks, na prática Hoje em dia, para ser um desenvolvedor, você precisa conhecer algum framework. Pode ter certeza, toda aplicação web, todo aplicativo mobile, toda API, todo sistema tem algum framework por trás.
É bastante comum que durante seu estudo em programação, você estude, por exemplo, bastante Javascript e depois comece estudar um framework bastante específico como React para desenvolvimento frontend, ou NestJS para desenvolvimento backend.
Como cada framework possui o seu próprio ecosistema e padrões diferentes, recomendo que você foque em apenas um framework para que você aprender e se especializar. Vão aqui algumas dicas:
- Para os desenvolvedores frontends: React, Vue ou Angular. Flutter, agora que é possível desenvolver web e mobile, tem chamado bastante atenção.
- Para os desenvolvedores backend, depende muito da linguagem que você está estudando: para Javascript temos NestJS, AdonisJS, Express. Para PHP, o popular Laravel. Para Python, Flask e Django.
Durante seus estudos, e processo de “escolha” de framework tenha em mente que: tudo em programação acontece muito rápido. O mercado de frameworks é bastante novo e está sempre cheio de mudanças. O “jQuery” por exemplo, era uma biblioteca bastante popular a algum tempo atrás e foi completamente subjulgada pelo React. E quem garante que daqui a 2 ou 3 anos algum outro framework não irá ultrapassar o React?
Estudar frameworks é extremamente importante, mas não devemos nunca nos esquecer do básico. Por trás de um framework existe uma linguagem de programação e é ela que importa. Tenha sempre a linguagem como a sua base, e não importa qual framework você trabalhe, você vai conseguir desenvolver.
Este texto foi apenas uma introdução ao assunto, mas nos nossos próximos artigos, vamos explorar um pouco mais alguns frameworks, destrinchando cada recurso que é disponibilizado durante o desenvolvimento. Acompanhe nosso canal no Discord, e se inscreva em nossa newsletter para acompanhar todos os nossos conteúdos na devGo
Quanto mais você avança na programação, mais complexa suas tarefas, demandas e o próprio sistema que você desenvolve fica. Mas nem tudo precisa ser tão difícil, os frameworks estão aí para te ajudar!