Principais estruturas e tópicos JavaScript para aprender em 2019

Eric Elliott Blocked Unblock Seguir Seguindo 31 de dezembro de 2018 Image: Jon Glittenberg Feliz Ano Novo 2019 (CC BY 2.0)

É essa época do ano novamente: a visão geral anual do ecossistema da tecnologia JavaScript. Nosso objetivo é destacar os tópicos e tecnologias de aprendizagem com o ROI de maior potencial de trabalho. O que as pessoas estão usando na força de trabalho? Como são as tendências? Não estamos tentando escolher o que é melhor, mas usando uma abordagem orientada a dados para ajudá-lo a se concentrar no que realmente pode ajudá-lo a conseguir um emprego quando o entrevistador pergunta “você sabe __ (preencha o espaço em branco) __? "

Não vamos olhar quais são os mais rápidos ou quais têm a melhor qualidade de código. Vamos supor que eles são todos demônios de velocidade e eles são todos bons o suficiente para fazer o trabalho. O foco está em uma coisa: o que realmente está sendo usado em escala?

Estruturas de Componentes

A grande questão que vamos examinar é o estado atual dos frameworks de componentes, e vamos nos concentrar principalmente nos três grandes: React, Angular e Vue.js, principalmente porque eles quebraram tudo muito à frente do resto o pacote em termos de adoção no local de trabalho.

No ano passado, observei o quão rápido o Vue.js estava crescendo e mencionei que ele pode pegar o Angular em 2018. Isso não aconteceu, mas ainda está crescendo muito rapidamente. Eu também previ que seria muito mais difícil converter usuários do React porque os usuários do React têm uma taxa de satisfação do usuário muito mais forte. Isso aconteceu como esperado em 2018. A React manteve seu controle em 2018.

Curiosamente, todos os três quadros ainda estão crescendo exponencialmente, ano após ano.

Previsão: Reagir continua a dominar em 2019

O React ainda tem as maiores classificações de satisfação do usuário no espaço pelo terceiro ano em que estamos acompanhando, e não está abrindo espaço para os concorrentes. Atualmente, não vejo nada que possa desafiá-lo em 2019. A menos que algo grande e louco venha e atrapalhe, o React será a estrutura para vencer novamente no final de 2019.

Falando em React, está cada vez melhor. A nova API de ganchos React substituiu a API de class eu tenho apenas tolerado desde o Reagir 0.14. (A API da class ainda funciona, mas a API de ganchos é realmente muito melhor ). As grandes melhorias da API do React, como um melhor suporte para a divisão de código e renderização simultânea (veja detalhes ), vão torná-lo realmente difícil de superar em 2019. O React é sem dúvida o framework frontend mais amigável para desenvolvedores no espaço. Eu não poderia recomendar mais.

Fontes de dados

Analisaremos um punhado de dados importantes para avaliar o interesse e o uso no setor:

  1. Tendências de pesquisa do Google. Não é o meu indicador favorito, mas é bom para uma grande visualização de imagem.
  2. Transferências de Pacotes. O objetivo aqui é pegar usuários reais no ato de usar o framework.
  3. Postagens de Job Board de Indeed.com. Usando a mesma metodologia de anos anteriores para consistência.

Tendências de pesquisa do Google

Principais tendências de pesquisa: de janeiro de 2014 a dezembro de 2018

Reagir superou Angular nas tendências de pesquisa em janeiro de 2018 e manteve a liderança até o final do ano. O Vue.js agora mantém uma posição visível no gráfico, mas ainda é um fator pequeno nas tendências de pesquisa. Para comparação: gráfico do ano passado:

Tendências de pesquisa do Framework: Jan 2014 – Dez 2017

Downloads de Pacotes

Os downloads de pacotes nos dão uma indicação justa do que realmente está sendo usado, porque os desenvolvedores freqüentemente baixam os pacotes de que precisam enquanto estão trabalhando.

Leitores excessivamente inteligentes notarão que às vezes eles fazem o download dessas coisas de seus repositórios internos de pacotes corporativos, aos quais eu respondo: “por que sim, isso acontece – em todos os três frameworks”. Todos eles estabeleceram uma posição na empresa e Estou confiante no poder médio desses dados em escala.

Downloads Reagentes Mensais: 2014–2018

Downloads mensais angulares: 2014–2018

Transferências mensais de Vue: 2014–2018

Vamos ver uma comparação visual rápida da parcela de downloads:

“Mas você está esquecendo tudo sobre o Angular 1.0! Ainda é enorme na empresa. ”

Não, eu não sou. O Angular 1.0 ainda é muito usado na empresa, da mesma forma que o Windows XP ainda é muito usado na empresa. Está definitivamente lá fora em número suficiente para perceber, mas as novas versões há muito tempo diminuíram a ponto de serem agora menos significativas do que as outras estruturas.

