Em 1995 entrou no mercado uma jovem linguagem, então chamada de LiveScript, que apresentava inúmeras promessas ao desenvolvimento web. Problemas foram solucionados e criados, mais desenvolvedores foram inseridos no mercado, e as páginas web foram reinventadas. Quando o LiveScript se tornou um padrão nos navegadores, ele já tinha um nome que pode soar mais familiar: JavaScript.
Hoje, estamos passando pelo que pode se chamar "a segunda revolução do JavaScript". Após o surgimento de tecnologias como Node.js e Cordova, a comunidade começou a criar ferramentas extremamente eficientes e que facilitam a vida de desenvolvedores em vários aspectos. O JavaScript começou a tomar conta do mercado, e existe a possibilidade de se tornar o padrão, não apenas como uma linguagem de scripts, mas sim uma linguagem completa, que atua em todos os âmbitos do desenvolvimento web.
Engatinhando
O JavaScript, durante muito tempo, não foi uma linguagem respeitada. Era considerada uma linguagem de amadores e, por de fato ser utilizada por muitos programadores inexperientes, gerava códigos mal-escritos. Apesar de suas dificuldades e defeitos, a linguagem introduziu mais soluções do que problemas e ao longo dos anos foi se estabelecendo dentro do desenvolvimento web. Avance oito anos no tempo e JavaScript já havia se tornado um padrão em todos os navegadores do mercado e era pré-requisito para uma vaga de desenvolvimento. O JS mudou e moldou a web, deu muito mais poder aos desenvolvedores, e se estabeleceu permanentemente como a linguagem de scripts para a web.
Atualmente
Hoje, o JavaScript se reinventou mais uma vez, e mais uma vez, está entregando nas mãos dos desenvolvedores o poder de mudar o desenvolvimento. Temos inúmeras ferramentas para trabalhar em tudo relacionado a desenvolvimento. Para desenvolvimento de apps temos o Ionic, o React Native, e o NativeScript. Para desenvolvimento de web apps temos Angular.JS, Reacj.JS (React != React Native), e Vue.JS. Além disso, quase todas as ferramentas, mesmo que não escritas em JavaScript, oferecem alguma forma de plug-in para que possa ser utilizado facilmente na linguagem.
Dica: Google Maps API sem dor com gmaps.js
Mas, com tantas vantagens, por que ele ainda não virou o padrão do mercado? Por que ainda vemos boa parte de nossos sites e sistemas utilizando linguagens como Ruby, PHP e Python? Simples: Volatilidade. Praticamente todos os dias, um novo framework Javascript entra no mercado. Os Frameworks mais conceituados recebem atualizações e trocam de versões constantemente, e o mercado como um todo, é volátil. O Angular lançou diferentes versões de seu framework em poucos anos de desenvolvimento, o Node.js em si é atualizado semanalmente, e todas as bibliotecas e repositórios devem se adaptar a estas mudanças, o que não sempre acontece. Não é incomum você atualizar a versão do Node em seu projeto e descobrir que alguns pacotes estão quebrados.
Além desse ponto, o mundo JavaScript ainda é relativamente novo, a mão de obra ainda não é extremamente qualificada e isso não serve apenas para o desenvolvimento. A mão de obra do lado de infraestrutura ainda não está desenvolvida, isso gera riscos e custos que não necessariamente existem em outras linguagens. O JavaScript está passando pelo seu segundo BooM!, e até estabilizar, muita coisa fica perdida nesse caos.
Posso resumir minhas ressalvas ao Javascript nos seguintes tópicos:
- Tecnologia Volátil: muitas coisas são iniciadas e descontinuadas todos os dias.
- Infraestrutura nova: Profissionais e empresas ainda estão começando a evoluir serviços relacionados a JavaScript
- Mão de Obra: Os desenvolvedores ainda são tão jovens na tecnologia quanto ela mesma. Muitos padrões ainda podem ser definidos e melhorados.
Dica: O que é React Native?
Mas, e agora?
Eventualmente, minhas três principais preocupações serão resolvidas. A tecnologia irá passar a ter um crescimento mais contínuo ao invés de uma sequência de altos e baixo, a infraestrutura irá se adaptar a popularidade da linguagem e suas ferramentas, e os desenvolvedores, com um crescimento mais controlado da tecnologia, estabelecerão acordos, padrões, e o conhecimento será mais facilmente difundido. Quando isso acontecer, o JavaScript vai ter o melhor de todos os mundos com uma única linguagem, o que irá facilitar muito a vida de desenvolvedores FullStack. Com uma curva menor, será possível atuar em inúmeras áreas de desenvolvimento, é quase uma utopia. Mas, se isso acontecer, o que será de nosso Ruby, PHP e Python?
Na minha opinião, chegou o momento de se renovar. Um novo player chegou no mercado, e a comunidade está fazendo tudo para que o novo Javascript venha para ficar. Cabe aos players atuais mostrarem valor para se manter no mercado. Caso as nossas linguagens back-end continuem a oferecer apenas o que o JavaScript passou a oferecer, existe uma boa chance de vermos nossos stacks de tecnologia migrando para trabalhar exclusivamente com JavaScript.