Articles

What is a Web Framework, and Why Should I use one?

← Home

“Framework” é uma palavra muito usada em relação ao código. Então, o que é mesmo um framework? Quando falamos de frameworks, esses frameworks normalmente se encaixam em três categorias diferentes — frontend, backend, e CSS ou framework de interface de usuário. Mas mesmo quando você sabe o que são frameworks, qual deles você deve aprender ou usar e por quê? Este post irá discutir o que é um framework, que frameworks existem e como tomar decisões sobre que tipo de framework você deve usar em seus projetos!

O que são frameworks

Se olharmos para algumas aplicações web diferentes, podemos ver que existem muitas funcionalidades duplicadas. Muitas têm autenticação de usuário, páginas que renderizam, conectam-se a bancos de dados, têm perfis que você pode ver, todas têm feeds de informação estilizados, etc. Se eu quisesse, eu mesmo poderia escrever toda essa lógica sempre que quisesse construir uma nova aplicação; no entanto, também há muitas ferramentas disponíveis que podem fazer isso para nós.

Além disso, muitas vezes, quando construímos aplicações, queremos formatar nosso código de certas maneiras que nos ajudam a nos tornar mais eficientes e ajudam outros desenvolvedores a entender nosso código. Os frameworks web nos ajudam a conseguir estrutura em nossas aplicações, e eles nos dão recursos adicionais que podemos adicionar a eles sem muito trabalho extra. Os frameworks nos dão um lugar para começar, para que possamos focar em funcionalidades ao invés de detalhes de configuração.

Código é lido muito mais vezes do que é escrito, e é tão importante quando você está trabalhando com outros desenvolvedores que eles sabem onde o código para certas tarefas está sendo escrito para que eles possam usá-lo em seu próprio código. Os frameworks também têm convenções de como o código é escrito e estruturado, que padronizam como os desenvolvedores escrevem seu código.

A maioria dos sites compartilha uma estrutura muito similar (para não dizer idêntica). O objetivo dos frameworks é fornecer uma estrutura comum para que os desenvolvedores não tenham que refazê-la do zero e possam reutilizar o código fornecido. Desta forma, os frameworks permitem-nos cortar muito do trabalho e poupar muito tempo.

Para resumir: não há necessidade de reinventar a roda.

de Awwwards.

Awwwwards, os frameworks são apenas bibliotecas de código (ou seja, o código de outras pessoas), e os populares são de código aberto! Então você pode olhar o código da sua biblioteca online!

Backend vs Frontend

  • O frontend de uma aplicação web é a parte que você vê e interage com ela. Ele consiste no web design e na interação do site. Em termos de linguagens de programação, esta é quase sempre composta pelo CSS, HTML e JavaScript da página.

  • O backend consiste no servidor, na base de dados, e no código que interage com eles. Este também consiste no código que dá dados dinâmicos ao front-end do site. Isto pode ser tratado na maioria das linguagens de programação. As que discutiremos principalmente hoje são Python, Ruby, e Node JavaScript mas existem inúmeras outras.

What I Wish I Knew Before Learning to Code Ebook Cover

Queres mais conselhos sobre como aprender a codificar?

Baixe meu Ebook grátis!

>

Frameworks de interface de usuário

As frameworks de interface de usuário ajudam a criar aplicações web estilizadas e com aparência profissional. A maioria inclui algum tipo de sistema de grid para que você alinhe elementos, eles têm esquemas de cores para que sejam manuseados por você, e estilizam seus componentes HTML usando CSS para que eles pareçam limpos e profissionais. Estes estão dentro do domínio frontend; no entanto, normalmente quando nos referimos a frameworks frontend estamos a falar de frameworks JavaScript.

Alguns frameworks de interface de utilizador incluem:

  • Bootstrap
    • Muito conhecido e construído pelo Twitter
    • Fácil de aprender e parecer profissional
    • Pode ser fácil de localizar “Bootstrap Sites”
    • Pode ser difícil personalizar componentes
  • Materializar
    • Limpar aparência
    • Um pouco mais de “diversão” que o Bootstrap
    • Lotes de estilo e opções de cor
    • Seguir o guia de estilo Material do Google
  • Fundação
    • Lotes de exemplos
    • Profissionalismo
  • Semântica UI
    • Construção deotsin
    • Built-em temas para que seja personalizável
  • Grelha
    • Tem um grande foco na acessibilidade
    • Parece realmente limpo
    • Não tão usado como alguns dos outros
    • Made for React JS (outro framework que veremos mais adiante)

Escolhendo um framework UI

Escolhendo um framework Interface de Usuário, na maioria das vezes se resume à preferência pessoal na aparência e nos objetivos do site. Os diferentes estilos podem apelar para diferentes indústrias ou podem transmitir uma mensagem diferente aos usuários.

Frontend Frameworks