Por quê? Porque o setor de software em geral e o uso geral de JavaScript em todos os setores (incluindo a empresa) estão crescendo tão rapidamente que novas instalações rapidamente superam instalações antigas, mesmo que os aplicativos herdados nunca atualizem.

Para evidências, basta dar uma olhada nessas tabelas de download. Mais downloads em 2018 do que nos anos anteriores combinados.

Postagens no Job Board

Indeed.com agrega postagens de emprego de uma variedade de quadros de empregos. Todos os anos, contabilizamos as ofertas de emprego – mencionando cada estrutura para lhe dar uma ideia melhor do que as pessoas estão contratando. Aqui está o que parece este ano:

Dez de 2018 Postagens no Job Board por Framework

  • Reagir: 24,640
  • Angular: 19.032
  • jQuery: 14.272
  • Vue: 2.816
  • Ember (não ilustrado): 2.397

Mais uma vez, muito mais empregos totais este ano do que no ano anterior. Larguei Ember porque claramente não está crescendo a um ritmo que todo o resto é. Eu não recomendaria aprendê-lo para se preparar para um futuro emprego. Os trabalhos de jQuery e Ember não mudaram muito, mas todo o resto cresceu muito.

Felizmente, o número de novas pessoas ingressando na área de engenharia de software cresceu muito em 2018, mas precisamos continuar a contratar e treinar desenvolvedores juniores (o que significa que precisamos de desenvolvedores seniores qualificados para orientá-los ), ou não continuaremos ritmo com o crescimento do emprego explosivo. Para comparação, aqui está o gráfico do ano passado:

O salário médio voltou a subir em 2018, de US $ 110 mil / ano para US $ 111 mil / ano. Curiosamente, as listagens salariais estão ficando abaixo das expectativas de novos contratados, e os gerentes de contratação terão dificuldade em contratar e reter os desenvolvedores se não se ajustarem ao mercado dos desenvolvedores e oferecerem maiores aumentos salariais. A retenção e a caça furtiva continuam a ser um problema enorme em 2018, quando os funcionários abandonam o navio para empregos que pagam mais, em outros lugares.

  1. Metodologia: Pesquisas de emprego foram realizadas no Indeed.com. Para eliminar os falsos positivos, emparelhava as pesquisas com a palavra-chave “software” para reforçar a chance de relevância e depois multiplicava por ~ 1,5 (aproximadamente a diferença entre listagens de empregos de programação que usam a palavra “software” e aquelas que não usam. ) Todas as SERPS foram classificadas por data e o local foi verificado quanto à relevância. Os números resultantes não são 100% precisos, mas são bons o suficiente para as aproximações relativas usadas neste artigo.

Fundamentos JavaScript

Eu digo isso todo ano: concentre-se nos fundamentos. Este ano você está recebendo ajuda extra. Todo o desenvolvimento de software é composto: o ato de dividir problemas complexos em problemas menores e compor soluções para esses problemas menores para formar sua aplicação.

Mas quando pergunto aos entrevistados de JavaScript as questões mais fundamentais em engenharia de software, “o que é composição de funções?” E “o que é composição de objetos?”, Quase invariavelmente não conseguem responder às perguntas, embora as façam todos os dias.

Há tempos penso que este é um problema muito sério que precisa ser resolvido, por isso escrevi um livro sobre o tema: “Compor Software” .

Se você não aprender mais nada em 2019, aprenda a compor bem o software.

No TypeScript

O TypeScript continuou a crescer em 2018 e continua a ser superestimado porque a segurança do tipo não parece ser uma coisa real (não parece reduzir muito a densidade de erros de produção) e inferência de tipos em JavaScript sem a ajuda do TypeScript é realmente muito boa. Você pode até usar o mecanismo TypeScript para obter inferência de tipos no JavaScript normal usando o Visual Studio Code. Ou instale os plugins do Tern.js para o seu editor favorito.

O TypeScript continua a cair de cara na maioria das funções de ordem superior. Talvez eu simplesmente não saiba como usá-lo corretamente (depois de anos vivendo com ele regularmente – nesse caso, eles realmente precisam melhorar a usabilidade, a documentação ou ambos), mas eu ainda não sei como digite a operação do mapa no TypeScript, e parece estar alheio a qualquer coisa acontecendo em um transdutor . Ele não detecta erros e frequentemente reclama de erros que na realidade não são erros.

Ele simplesmente não é flexível ou completo o suficiente para suportar como eu penso sobre software. Mas ainda estou esperando que um dia ele acrescente os recursos de que precisamos, porque, ao mesmo tempo em que suas deficiências me frustram ao tentar usá-lo para projetos reais, também adoro o potencial de ser capaz de usar de forma adequada (e seletiva) digite coisas quando é realmente útil.

Minha classificação atual: Muito legal em casos de uso restritos e muito selecionados, mas ROI superestimada, desajeitada e muito baixa para grandes aplicativos de produção. O que é irônico, porque o TypeScript se auto-intitula “JavaScript que escala”. Talvez eles devam adicionar uma palavra: “JavaScript que escala desajeitadamente”.

