{"id":2063,"date":"2017-02-27T12:11:33","date_gmt":"2017-02-27T15:11:33","guid":{"rendered":"https:\/\/blog.umbler.com\/?p=2063"},"modified":"2018-12-05T15:24:14","modified_gmt":"2018-12-05T17:24:14","slug":"as-estrelas-javascript-2016","status":"publish","type":"post","link":"https:\/\/blog.umbler.com\/br\/as-estrelas-javascript-2016\/","title":{"rendered":"As estrelas do JavaScript em 2016"},"content":{"rendered":"<p>Mais de vinte anos ap\u00f3s seu lan\u00e7amento, o JavaScript passa por uma fase de renova\u00e7\u00e3o e vem tomando a dianteira no ranking das tecnologias mais populares \u2013 uma valoriza\u00e7\u00e3o paralela \u00e0 evolu\u00e7\u00e3o dos web apps.<\/p>\n<ul>\n<li>Aparece como a <a href=\"https:\/\/blog.umbler.com\/br\/startups-de-ia\/\">tecnologia<\/a> mais utilizada em Front-end, Back-end e Full-Stack, no <a href=\"https:\/\/stackoverflow.com\/research\/developer-survey-2016\" target=\"_blank\" rel=\"nofollow noopener\">Developer Survey Results<\/a>, do Stack Overflow;<\/li>\n<li>Surge como a tecnologia de desenvolvimento mais popular do mundo em estudo da <a href=\"https:\/\/redmonk.com\/sogrady\/2016\/07\/20\/language-rankings-6-16\/\" target=\"_blank\" rel=\"nofollow noopener\">RedMonk<\/a>;<\/li>\n<li>Mostra-se como o recurso mais utilizado em websites (94,4% deles), segundo a <a href=\"https:\/\/w3techs.com\/technologies\/details\/cp-javascript\/all\/all\" target=\"_blank\" rel=\"nofollow noopener\">W3Techs<\/a>;<\/li>\n<li>Apresenta-se como a linguagem com mais reposit\u00f3rios ativos e n\u00fameros totais de pushes no <a href=\"https:\/\/githut.info\/\" target=\"_blank\" rel=\"nofollow noopener\">GitHub<\/a>;<\/li>\n<li>E, destaca-se como a skill mais procurada no mercado de desenvolvimento web, no <a href=\"https:\/\/blog.umbler.com\/br\/mercado-de-desenvolvimento-web-panorama-2016-e-expectativas-2017\/\" target=\"_blank\" rel=\"nofollow noopener\">relat\u00f3rio produzido pela Umbler<\/a>, em parceria com o trampos.co.<\/li>\n<\/ul>\n<p>Ap\u00f3s os dados, vamos aos fatos: 2016 foi mais um ano triunfante para o JS &#8211; <em>also known as<\/em> mais um per\u00edodo dif\u00edcil para aqueles que ainda n\u00e3o manjam da tecnologia ou que insistem em n\u00e3o consider\u00e1-la como linguagem de programa\u00e7\u00e3o. Para o <em>#TeamJavaScript<\/em> os motivos para am\u00e1-lo s\u00f3 crescem e tomam conta de f\u00f3runs e sites de perguntas e respostas como o <a href=\"https:\/\/www.quora.com\/Why-is-JavaScript-so-popular\" target=\"_blank\" rel=\"nofollow noopener\">Quora<\/a>. A populariza\u00e7\u00e3o do ES6 (ou ECMAScript 2015), e seus \u00f3timos benef\u00edcios como a resolu\u00e7\u00e3o de problemas antigos, facilidade no desenvolvimento de libraries e melhorias para constru\u00e7\u00e3o de aplica\u00e7\u00f5es complexas, al\u00e9m, claro, da expans\u00e3o do ecossistema de back-end Node\/NPM, s\u00e3o itens importantes para o destaque da linguagem \u2013 que vem crescendo de maneira at\u00e9 desproporcional.<\/p>\n<p>Sim, a gente sabe que a quantidade de tecnologias ligadas \u00e0 linguagem de scripts \u00e9 demasiadamente grande \u2013 e muitas delas com prazo de validade bastante curto.<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"en\">\n<p dir=\"ltr\" lang=\"en\">I think I&#8217;ve had milk last longer than some JavaScript frameworks.<\/p>\n<p>\u2014 I Am Devloper (@iamdevloper) <a href=\"https:\/\/twitter.com\/iamdevloper\/status\/540481335362875392\">December 4, 2014<\/a><\/p><\/blockquote>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\nMas, agora que voc\u00ea j\u00e1 n\u00e3o tem nenhuma d\u00favida sobre o potencial do JavaScript, vamos aos astros da vez, aqueles que vieram para ficar e durar &#8211; nem que seja um pouco mais do que uma caixa de leite. Analisando o n\u00famero de estrelas adicionadas no GitHub, o relat\u00f3rio <a href=\"https:\/\/risingstars2016.js.org\/\" target=\"_blank\" rel=\"nofollow noopener\">2016 JavaScript Rising Stars<\/a> elencou quais foram as principais tend\u00eancias tecnol\u00f3gicas ligadas \u00e0 JavaScript no \u00faltimo ano, considerando fatores como a velocidade de <a href=\"https:\/\/blog.umbler.com\/br\/avancos-em-ia-generativa\/\">inova\u00e7\u00e3o<\/a> \u2013 e, por consequ\u00eancia, a r\u00e1pida evolu\u00e7\u00e3o e transi\u00e7\u00e3o de ferramentas, frameworks, compiladores e outros. Todos os projetos analisados s\u00e3o origin\u00e1rios da base criada pela plataforma <a href=\"https:\/\/bestof.js.org\/hof\/\" target=\"_blank\" rel=\"nofollow noopener\">bestof.js.org<\/a>, que re\u00fane uma curadoria do melhor da \u00e1rea de JS.<\/p>\n<h2>TL;DR<\/h2>\n<p>Quer um resum\u00e3o? Ent\u00e3o confira os principais resultados da pesquisa e clique nos conte\u00fados para saber mais.<\/p>\n<div class=\"alert alert-warning\"><strong>Spoiler alert:<\/strong> n\u00e3o perca, no final desse post, um infogr\u00e1fico com todos os dados \ud83d\ude09<\/div>\n<ul>\n<li>O <a href=\"#projetomaispopular\">projeto mais popular em 2016<\/a> foi o <strong>Vue.js<\/strong>, uma estrutura de JavaScript progressiva, focada no desenvolvimento de UI na web;<\/li>\n<li>O <strong>Vue.js<\/strong> tamb\u00e9m aparece como <a href=\"#frameworkfrontend\">principal framework de Front-end<\/a>, com acr\u00e9scimo de 26,4 mil estrelas no GitHub, somente em 2016;<\/li>\n<li>Entre os <a href=\"#frameworknodejs\">frameworks de Node.js<\/a>, o destaque fica para o <strong>Express<\/strong>, estrutura web minimalista, com foco na velocidade e n\u00e3o padroniza\u00e7\u00e3o;<\/li>\n<li>Com rela\u00e7\u00e3o aos <a href=\"#projetoreact\">projetos React<\/a>, o <strong>Create React App<\/strong>, desenvolvido com o intuito de facilitar a cria\u00e7\u00e3o de novos projetos React, aparece no topo da lista;<\/li>\n<li>J\u00e1 relacionado a <a href=\"#mobile\">mobile<\/a>, o projeto de maior destaque foi o <strong>React Native<\/strong>, um framework criado para a constru\u00e7\u00e3o de apps nativos com React;<\/li>\n<li>O <strong>TypeScript<\/strong> aparece como destaque na categoria de <a href=\"#compiladores\">compiladores<\/a>, um superconjunto para limpar a sa\u00edda de c\u00f3digo;<\/li>\n<li>Entre as <a href=\"#ferramentasbuild\">ferramentas de build<\/a>, o <strong>Webpack<\/strong> tem sido muito bem recebido pela comunidade, principalmente por ser um agrupamento de v\u00e1rios m\u00f3dulos;<\/li>\n<li>J\u00e1 entre os <a href=\"#frameworkteste\">frameworks de teste<\/a>, o <strong>AVA<\/strong>, um test runner JavaScript futurista, se destaca pela rapidez, simplicidade e baixa curva de aprendizado;<\/li>\n<li>O <a href=\"#ides\">projeto mais popular entre IDEs (ou Integrated Development Environment)<\/a> \u00e9 o <strong>Visual Studio Code<\/strong>, projeto open-source da Microsoft (sim!);<\/li>\n<li>Por fim, entre os <a href=\"#ssgs\">geradores de sites est\u00e1ticos (ou SSGs)<\/a>, o <strong>Hexo<\/strong> figura como a tecnologia mais popular, uma estrutura de blog simples e poderosa (alimentada por Node.js).<\/li>\n<\/ul>\n<p><a name=\"projetomaispopular\"><\/a><\/p>\n<h2>Projetos mais populares em 2016<\/h2>\n<p>Considerando os 10 projetos mais populares do ano, \u00e9 poss\u00edvel ter uma boa no\u00e7\u00e3o do <a href=\"https:\/\/go.umbler.com\/mercado-desenvolvimento-web\/\" target=\"_blank\" rel=\"noopener\">cen\u00e1rio de desenvolvimento web em 2016<\/a>. Entre eles, est\u00e3o: frameworks de UI (Vue.js, React e Angular 2), um novo gerenciador de pacotes Node.js (Yarn), a solu\u00e7\u00e3o l\u00edder para cria\u00e7\u00e3o de aplicativos desktop (Electron), uma op\u00e7\u00e3o r\u00e1pida para come\u00e7ar um novo projeto React (Create React App), um framework mobile (React Native), o kit de ferramentas CSS mais famoso (Bootstrap), uma biblioteca de gerenciamento baseada em conceitos funcionais (Redux) e uma biblioteca poderosa e flex\u00edvel de gr\u00e1ficos (D3). Ou seja, voc\u00ea n\u00e3o precisa sair do universo JavaScript para nada.<\/p>\n<blockquote><p>N\u00e3o, pera, mas eu desenvolvo para rob\u00f4s!<\/p><\/blockquote>\n<p>Sem problemas, at\u00e9 para isso existe uma <a href=\"https:\/\/johnny-five.io\/\" target=\"_blank\" rel=\"noopener\">solu\u00e7\u00e3o JavaScript para voc\u00ea<\/a> \ud83d\ude42<\/p>\n<p>Tudo isso diz muito sobre a versatilidade e ubiquidade do JavaScript em 2016. Mas, precisamos falar sobre o projeto campe\u00e3o.<\/p>\n<h3>Vue.js ?<\/h3>\n<p>Lan\u00e7ado em 2013, o <a href=\"https:\/\/vuejs.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Vue.js<\/a> arrecadou mais de 26 mil estrelas no GitHub somente no ano passado \u2013 isso significa cerca de 72 \u201cfavoritadas\u201d por dia, o que \u00e9 mais do que qualquer outro framework, incluindo React e Angular. Ali\u00e1s, foi justamente por despontar como uma alternativa mais leve ao AngularJS que o Vue ganhou destaque.<br \/>\n<img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-2064 size-medium\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/estrelas-javascript-campeao-300x300.gif\" alt=\"GIF campe\u00e3o: estrelas javascript 2016\" width=\"300\" height=\"300\" \/><br \/>\nProjetado para ser uma biblioteca bastante flex\u00edvel e menos opinativa, oferece uma gama de ferramentas para o desenvolvimento de interfaces web interativas, considerando conceitos como modularidade, componentes e fluxo de dados reativos \u2013 lembrando que essa n\u00e3o \u00e9 uma caracter\u00edstica exclusiva do React. Como destaca a <a href=\"https:\/\/www.vuejs-brasil.com.br\/por-que-vuejs-e-uma-boa-opcao\/\" target=\"_blank\" rel=\"nofollow noopener\">comunidade Vue.js Brasil<\/a>, s\u00e3o muitas as vantagens para o uso do framework, entre elas:<\/p>\n<ul>\n<li>Baixa curva de aprendizagem: o que \u00e9 bastante interessante para desenvolvedores juniores ou iniciantes.<\/li>\n<li>Sintaxe e api claras: al\u00e9m da API intuitiva e simples, o destaque vai para a forma como o c\u00f3digo \u00e9 escrito, de forma bastante flex\u00edvel e com caminhos de informa\u00e7\u00e3o bastante previs\u00edveis.<\/li>\n<li>Flexibilidade: permitindo o uso que convir a um projeto, principalmente por ser um framework Full Stack e possuir um ecossistema de libs complementares, como vue-router, vue-resource e vuex.<\/li>\n<li>Performance: possui uma excelente performance, se saindo melhor do que o React.js em <a href=\"https:\/\/engineering.footballradar.com\/from-a-react-point-of-vue-comparing-reactjs-to-vuejs-for-dynamic-tabular-data\/\" target=\"_blank\" rel=\"nofollow noopener\">alguns testes<\/a>.<\/li>\n<li>Integra\u00e7\u00e3o: por n\u00e3o ser uma estrutura full-blown, e ser focado somente na camada de visualiza\u00e7\u00e3o, \u00e9 muito f\u00e1cil de integrar com outras bibliotecas ou projetos existentes.<\/li>\n<\/ul>\n<p>J\u00e1 na vers\u00e3o 2.1.10, lan\u00e7ada em janeiro\/2017, o Vue.js passou a focar ainda mais em velocidade, utilizando DOM virtual para desempenho e melhorando significativamente a velocidade de renderiza\u00e7\u00e3o e consumo de mem\u00f3ria. Ainda que a maior parte das empresas do Silicon Valley, por exemplo, inclinem-se a usar tecnologias apoiadas pelo Facebook\/Google, o Vue.js j\u00e1 possui uma vasta lista de clientes de grande porte, como a big three chinesa de tecnologia: Alibaba, Baidu e Tencent, al\u00e9m das empresas Sainsbury\u2019s, Xiaomi, Line corp e Nintendo &#8211; o que induz a consider\u00e1-lo uma escolha segura.<br \/>\n<a name=\"frameworkfrontend\"><\/a><\/p>\n<h2>Frameworks Front-end<\/h2>\n<p>Segundo o pr\u00f3prio levantamento do bestof.js.org, essa categoria pode nos remeter ao que chamam de \u201cfadiga do JavaScript\u201d, algo que a analogia contida nesse quadrinho poderia resumir:<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-2067 size-full\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/estrelas-javascript-fadiga.png\" alt=\"hist\u00f3ria em quadrinhos: estrelas javascript 2016\" width=\"1000\" height=\"1078\" \/><br \/>\nDesde o lan\u00e7amento de Node.js, o JavaScript tem evolu\u00eddo em uma velocidade que, para muitos, beira o surreal. Com rela\u00e7\u00e3o a Front-end, \u00e9 claro que n\u00e3o poderia ser diferente. Em todos os meses de 2016, um novo candidato tomou a dianteira dos frameworks mais populares no GitHub, em uma disputa que exemplifica bem o ritmo de renova\u00e7\u00e3o &#8211; mais um motivo para n\u00e3o julgar o JavaScript como uma \u201ctoy language\u201d.<\/p>\n<p>Mas, fechados os resultados, \u00e9 poss\u00edvel notar que existem dois tipos de projeto dentro da categoria: frameworks completos, que incluem todos os recursos para a cria\u00e7\u00e3o de uma aplica\u00e7\u00e3o web (Angular 1 e 2, Ember e Aurelia, por exemplo), e solu\u00e7\u00f5es mais leves, que se concentram basicamente na camada de UI (como React, Inferno e Vue.js). Agora que j\u00e1 falamos sobre Vue, campe\u00e3o tamb\u00e9m na categoria Framework Front-end, vamos adentrar um pouquinho em seus \u201cconcorrentes\u201d.<\/p>\n<h3>React.js<\/h3>\n<p>Apesar do Vue.js aparecer no topo da lista, n\u00e3o podemos ignorar o <a href=\"https:\/\/facebook.github.io\/react\/\" target=\"_blank\" rel=\"nofollow noopener\">React.js<\/a> e seu ecossistema bastante rico. React, ali\u00e1s, aparece na <a href=\"https:\/\/medium.com\/@umbler\/previs%C3%B5es-para-2017-pelos-profissionais-da-umbler-parte-ii-d284cc34bff5#.3ctncprmr\" target=\"_blank\" rel=\"noopener\">lista da Umbler de tend\u00eancias para 2017<\/a> e tamb\u00e9m no <a href=\"https:\/\/www.thoughtworks.com\/pt\/radar\" target=\"_blank\" rel=\"nofollow noopener\">Tecnology Radar<\/a>, como uma tecnologia que vem sendo bastante adotada. Trata-se de um projeto open-source do Facebook, com uma longa lista de benef\u00edcios como: a grande facilidade de criar componentes pequenos e reutiliz\u00e1veis, utiliza\u00e7\u00e3o de sintaxe espec\u00edfica, possibilidade de rodar ao lado do servidor e o fato de trabalhar com V-DOM.<\/p>\n<p>React \u00e9 t\u00e3o popular que inspirou v\u00e1rias outras bibliotecas que, baseadas nele, focam em desempenho no navegador e tempo de constru\u00e7\u00e3o. Inferno e Preact, outros projetos populares nessa categoria, por exemplo, t\u00eam se empenhado em se posicionar como tecnologias ainda mais velozes. Segundo o <a href=\"https:\/\/stateofjs.com\/2016\/introduction\/#sections\" target=\"_blank\" rel=\"nofollow noopener\">State of JavaScript 2016<\/a>, o React apresenta o maior \u00edndice de satisfa\u00e7\u00e3o entre os frameworks Front-end (92%) e o maior interesse de aprendizado (74%).<\/p>\n<h3>Angular<\/h3>\n<p>Ainda que o Angular 1 (conhecido como <a href=\"https:\/\/angularjs.org\/\" target=\"_blank\" rel=\"nofollow noopener\">\u201cAngularJS\u201d<\/a> no GitHub) seja utilizado em muitos projetos, sua segunda vers\u00e3o vem ganhando bastante for\u00e7a &#8211; mesmo que a comunidade ainda seja resistente \u00e0 escrita em TypeScript. O projeto Angular acabou sendo dividido em dois reposit\u00f3rios, pois o Angular 2 \u00e9 uma reescrita completa da vers\u00e3o anterior, mesmo que alguns conceitos permane\u00e7am os mesmos. Angular 2 \u00e9 escrito em TypeScript e aproveita-se do ES6 para entregar uma estrutura ainda mais moderna e completa.<\/p>\n<p>No entanto, o Tecnology Radar avalia o AngularJS como uma tecnologia de espera, que necessita cautela para o uso, n\u00e3o a recomendando para projetos novos, principalmente por sua alta complexidade &#8211; e sugerindo alternativas como Ember e React, em conjunto com Redux. Ember, apesar de seu grande ecossistema, n\u00e3o aparece na listagem de frameworks mais populares, por\u00e9m, a tend\u00eancia apresentada pela ThoughtWorks pode ser notada no ranking: ao inv\u00e9s de optar por solu\u00e7\u00f5es completas, com todas as caracter\u00edsticas out of the box, os desenvolvedores t\u00eam escolhido abordagens mais leves e est\u00e3o compondo seus projetos \u201c\u00e0 la carte\u201d.<br \/>\n<a name=\"frameworknodejs\"><\/a><\/p>\n<h2>Frameworks Node.js<\/h2>\n<p>2016 foi mais um ano de sucesso para o <a href=\"https:\/\/nodejs.org\/en\/\" target=\"_blank\" rel=\"nofollow noopener\">Node.js<\/a>, uma plataforma para desenvolvimento de aplica\u00e7\u00f5es server-side baseadas em rede, que utiliza JavaScript e o V8 JavaScript Engine (caso voc\u00ea n\u00e3o saiba). As facilidades da utiliza\u00e7\u00e3o da mesma linguagem (JS) do client-side (curva de aprendizado mais reduzida), o modelo de IO n\u00e3o-bloqueante (sem tarefas pesadas travando a aplica\u00e7\u00e3o), a comunidade altamente ativa e a ades\u00e3o por grandes players (como LinkedIn, Walmart, Microsoft e Paypal) s\u00e3o apenas alguns dos t\u00f3picos positivos da tecnologia.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-2068 size-medium\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/estrelas-javascript-nodejs-300x225.gif\" alt=\"GIF NodeJS: estrelas do javascript 2016 \" width=\"300\" height=\"225\" \/><br \/>\nA cria\u00e7\u00e3o e implementa\u00e7\u00e3o de aplica\u00e7\u00f5es Node.js nunca foram t\u00e3o f\u00e1ceis, com solu\u00e7\u00f5es como Now, Webtask.io, Stdlib e projetos como o Gomix, que reduziu barreiras no universo Node e permitiu que qualquer pessoa pudesse escrever e compartilhar c\u00f3digos em poucos cliques, direto do navegador. Mas, quais foram os campe\u00f5es no quesito constru\u00e7\u00e3o de aplica\u00e7\u00f5es web no ano que passou?<\/p>\n<p>Podemos citar <a href=\"https:\/\/koajs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Koa<\/a>, middleware expressivo para Node.js que utiliza geradores ES6; <a href=\"https:\/\/feathersjs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Feathers<\/a>, solu\u00e7\u00e3o flex\u00edvel para a cria\u00e7\u00e3o de arquitetura \u201corientada a servi\u00e7os\u201d e cria\u00e7\u00e3o de microservices; <a href=\"https:\/\/www.nodaljs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Nodal<\/a>, destinado a servi\u00e7os distribu\u00eddos, conectados a banco de dados PostgreSQL; <a href=\"https:\/\/keystonejs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Keystone<\/a>, CMS e WebApp framework, \u00f3timo para gerenciar conte\u00fado proveniente de um banco de dados MongoDB; <a href=\"https:\/\/sailsjs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Sails<\/a>, framework MVC completo, compat\u00edvel com qualquer banco de dados, SQL ou n\u00e3o; e <a href=\"https:\/\/loopback.io\/\" target=\"_blank\" rel=\"nofollow noopener\">LoopBack<\/a>, estrutura madura, com diversos recursos embutidos, incluindo autentica\u00e7\u00e3o via token e conectores para qualquer tipo de banco de dados.<\/p>\n<p>Mas, o destaque fica para o Express.<\/p>\n<h3>Express ?<\/h3>\n<p>O <a href=\"https:\/\/expressjs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Express<\/a> \u00e9 um framework open-source para Node.js licenciado pelo MIT e projetado para a constru\u00e7\u00e3o de aplica\u00e7\u00f5es web e APIs. Inspirado na biblioteca Sinatra, preza pelo minimalismo, flexibilidade e, ao mesmo tempo, por um conjunto robusto de recursos para desenvolvimento, como um sistema de views intuitivo (MVC), um sistema de roteamento e um execut\u00e1vel para a gera\u00e7\u00e3o de aplica\u00e7\u00f5es.<\/p>\n<p>Segundo dados do <a href=\"https:\/\/trends.builtwith.com\/framework\/Express\" target=\"_blank\" rel=\"nofollow noopener\">Built With<\/a>, o uso do framework Express teve uma pequena queda em 2016, mas vem apresentando crescimento em 2017. S\u00e3o mais de 377 mil sites utilizando o framework &#8211; mais do que qualquer outro do ranking.<br \/>\n<a name=\"projetoreact\"><\/a><\/p>\n<h2>React Boilerplates<\/h2>\n<p>J\u00e1 falamos sobre o React e em como ele \u00e9 uma \u00f3tima biblioteca de UI, no entanto, o uso de React, e suas modernas ferramentas de workflow para desenvolvimento web, exige muitas configura\u00e7\u00f5es. \u00c9 nesse cen\u00e1rio que surgem seus boilerplates, express\u00e3o designada para c\u00f3digos concebidos como uma base de partida. Por exemplo, o jQuery boilerplate \u00e9 o c\u00f3digo JavaScript que cria todo o c\u00f3digo que normalmente \u00e9 usado em plugins jQuery.<\/p>\n<p>Entre os boilerplates ligados \u00e0 React mais escolhidos para a come\u00e7ar uma aplica\u00e7\u00e3o est\u00e3o:<\/p>\n<ul>\n<li>O hom\u00f4nimo <a href=\"https:\/\/www.reactboilerplate.com\/\" target=\"_blank\" rel=\"nofollow noopener\">React Boilerplate<\/a>, que al\u00e9m de ter tudo que os desenvolvedores precisam, incluindo Redux, possui features offline. \u00c9 excelente para a cria\u00e7\u00e3o dos Progressive Web Aplications (PWAs): aplicativos web executados offline, utilizando uma tecnologia chamada Service Worker &#8211; outra <a href=\"https:\/\/medium.com\/@umbler\/previs%C3%B5es-para-2017-pelos-profissionais-da-umbler-parte-ii-d284cc34bff5#.gyrl0xyyz\" target=\"_blank\" rel=\"noopener\">tend\u00eancia destacada pelos profissionais da Umbler para 2017<\/a>.<\/li>\n<li>O <a href=\"https:\/\/zeit.co\/blog\/next\" target=\"_blank\" rel=\"nofollow noopener\">Next.js<\/a>, criado pelo pessoal do Zeit, com um recurso de renderiza\u00e7\u00e3o ao lado do servidor, que pode ser usado para criar aplica\u00e7\u00f5es universais &#8211; que executam mais ou menos com o mesmo c\u00f3digo, tanto do lado do cliente, quanto do lado do servidor.<\/li>\n<li>E o campe\u00e3o, o Create React App.<\/li>\n<\/ul>\n<h3>Create React App ?<\/h3>\n<p>Criado em julho de 2016, e com mais de 17 mil estrelas no GitHub (somente em 2016), o <a href=\"https:\/\/github.com\/facebookincubator\/create-react-app\" target=\"_blank\" rel=\"nofollow noopener\">Create React App<\/a> \u00e9 uma ferramenta lan\u00e7ada pela equipe do Facebook com o objetivo de reduzir toda a complexidade envolvida na configura\u00e7\u00e3o de uma nova aplica\u00e7\u00e3o React. Como Dan Abramov (criador do Redux e trabalhando agora para o Facebook) explica no <a href=\"https:\/\/facebook.github.io\/react\/blog\/2016\/07\/22\/create-apps-with-no-configuration.html\" target=\"_blank\" rel=\"nofollow noopener\">blog oficial do React<\/a>, o Create React App permite que desenvolvedores criem uma nova aplica\u00e7\u00e3o, incluindo o processo de build e as depend\u00eancias necess\u00e1rias, em um \u00fanico comando &#8211; encontrando o equil\u00edbrio certo entre simplicidade e recursos.<\/p>\n<p>Ainda que projeto n\u00e3o tenha a mesma profundidade de uma ferramenta CLI, no mesmo formato de Ember-CLI e Angular-CLI, h\u00e1 planos para adicionar ainda mais funcionalidades a ele, que ser\u00e3o acrescentados gradualmente, a fim de deixar as configura\u00e7\u00f5es padr\u00e3o ainda melhores, segundo Abramov.<br \/>\n<a name=\"mobile\"><\/a><\/p>\n<h2>Mobile<\/h2>\n<p>Entre os anseios presentes no universo da programa\u00e7\u00e3o m\u00f3vel est\u00e3o, cada vez mais, a busca de ciclos de desenvolvimento mais curtos, tempo mais r\u00e1pido para implementa\u00e7\u00e3o e o melhor desempenho de aplica\u00e7\u00f5es. Mas, considerando os dois sistemas operacionais dominantes (Android e iOS), sempre h\u00e1 um questionamento: desenvolver aplicativos que oferecem uma melhor experi\u00eancia para o usu\u00e1rio ou aplicativos que s\u00e3o mais r\u00e1pidos para serem desenvolvidos e executam em mais plataformas e dispositivos?<\/p>\n<p>No meio da encruzilhada UX vs. facilidade de desenvolvimento, os <a href=\"https:\/\/www.upwork.com\/hiring\/mobile\/should-you-build-a-hybrid-mobile-app\/\" target=\"_blank\" rel=\"nofollow noopener\">aplicativos h\u00edbridos<\/a> despontam como uma \u00f3tima op\u00e7\u00e3o, j\u00e1 que s\u00e3o constru\u00eddos com tecnologias conhecidas pela maioria dos desenvolvedores (HTML, CSS e JavaScript) e s\u00e3o execut\u00e1veis nativamente em dispositivos m\u00f3veis.<\/p>\n<p>Entre as tecnologias mais populares para o desenvolvimento mobile destacam-se justamente os frameworks destinados a aplicativos h\u00edbridos: <a href=\"https:\/\/ionicframework.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Ionic<\/a>, pioneiro no conceito de aplica\u00e7\u00f5es h\u00edbridas, \u00e9 um framework open-source bastante maduro, com larga documenta\u00e7\u00e3o, alta performance e grande ecossistema; e <a href=\"https:\/\/www.nativescript.org\/\" target=\"_blank\" rel=\"nofollow noopener\">NativeScript<\/a>, focado na cria\u00e7\u00e3o de aplica\u00e7\u00f5es m\u00f3veis reais com base em tecnologias web e dispon\u00edvel em duas vers\u00f5es (NativeScript Core e NativeScript + Angular 2).<\/p>\n<p>Mas, n\u00e3o podemos deixar de destacar o primeiro lugar.<\/p>\n<h3>React Native ?<\/h3>\n<p>React mais uma vez na parada. E n\u00e3o \u00e9 pra menos! Com o <a href=\"https:\/\/facebook.github.io\/react-native\/\" target=\"_blank\" rel=\"nofollow noopener\">React Native<\/a>, \u00e9 poss\u00edvel criar aplica\u00e7\u00f5es m\u00f3veis nativas para iOS e Android utilizando conceitos familiares para os desenvolvedores React. \u00c9 vis\u00edvel que essa cria\u00e7\u00e3o do Facebook se destaca bastante perante a seus concorrentes (somente em 2016 foram mais de 17 mil estrelas adicionadas no GitHub), e isso se deve a v\u00e1rios motivos. Aqui, alguns deles:<\/p>\n<ul>\n<li>Atende iOS e Android e \u00e9 open-source permitindo que seja melhor trabalhado pela comunidade;<\/li>\n<li>Os componentes reutiliz\u00e1veis permitem que os apps h\u00edbridos sejam processados nativamente. A estrutura baseada em componentes tamb\u00e9m permite um desenvolvimento mais \u00e1gil e traz velocidade e funcionalidade ao aplicativo;<\/li>\n<li>\u00c9 poss\u00edvel aplicar componentes de UI do React Native em aplicativos j\u00e1 existentes, sem necessidade de reescrever todo o c\u00f3digo;<\/li>\n<li>Permite que qualquer programador Front-end consiga desenvolver aplica\u00e7\u00f5es m\u00f3veis, apenas com seus conhecimentos em JavaScript &#8211; sem necessidade de saber Swift ou Java, por exemplo;<\/li>\n<li>Por ser focado exclusivamente na constru\u00e7\u00e3o de UI mobile, permite a cria\u00e7\u00e3o de interfaces altamente responsivas, e com tempo de carregamento mais r\u00e1pido;<\/li>\n<li>Oferece compatibilidade com plugins de terceiros, menos uso de mem\u00f3ria e uma experi\u00eancia mais leve e intuitiva &#8211; o que traz efici\u00eancia no processo de produ\u00e7\u00e3o.<\/li>\n<\/ul>\n<p><a name=\"compiladores\"><\/a><\/p>\n<h2>Compiladores<\/h2>\n<p>Essa an\u00e1lise compreende os compiladores (ou \u201ctranspiladores\u201d) que geram JavaScript a partir de qualquer linguagem de programa\u00e7\u00e3o (ou qualquer varia\u00e7\u00e3o de JavaScript). Eles transformam o c\u00f3digo em c\u00f3digo \u201cJS padr\u00e3o\u201d, que o navegador (ou Node.js) pode executar. Por exemplo, os compiladores permitem que os desenvolvedores escrevam c\u00f3digo usando a vers\u00e3o mais recente do JS (ES6) sem ter que se preocupar com o suporte ao navegador &#8211; afinal, de preocupa\u00e7\u00f5es a vida de qualquer programador j\u00e1 est\u00e1 cheia.<\/p>\n<p>Voc\u00ea j\u00e1 deve conhecer a sensa\u00e7\u00e3o de ver seu c\u00f3digo devidamente compilado, n\u00e3o \u00e9? Ent\u00e3o vem conferir os destaques do GitHub.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2069 size-full\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/estrelas-javascript-compiladores.gif\" alt=\"GIF compiladores: estrelas javascript 2016\" width=\"400\" height=\"300\" \/><\/p>\n<ul>\n<li><a href=\"https:\/\/babeljs.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Babel<\/a> aparece em segundo lugar na lista e, juntamente com o Webpack, podemos dizer que \u00e9 praticamente um compilador-padr\u00e3o de c\u00f3digo ES6 e modelos usados por bibliotecas como React (JSX) em JavaScript padr\u00e3o. Inicialmente criado para compilar ES6, tornou-se uma ferramenta muito mais gen\u00e9rica que pode realizar qualquer transforma\u00e7\u00e3o de c\u00f3digo, gra\u00e7as a um sistema de plugins.<\/li>\n<li>Em terceiro lugar, temos o <a href=\"https:\/\/flowtype.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Flow<\/a>, que, na verdade, n\u00e3o \u00e9 um compilador, mas um verificador de tipo est\u00e1tico utilizado para \u201canotar\u201d o c\u00f3digo JavaScript. Basicamente, usar Flow dentro de uma base de c\u00f3digo significa adicionar coment\u00e1rios para descrever os tipos esperados. Atualmente \u00e9 utilizado dentro do c\u00f3digo-fonte de projetos do Facebook &#8211; e isso significa muito.<\/li>\n<li>Em \u00faltimo lugar, temos o <a href=\"https:\/\/coffeescript.org\/\" target=\"_blank\" rel=\"nofollow noopener\">CoffeeScript<\/a>, com sua sintaxe enxuta (inspirada em Python e Ruby), que, apesar de ter sido um compilador muito popular, aparece como o menos \u201cmoderno\u201d em 2016, j\u00e1 que muitos desenvolvedores acabaram o substituindo pelo Babel &#8211; muito em fun\u00e7\u00e3o do ES6.<\/li>\n<\/ul>\n<h3>TypeScript ?<\/h3>\n<p>A medalha de ouro da se\u00e7\u00e3o compiladores fica com <a href=\"https:\/\/www.typescriptlang.org\/\" target=\"_blank\" rel=\"nofollow noopener\">TypeScript<\/a>, que traz para os desenvolvedores da web os tipos est\u00e1ticos usados \u200b\u200bpelos desenvolvedores Java e C # &#8211; o que pode ser \u00f3timo para alguns e in\u00fatil para outros. O fato de que o Angular 2 usa TypeScript ajuda bastante em sua popularidade, mas n\u00e3o diminui as defesas e acusa\u00e7\u00f5es.<\/p>\n<p>Mas, fato \u00e9 que a proposta do TypeScript \u00e9 facilitar o desenvolvimento em JavaScript, principalmente quando o assunto \u00e9 ferramental, j\u00e1 que traz um conjunto de benef\u00edcios, como:<\/p>\n<ul>\n<li>M\u00f3dulos (mais f\u00e1cil exportar c\u00f3digo)<\/li>\n<li>Classes (bye bye, prototypes!)<\/li>\n<li>Navega\u00e7\u00e3o no c\u00f3digo fonte (\u00e9 poss\u00edvel renomear, encontrar refer\u00eancias e defini\u00e7\u00f5es)<\/li>\n<li>Tipos definidos (opcionais)<\/li>\n<li>Interfaces<\/li>\n<li>Refatora\u00e7\u00e3o<\/li>\n<\/ul>\n<p>Em resumo, o TypeScript faz a verifica\u00e7\u00e3o de erros enquanto compila o c\u00f3digo e permite gerar Javascript para diferentes vers\u00f5es do ECMAScript, sem que voc\u00ea precise se preocupar com isso &#8211; e o que facilita bastante o trabalho de equipes globais, por exemplo.<br \/>\n<a name=\"ferramentasbuild\"><\/a><\/p>\n<h2>Ferramentas de build<\/h2>\n<p>Em 2016, \u00e9 dif\u00edcil imaginar uma aplica\u00e7\u00e3o web sem qualquer tipo de processo de constru\u00e7\u00e3o. Geralmente, voc\u00ea precisa de um processo para compilar modelos e otimizar ativos para enviar sua aplica\u00e7\u00e3o web em produ\u00e7\u00e3o. Por isso, a investiga\u00e7\u00e3o sobre as principais ferramentas de build para aplica\u00e7\u00f5es JavaScript. O estudo State of JavaScript 2016, traz resultados semelhantes \u00e0 an\u00e1lise da bestof.js.org e adentra na quest\u00e3o de interesse e satisfa\u00e7\u00e3o das quatro principais ferramentas.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2070 size-full\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/estrelas-javascript-builders.png\" alt=\"ferramentas de build: estrelas javascript 2016\" width=\"980\" height=\"728\" \/><br \/>\n<a href=\"https:\/\/gulpjs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Gulp<\/a>, um runner gen\u00e9rico de tarefas, que pode ser usado para qualquer tipo de processo autom\u00e1tico envolvendo sistemas de arquivos, apresenta alto n\u00edvel de satisfa\u00e7\u00e3o dos usu\u00e1rios. 56% deles afirmam j\u00e1 ter utilizado a ferramenta e que voltariam a utiliz\u00e1-la. Apesar de 46% ter ouvido falar da tecnologia, mas n\u00e3o se mostrar interessado nela, 54% demonstram ter vontade aprend\u00ea-la.<\/p>\n<p>O mesmo n\u00e3o podemos falar de <a href=\"https:\/\/gruntjs.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Grunt<\/a>, cujo interesse, satisfa\u00e7\u00e3o e populariza\u00e7\u00e3o tem ca\u00eddo bastante nos \u00faltimos tempos &#8211; motivado, talvez, pelo pr\u00f3prio crescimento do Gulp. Apenas 40% dos entrevistados afirmam que usariam a ferramenta novamente. Com rela\u00e7\u00e3o \u00e0s estrelas adicionadas no GitHub em 2016, tamb\u00e9m fica bem abaixo dos seus concorrentes, com 888. Tanto Gulp quanto Grunt trabalham por agrega\u00e7\u00e3o: voc\u00ea pode minificar e concatenar uma lista de ativos, mas n\u00e3o trata do JavaScript modular por si s\u00f3, como as duas duas ferramentas analisadas.<\/p>\n<p><a href=\"https:\/\/browserify.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Browserify<\/a> aparece como uma ferramenta com bons n\u00edveis de satisfa\u00e7\u00e3o (63% dos usu\u00e1rios j\u00e1 utilizaram e utilizariam novamente). Por sua simplicidade, geralmente \u00e9 muito bem recebido por desenvolvedores Node.js: em resumo, o Browserify \u00e9 capaz de pegar v\u00e1rios pacotes Node como entrada e gerar um \u00fanico arquivo \u201cbuild\u201d para o navegador como sa\u00edda. No entanto, a ta\u00e7a dessa categoria, fica com outra ferramenta.<\/p>\n<h3>Webpack ?<\/h3>\n<p>A galera da Umbler j\u00e1 previu que <a href=\"https:\/\/webpack.github.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Webpack<\/a> \u00e9 uma grande tend\u00eancia para 2017 &#8211; e a ferramenta j\u00e1 fez bastante sucesso no ano passado. Trata-se da principal tecnologia utilizada para a constru\u00e7\u00e3o de p\u00e1ginas \u00fanicas, e fecha muito bem com o ecossistema React. Com 93% de satisfa\u00e7\u00e3o dos usu\u00e1rios que a utilizam e sua vers\u00e3o 2, rec\u00e9m-lan\u00e7ada, vem contando com melhorias promissoras &#8211; o que tende a amadurecer ainda mais a ferramenta.<\/p>\n<p>Em resumo, podemos dizer que trata-se de um empacotador de c\u00f3digos para projetos web, que foca nos m\u00f3dulos da sua aplica\u00e7\u00e3o e oferece a fun\u00e7\u00e3o code splitting, onde \u00e9 poss\u00edvel modularizar partes reaproveit\u00e1veis do projeto, facilitando o desenvolvimento independente.<\/p>\n<p>Enquanto solu\u00e7\u00f5es como RequireJS j\u00e1 vinham agregando m\u00f3dulos de JavaScript, concatenando-os e retornando apenas um arquivo JS, no Webpack os m\u00f3dulos n\u00e3o ficam restritos a essa linguagem. Utilizando Loaders, o Webpack compreende que um m\u00f3dulo JavaScript pode requisitar um arquivo CSS, e que aquele CSS pode requisitar uma imagem, por exemplo\u200a \u2014\u200a tudo o que for gerado vai conter apenas o necess\u00e1rio, com o m\u00ednimo de interfer\u00eancia.<br \/>\n<a name=\"frameworkteste\"><\/a><\/p>\n<h2>Frameworks de teste<\/h2>\n<p>Os testadores de JavaScript n\u00e3o est\u00e3o felizes. \u00c9 o que revela o State of JavaScript 2016. Al\u00e9m de alcan\u00e7ar um dos piores n\u00edveis de satisfa\u00e7\u00e3o em compara\u00e7\u00e3o a outros aspectos do ecossistema, os feedbacks dos desenvolvedores foram minados por @#!%^~ . Ainda assim, algumas op\u00e7\u00f5es como <a href=\"https:\/\/mochajs.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Mocha<\/a> e <a href=\"https:\/\/jasmine.github.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Jasmine<\/a> s\u00e3o as que mais se destacam nos quesitos de contentamento e interesse.<\/p>\n<p>J\u00e1 no levantamento da bestof.js.org, outra ferramentas como <a href=\"https:\/\/facebook.github.io\/jest\/\" target=\"_blank\" rel=\"nofollow noopener\">Jest<\/a> aparecem na frente com rela\u00e7\u00e3o \u00e0 popularidade. Jest \u00e9 um outro projeto do Facebook, bem conhecido na comunidade React &#8211; e que vem sendo bastante movimentado por ela, a ponto de poder se tornar a estrutura de testes mais popular em 2017. \u00c9 conhecida por ter bons recursos de mocking embutidos, enquanto outros frameworks de teste normalmente dependem de bibliotecas como Sinon.JS.<br \/>\n<em>But, the Oscar goes to (&#8230;)<\/em><\/p>\n<h3>AVA ?<\/h3>\n<p>Conhecido com um task runner futur\u00edstico, o <a href=\"https:\/\/github.com\/avajs\/ava\" target=\"_blank\" rel=\"nofollow noopener\">AVA<\/a> se diferencia por ser simples, r\u00e1pido e ter uma curva de aprendizado bem leve. Sua sintaxe est\u00e1 bem pr\u00f3xima de frameworks standard como Tape e Node-tap. Com rela\u00e7\u00e3o ao desempenho, a descri\u00e7\u00e3o do projeto fala por si s\u00f3:<\/p>\n<p>Mesmo que o JavaScript seja single-threaded, IO\u2019s em Node.js podem ocorrer em paralelo devido \u00e0 sua natureza ass\u00edncrona. O AVA tira vantagem disso e roda seus testes simultaneamente, o que \u00e9 especialmente ben\u00e9fico para testes pesados de IO. Al\u00e9m disso, os arquivos de teste s\u00e3o executados em paralelo como processos separados, proporcionando um desempenho ainda melhor e um ambiente isolado para cada arquivo de teste. Ter testes executados simultaneamente for\u00e7a voc\u00ea a escrever atomic tests, ou seja, os testes n\u00e3o dependem do estado global ou do estado de outros testes, o que \u00e9 muito bom!<br \/>\n<a name=\"ides\"><\/a><\/p>\n<h2>IDEs<\/h2>\n<p>Os IDEs (Integrated Development Environment) s\u00e3o ambientes de desenvolvimento integrado ou softwares que integram diversas ferramentas necess\u00e1rias para o desenvolvimento, desde a edi\u00e7\u00e3o do c\u00f3digo (sua principal fun\u00e7\u00e3o) at\u00e9 a refatora\u00e7\u00e3o desse. Quando o assunto \u00e9 IDEs aplicados ao universo JavaScript, algumas tecnologias acabam se destacando bem mais do que outras.<\/p>\n<p>At\u00e9 poder\u00edamos chamar esta de uma batalha de tit\u00e3s, daquelas cuja as discuss\u00f5es s\u00e3o eternas (vide bolacha vs. biscoito). Mas, fato \u00e9 que a popularidade dos dois principais concorrentes nessa categoria est\u00e3o bastante pr\u00f3ximas. O <a href=\"https:\/\/atom.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Atom<\/a>, impulsionado pela comunidade GitHub e constru\u00eddo com Electron, \u00e9 uma ferramenta que se destaca principalmente para aqueles que querem personalizar seu editor facilmente (dando muita liberdade para ajustes, adi\u00e7\u00f5es e extens\u00f5es), com excelente documenta\u00e7\u00e3o e com algumas pequenas desvantagens no quesito performance. Aqui, seu principal concorrente tamb\u00e9m \u00e9 um projeto open-source, com largo potencial.<\/p>\n<h3>Visual Studio Code ?<\/h3>\n<p>As mais de um 11 mil estrelas adicionadas no GitHub em 2016 colocam o <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Visual Studio Code<\/a> na dianteira das tecnologias IDE ligadas \u00e0 JavaScript. Al\u00e9m de fornecer uma boa integra\u00e7\u00e3o com TypeScript e Node.js, sua velocidade tem sido um dos quesitos mais louvados pelos desenvolvedores, gra\u00e7as ao recurso IntelliSense (uma combina\u00e7\u00e3o de highlighting e autocomplete).<\/p>\n<p>Outros pontos que merecem destaque s\u00e3o a infinidade de extens\u00f5es \u00fateis, a integra\u00e7\u00e3o com Git para controle de vers\u00e3o e com ferramentas externas, como Grunt e Gulp, e sua arquitetura robusta e extens\u00edvel. Segundo o Tecnology Radar, apesar de ser uma tecnologia recente, o VS Code merece aten\u00e7\u00e3o dos desenvolvedores e aparece como uma boa op\u00e7\u00e3o a ser considerada.<br \/>\n<a name=\"ssgs\"><\/a><\/p>\n<h2>Geradores de sites est\u00e1ticos<\/h2>\n<p>Os geradores de sites est\u00e1ticos (ou &#8220;SSG&#8221;) s\u00e3o ferramentas que geram arquivos .html, .css e JavaScript, que podem implementados em qualquer servidor web simples (Apache ou NGNX), sem dificuldades, cria\u00e7\u00e3o de banco de dados ou qualquer estrutura web complexa. Sites est\u00e1ticos se destacam, principalmente, por serem mais r\u00e1pidos, seguros e f\u00e1ceis de manter e criar. Hoje, sites constru\u00eddos em JavaScript, APIs e Markups s\u00e3o plenamente capazes de entregar conte\u00fados din\u00e2micos, sem serem lentos e com back-end complexo.<\/p>\n<p>Entre as duas ferramentas que mais se destacaram nessa categoria, e que s\u00e3o focadas justamente na gera\u00e7\u00e3o de sites est\u00e1ticos, est\u00e1 o rec\u00e9m-chegado <a href=\"https:\/\/github.com\/gatsbyjs\/gatsby\" target=\"_blank\" rel=\"nofollow noopener\">Gatsby<\/a> e sua m\u00e1xima: \u201cConstrua sites como se estivesse em 1995\u201d. Trata-se de uma solu\u00e7\u00e3o bastante interessante, que se destaca pelo uso de React para gera\u00e7\u00e3o de arquivos est\u00e1ticos HTML. O fato de ser poss\u00edvel combinar componentes React, arquivos markdown e renderiza\u00e7\u00f5es no lado do servidor torna-o ainda mais interessante. Mas, a estrela da vez \u00e9 outra.<\/p>\n<h3>Hexo ?<\/h3>\n<p>Destaque no estudo da bestof.js.org, destaque no StaticGen, destaque no GitHub. O <a href=\"https:\/\/hexo.io\/\" target=\"_blank\" rel=\"nofollow noopener\">Hexo<\/a> \u00e9 uma ferramenta SSG criada com o queridinho Node.js, que permite uma renderiza\u00e7\u00e3o bastante r\u00e1pido, mesmo em sites extremamente grandes. Aproxima-se bastante de estruturas CMS, como WordPress, e \u00e9 altamente extens\u00edvel. Outras das suas vantagens:<\/p>\n<ul>\n<li>Curva de aprendizagem muito curta;<\/li>\n<li>Atualiza\u00e7\u00f5es constantes;<\/li>\n<li>SEO-friendly nativo;<\/li>\n<li>Alta quantidade de <a href=\"https:\/\/blog.umbler.com\/br\/evitar-bloqueio-por-spam-no-whatsapp\/\">templates<\/a> e plugins;<\/li>\n<li>Excelente suporte e comunidade robusta;<\/li>\n<\/ul>\n<h2>Conclus\u00e3o<\/h2>\n<p>Apesar do JavaScript fatigue\u2122, n\u00e3o podemos negar o excelente ano para a comunidade JavaScript em 2016, principalmente com o impulsionamento de projetos como o Vue.js e React Native, e surgimento de novos projetos como o Yarn e o Create React App. As tecnologias espec\u00edficas, que solucionam quest\u00f5es pontuais de forma mais certeira, v\u00eam se posicionando como principal caracter\u00edstica, n\u00e3o s\u00f3 para JS, mas para o mercado de desenvolvimento como um todo. Cabe ao desenvolvedores, cada vez mais, avaliarem as melhores alternativas para seus cen\u00e1rios de atua\u00e7\u00e3o.<\/p>\n<p>E voc\u00ea, \u00e9 desenvolvedor JavaScript? Quais ser\u00e3o as estrelas de 2017, na sua opini\u00e3o? Compartilhe conosco nos coment\u00e1rios e confira um infogr\u00e1fico que preparamos com todos os dados sobre as tecnologias de destaque em 2016.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2084 size-full\" src=\"https:\/\/blog.umbler.com\/wp-content\/uploads\/2017\/02\/infografico-javascript.png\" alt=\"infogr\u00e1fico: estrelas javascript 2016\" width=\"900\" height=\"7840\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mais de vinte anos ap\u00f3s seu lan\u00e7amento, o JavaScript passa por uma fase de renova\u00e7\u00e3o e vem tomando a dianteira no ranking das tecnologias mais populares \u2013 uma valoriza\u00e7\u00e3o paralela \u00e0 evolu\u00e7\u00e3o dos web apps. Aparece como a tecnologia mais utilizada em Front-end, Back-end e Full-Stack, no Developer Survey Results, do Stack Overflow; Surge como [&hellip;]<\/p>\n","protected":false},"author":38,"featured_media":5393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[250],"class_list":["post-2063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","tag-javascript"],"_links":{"self":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/2063"}],"collection":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/comments?post=2063"}],"version-history":[{"count":0,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/posts\/2063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media\/5393"}],"wp:attachment":[{"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/media?parent=2063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/categories?post=2063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.umbler.com\/br\/wp-json\/wp\/v2\/tags?post=2063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}