Frontend frameworks são, na maioria dos casos, escritos em JavaScript e são para organizar a funcionalidade, interatividade do seu site. Alguns destes incluem:

  • Vue
    • Fácil de aprender
    • Muito rápido
    • Todas as ferramentas associadas são bem embaladas
    • Toma peças de Angular e Reage e optimiza-as
    • Não é amplamente adoptado que alguns outros
    • Flexível — você pode usá-lo de várias maneiras
  • AngularJS
    • Built by Google
    • Bem suportado
    • Um grande número de características
    • Impõe a escalabilidade da aplicação
    • Dificuldade de depuração
    • Grande curva de aprendizagem
  • Angular 2+
    • Built by Google
    • Bem suportado
    • Encora a reusabilidade
    • Improve a escalabilidade da aplicação
    • Grande curva de aprendizagem
  • Reage
    • Built by Facebook
    • Código de frontend de componentes
    • Organiza código e dados para tornar o código mais reutilizável
    • Grande curva de aprendizagem
  • Ember
    • Dispõe uma grande quantidade de funcionalidade out of the box
    • Opinionado (você tem que usar sua formatação)
    • Curva de aprendizagem de passos

Escolhendo uma Frameworks Frontend

O mundo das Frameworks Frontend está evoluindo especialmente rápido, parece que a cada poucos meses está a surgir uma nova estrutura de frontend. Aprenda o que faz sentido para você, e não se preocupe muito com o que é o “mais quente” no momento.

Algumas pessoas argumentam que Reage e Vue são bibliotecas ao invés de frameworks, mas muitas pessoas as consideram frameworks, então eu as incluí!

Backend Frameworks

Backend frameworks são muito mais variadas. Eles são escritos em uma variedade de linguagens de programação e têm uma grande variedade de características. Abaixo, como a lista acima, está uma lista muito incompleta de alguns dos frameworks que existem para escrever backends de aplicações.

  • Spring MVC
    • Java (linguagem mais difícil de aprender)
    • Muito rápido
    • Sem opinião
  • Django
    • Python (linguagem mais fácil de aprender)
    • Feliz meio entre ser muito opinante e menos estruturado
    • Dá-te muitas funcionalidades fora da caixa (como a autenticação do utilizador, conexões de banco de dados, e ver renderização)
    • Pode ser difícil integrar um front-end extravagante.
    • O tratamento de dados da Python é incrível
  • Balão
    • Python (linguagem mais fácil de aprender)
    • Sem opinião e mais personalizável que Django
    • Dá-te menos fora da caixa (tens de construir mais)
  • Ruby on Rails
    • Ruby (linguagem mais fácil de aprender)
    • Muita opinião
    • Tem excelentes ferramentas como andaimes para que possa construir coisas rapidamente
    • Dá-te muitas funcionalidades fora da caixa (como autenticação de utilizador, conexões de banco de dados, e ver renderização)
    • O pipeline de recursos ajuda no desenvolvimento do front-end
    • Ruby leva mais tempo para executar programas do que algumas outras linguagens de programação
  • Meteor
    • JavaScript (linguagem mais fácil de aprender)
    • Dispõe de muitas funcionalidades fora da caixa (como autenticação de usuário, conexões de banco de dados, e ver renderização)
    • Integrar muito bem com front-ends modernos
  • Expresso
    • JavaScript (linguagem mais fácil de aprender)
    • Muito personalizável
    • Muito leve
    • Sem construção…em características
    • Nó é muito rápido

Escolhendo um Backend Framework

Usualmente, você escolhe uma estrutura backend com base na linguagem de programação em que está escrito. Além disso, leve em conta que características você quer adicionar — se você quer autenticação (ou login de usuário) para seu website, por exemplo, escrevendo-o no Django onde a autenticação é construída será muito mais fácil do que escrevendo-o no Flask onde você precisaria de um serviço adicional.

Learn More

Se você quiser usar ou aprender um framework, aqui estão um monte de aplicações construídas com diferentes, assim você pode avaliar qual delas faz mais sentido para você. Há muito mais frameworks de vários tamanhos e popularidades, mas este artigo dá uma breve visão geral de algumas das mais populares por aí e por onde começar. Não há uma resposta certa sobre o que aprender primeiro! Há prós e contras em tudo, por isso pesa o que é mais importante para ti e vai a partir daí. Frameworks são super úteis e tornam a escrita de código muito mais rápida na maioria dos casos, mas ter uma forte base de programação antes disso também é super importante — então certifique-se de que você conhece a linguagem em que o seu framework está escrito bem primeiro. Frameworks são super úteis para escrever sites porque eles reforçam uma estrutura que outros desenvolvedores no framework entendem, e eles dão a você funcionalidades comuns para que você não tenha que reinventar a roda!

Onde começar a aprender…

  • Django Girls Tutorial – Eu aprendi meu primeiro framework através do tutorial online deles!
  • Code Academy
  • TodoMVC
  • CodeNewbie Podcast

E se você precisar de uma idéia para uma aplicação…

  • Awesome App Ideas
  • 15+ APP IDEAS TO BUILD TO LEVEL UP YOUR CODING SKILLS

Seja o primeiro a saber sobre os meus posts!