O que precisamos para JavaScript é um sistema de tipos modelado mais após o de Haskell e menos após o de Java.

Outra tecnologia JavaScript para aprender

A ascensão da indústria da criptografia

No ano passado, previ que blockchain e fin-tech seriam grandes tecnologias para se assistir em 2018. Essa previsão estava correta. Um dos principais temas de 2017-2018 foi o surgimento da criptografia e a construção das bases da internet de valor. Lembre-se dessa frase. Você vai ouvir muito em breve.

Se você é como eu e está acompanhando aplicativos descentralizados desde a explosão do P2P, isso já vem de muito tempo. Agora que o Bitcoin acendeu o rastilho e mostrou como os aplicativos descentralizados podem ser auto-suficientes usando criptomoedas, a explosão é imparável.

Bitcoin cresceu várias ordens de magnitude em apenas alguns anos. Você pode ter ouvido falar que 2018 foi um "inverno de criptografia", e teve a idéia de que a indústria de criptografia está em algum tipo de problema. Isso é um absurdo completo. O que realmente aconteceu foi no final de 2017, o Bitcoin atingiu outro múltiplo de 10x em uma curva de crescimento exponencial épico, e o mercado recuou um pouco, o que acontece toda vez que o valor de mercado da Bitcoin cresce mais 10x.

Pontos de Inflexão Bitcoin 10x

Neste gráfico, cada seta começa em outro ponto de 10x e aponta para o ponto baixo na correção de preço.

A arrecadação de fundos para as OIC de criptografia atingiu o pico no início de 2018, e a bolha de financiamento de 2017–2018 trouxe uma onda de novas vagas de trabalho no ecossistema, atingindo mais de 10 mil vagas abertas em janeiro de 2018. (de acordo com Indeed.com), mas ainda estamos muito cedo e esta festa está apenas começando.

Há muito mais a dizer sobre a crescente indústria de criptografia, mas esse é um outro post no blog. Se estiver interessado, leia “Plataformas Blockchain e Tech to Watch em 2019” .

Outra tecnologia para assistir

Conforme previsto no ano passado, essas tecnologias continuaram a explodir em 2018:

O AI / Machine Learning está a todo vapor com 30k de trabalhos abertos no final de 2018, falsificações profundas, incrível arte generativa, incríveis recursos de edição de vídeo das equipes de pesquisa de empresas como a Adobe – nunca houve um momento mais emocionante para explorar a IA.

Os aplicativos da Web progressivos estão se tornando rapidamente o modo como os aplicativos da Web modernos são criados adequadamente – recursos adicionais e suporte do Google, da Apple, da Microsoft, da Amazon etc. É incrível a rapidez com que concordo com os PWAs no meu telefone. Por exemplo, eu não tenho mais o aplicativo do Twitter para Android instalado no meu telefone. Eu uso exclusivamente o Twitter PWA .

AR (Realidade Aumentada) VR (Realidade Virtual) MR (Realidade Mista) todos se uniram e uniram forças como Voltron para se tornar XR (eXtended Realty). O futuro da imersão em XR em tempo integral está chegando. Estou prevendo dentro de 5 a 10 anos para adoção em massa de óculos XR para consumidores. As lentes de contato dentro de 20 Milhares de novos postos de trabalho aberto em 2018, e esta indústria continuará a explodir em 2019.

Robótica, drones e veículos autônomos Os drones autônomos já estão aqui, os robôs autônomos continuam a melhorar e mais veículos autônomos estão compartilhando a estrada conosco no final de 2018. Essas tecnologias continuarão a crescer e a remodelar o mundo ao nosso redor até 2019 e nos próximos 20 anos.

A computação quântica progrediu admiravelmente em 2018, como previsto, e como previsto, ela ainda não se tornou mainstream. Na verdade, minha previsão, "pode ser 2019 ou mais tarde, antes que a interrupção realmente comece", era provavelmente muito otimista.

Pesquisadores no espaço criptográfico prestaram atenção extra aos algoritmos de criptografia seguros para quantum (a computação quântica invalidará muitos dos pressupostos de hoje sobre o que é caro computar, e a criptografia depende de coisas caras de serem computadas), apesar de uma inundação constante interessante progresso da pesquisa em 2018, um relatório recente coloca as coisas em perspectiva :

“A computação quântica está na lista de anúncios publicitários da Gartner 11 vezes entre 2000 e 2017, cada vez listada no estágio inicial do ciclo de hype e cada vez que se diz estar a mais de uma década de distância”.

Isso me lembra dos primeiros esforços de inteligência artificial, que começaram a esquentar nos anos 50, tiveram um sucesso limitado, mas interessante, nos anos 80 e 90, mas apenas começaram a se tornar realmente espantosos por volta de 2010.

Texto original em inglês.