À medida que a programação amadurece e o desenvolvimento de aplicações se torna mais complexo, os programadores precisam de mais do que apenas uma compreensão das linguagens de programação. Precisam de conhecer as frameworks que tornam mais fácil a criação de aplicações nestas linguagens.
Uma estrutura é um conjunto de ferramentas, classes e funções que serve como plataforma sobre a qual se pode construir uma aplicação completa. Há algumas tarefas que ocorrem em cada aplicação: entrada, renderização de visualização, tratamento de erros, por exemplo. As frameworks tratam de conceitos básicos como estes para que os programadores possam concentrar-se na resolução dos problemas relacionados com o seu domínio específico. Contudo, uma estrutura é um termo amplo, pelo que estruturas diferentes farão coisas diferentes.
Como recrutador técnico, deverá ser capaz de compreender quais são as estruturas e quais são as mais comuns. Se estiver familiarizado com o termo, provavelmente conhece-os como frameworks de JavaScript de front-end. Como veremos, muitas linguagens de programação têm frameworks que simplificam o processo de desenvolvimento.
Explorar todas as tecnologias marcadas em Stack Overflow na ferramenta online gratuita.
No gráfico acima, pode ver a mudança na utilização das etiquetas no Stack Overflow para as dez estruturas mencionadas abaixo durante cerca de dez anos. As estruturas sobem e descem em popularidade à medida que novas são criadas e as antigas caem em desuso.
Sem mais delongas, aqui estão dez das estruturas mais populares em uso hoje em dia.
Reagir
Facebook criado e de fonte aberta Reagir em 2013, e tem vindo a crescer rapidamente em popularidade desde então. É construído a partir de JavaScript e concebido como uma base modular para componentes reutilizáveis da IU. Por si só, React não é realmente uma estrutura, mas tem um enorme ecossistema de bibliotecas de ajuda que proporcionam uma maior funcionalidade. Há também o React-Native, que compila o código nativo iOS e Android, pelo que os criadores de aplicações já não precisam de criar três bases de código front-end separadas.
Angular
Angular (anteriormente AngularJS) veio de um projecto Google. Ao contrário do React, dá aos programadores uma estrutura completa como uma biblioteca de primeira parte. A versão actual utiliza TypeScript (embora JavaScript e Dart sejam suportados), que é um superconjunto de JavaScript. Anteriormente, era apenas JavaScript, mas a fim de responder às necessidades dos utilizadores, eles reconstruíram a linguagem a partir da versão 2. É incrivelmente popular porque a configuração tudo-em-um e a verificação rigorosa da sintaxe dão aos programadores muitas ferramentas de apoio e promovem a consistência do código. Com tudo num só pacote, não há necessidade de puxar o código de terceiros com as suas potenciais vulnerabilidades e armadilhas legais. Mas para algumas aplicações, isto pode ser um enorme negativo, uma vez que toda a estrutura angular pode ser um grande peso se não se precisar de toda a sua funcionalidade. Mesmo com a versão 2 redesenhada, a Angular continua a ser uma das mais populares estruturas front-end e, graças à Angular Universal, está a fazer in-roads também em aplicações back-end.
Django
Django é uma estrutura web inteiramente baseada em Python, desenvolvida inicialmente em 2003 por programadores web que trabalham num jornal do Kansas. Graças a ser gratuito e de código aberto, tem gozado de uma popularidade consistente. Simplifica muitas tarefas comuns de desenvolvimento web, incluindo a serialização de dados, caching, e autenticação graças ao design modular e ao ecossistema maduro de componentes disponíveis. Cobre toda a pilha de desenvolvimento web, mas só pode ser utilizado como backend se preferir outro front-end framework.
Laravel
Laravel é uma estrutura web gratuita de código aberto baseada em PHP criada há cerca de oito anos. Foi inicialmente baseada no Symfony e criada para colmatar as lacunas nas características do criador Taylor Otwell encontradas na estrutura CodeIgniter. Fornece suporte avançado para coisas como autenticação, interacção com bases de dados relacionais, e gestão de dependência. Com um sistema de embalagem modular e uma tonelada de ferramentas e aplicações adicionais de apoio ao ecossistema, Laravel fornece uma estrutura de pilha completa concebida para tornar o desenvolvimento mais fácil.
Ruby on Rails
Como uma das primeiras estruturas de back-end, Ruby on Rails influenciou muitas das tecnologias de desenvolvimento web que se lhe seguiram. Devido ao seu aparecimento precoce, Ruby facilitou uma grande parte das tecnologias padrão que criam o web-HTTP, JSON, CSS, JavaScript, etc.- e baseia-se nas filosofias de desenvolvimento de software do CoC (convenção sobre configuração) e DRY (não se repita). Juntos, estes significam que Ruby tenta definir modelos de dados e lógica de aplicação em apenas um lugar e apenas quando essa definição se desvia da norma.
Vue.js
Dependente de quanto se pretende adoptar, o Vue.js pode servir como qualquer coisa entre uma simples biblioteca JavaScript ou uma estrutura de front-end completa. Esta abordagem de adopção incremental – concebida como resposta ao levantamento pesado exigido pelo AngularJS – significa que as aplicações que necessitam apenas de pequenas porções da funcionalidade Vue não precisam de abrandar a sua aplicação, importando tudo. Mas para aqueles que o desejam, a Vue e as ferramentas associadas podem formar a espinha dorsal de aplicações complexas da web.
Spring
Embora a maioria das estruturas aqui discutidas se baseiem em linguagens de programação web-first, Spring é uma estrutura para Java, que pode ser utilizada como parte de uma aplicação web ou uma aplicação nativa de ambiente de trabalho ou móvel. Gere operações de baixo nível para aplicações complexas como a injecção de dependência, interacções de bases de dados e gestão de transacções, ao mesmo tempo que facilita a modularização do código com o que se chama Programação Orientada para o Espectro. Embora a Spring possa ser utilizada com qualquer aplicação Java, está incluída frequentemente em aplicações web de back-end.
Express
Express (ou Express.js) funciona como uma estrutura web para Node.js, que é ela própria um ambiente de tempo de execução para JavaScript – ou seja, executa JavaScript fora de um browser. É completamente gratuito e de código aberto, e serve como parte de retaguarda da pilha MEAN padrão. Como muitas estruturas modernas, a biblioteca principal é pequena, com grande parte da funcionalidade tratada por plugins. Esta flexibilidade e versatilidade levou à construção de várias estruturas no topo do Express, razão pela qual não ocupa uma posição mais elevada no gráfico acima.
ASP.NET
Microsoft criou e abriu ASP.NET como uma forma de criar o sucessor de Active Server Pages (.asp). Em vez de ser construído numa única língua, o ASP.NET funciona em qualquer língua que utilize .NET. Como tal, torna-o uma estrutura back-end forte para empresas que gerem uma pilha Microsoft (como nós fazemos). Porque se baseia em linguagens compiladas, é rápido e escalável.
Meteor
Pode pensar que o espaço livre e de código aberto da estrutura JavaScript já está suficientemente lotado, mas o Meteor consegue fazer uma mossa nas classificações porque torna as aplicações em tempo real fáceis de escrever, é uma estrutura de pilha completa, e simplifica a reutilização de código para versões móveis. Permite protótipos rápidos e menos código para uma aplicação, ao mesmo tempo que torna simples a propagação de alterações de código a todos os clientes. No entanto, o Meteor pode ter tido os seus quinze minutos de fama, uma vez que as estruturas entram e saem rapidamente nos dias de hoje.
Existem muitas outras estruturas por aí, bem como bibliotecas populares que não são estruturas (olá jQuery!), por isso, por favor não tome esta lista como exaustiva. Mas deve dar-lhe uma estrutura (trocadilho pretendido) na discussão destas com os candidatos e gestores contratados.
0 comentários