Javascript, a linguagem que mais cresce atualmente
Atualmente é mais simples falar do que não se pode fazer com Javascript do que do que se pode fazer.
Javascript e seu rico Ecossistema
Muita informação e exemplos de Javascript, com foco em jogos e na criação.
Esclarecendo um pouco
A linguagem com a qual tenho mais experiência, passei mais de 20 anos com ela, é o PHP. Tenho usado o Javascript apenas no frontend com coisas bem simples. Mas o Javascript tem chamado muito a minha atenção ultimamente pela grande quantidade de recursos e por suas características. Basta ter um browser para rodar algo em Javascript e isso é importante. Agora resolvi estudar Javascript de forma mais organizada e aprofundada.
É uma linguagem das fáceis de se aprender, ao meu ver. Tipada dinamicamente, o que significa que o tipo de dados será verificado apenas em tempo de execução.
Se você é exigente e deseja usar de forma exigentemente tipada, então vá de Typescript, uma variante do JS.
https://github.com/ahamed/JsPhp - A php library for implementing Array, Object, String methods in JavaScript way. O que não existe em Javascript?
Agora vejamos algumas das bibliotecas e frameworks Javascript
https://www.mathjax.org/ - Beautiful and accessible math in all browsers
https://blockly.games/?lang=pt-br - Tipo Scratch em JS
Atualmente a linguagem Javascript é a que mais cresce entre as linguagens de programação, pelo que tenho visto.
Tem uma enorme quantidade de frameworks, runtimes, bibliotecas de vários tipos e para várias áreas de interesse, sem contar sua evolução.
Com o aumento da complexidade dos sites houve a necessidade das ferramentas evoluirem para atender as novas necessidades.
Há algum tempo não se separava os papeis de programador com tanta clareza como agora, quando temos back-end, front-end, devops, etc.
É o caso da biblioteca React e do framework Vue, que surgiram para criar um frontend mais rico para atender às necessidades dos novos sites, como o Facebook e grandes portais.
Então o avanço da e4cnologia permitiu aparecer runtimes que usam o Javascript também no back-end, com Node (https://nodejs.org), Deno (https://deno.land/), Bun (https://bun.sh/) entre outros que vieram do Google V8 engine.
Temos bibliotecas como jQuery, frameworks como Bootstrap.
Bibliotecas esepcializadas em gráficos como D3.js, Chart.js, Chartist, Britecharts, Taucharts, https://zzz.dog/ e muitas outras, inclusive não param de surgir, parece até as distribuições do Linux.
Bibliotecas especializadas em matemática como Math.js, currency.js, accountjs, fractionjs, etc
O gerenciador de pacotes npm do Node se trornou um software muito popular, tanto que foi comprado pela Microsoft.
Com o Node.JS também é possível criar aplicações Desktop. Estas aplicações normalmente utilizam o Chromium, navegador de código aberto que está por trás do Google Chrome, e o Node.js.
As telas são feitas com HTML5 e CSS3, e o JavaScript pode se comunicar diretamente com o Node.js, que fica embutido na aplicação.
Atualmente o framework mais utilizado é o Electron, criado pela equipe do GitHub. Com ele já foram desenvolvidos famosos softwares como o Atom, Slack, WhatsApp Desktop e Visual Studio Code.
Também é possível criar aplicativos para SmartTVs. Você irá também usar HTML/CSS/JavaScript. As que dão maior suporte para isso são as TVs da Samsung.
Se faz verdadeira mágica com Javascript, veja
Este exemplo:
https://ribafs.github.io/threejs
https://github.com/ribafs/threejs
Frameworks para Jogos
Jogos incríveis são criados com diversos frameworks que usam Javascript. Meu rpeferido é o Phaser, https://phaser.io/.
Chega-se a ter um sistema operacional com base no Javascript: http://node-os.com/, The first operating system powered by node.js and npm
Com o Node.JS também é possível controlar hardwares. Podemos então usar o JavaScript para trabalhar além das telas dos computadores e celulares, como controlar drones.
Ao programar placas, podemos criar códigos para até mesmo integrar vários objetos, o famoso “Internet das Coisas” (IoT). Imagine usar JavaScript para controlar as lâmpadas, portas e janelas de sua casa de acordo com a iluminação do ambiente. Ou que quando o GPS do seu smartphone perceber que você está chegando em casa ou no trabalho, ligue a cafeteira para que o café esteja pronto quando você chegar.
Um exemplo é o noduino, um framework para acessar os controles básicos do Arduino a partir de aplicações web usando HTML5, Socket.IO e Node.JS.
Também há o projeto Tessel. No próprio site você pode comprar as placas para montar o seu produto.
O JavaScript também é capaz de ser utilizado com hologramas. Um exemplo é o HoloJS, da Microsoft, que é um framework para criar aplicações holográficas usando JavaScript e WebGL.
https://github.com/Microsoft/HoloJS
Muito se fala sobre Realidade Virtual e Realidade Aumentada. Um exemplo para realidade aumentada é o JavaScript ARToolKit.
https://github.com/artoolkit/jsartoolkit5
Também podemos aproveitar o JavaScript na área da inteligência artificial. Há muitas bibliotecas e exemplos.
Uma biblioteca muito usada para isso é o Tensorflow.js, versão em JavaScript da famosa biblioteca Tensorflow, originalmente escrita em Python pelo Google. Com ela podemos desenvolver modelos de Machine Learning diretamente no navegador ou com o Node.js.
Eu também já mostrei aqui no blog como criar no navegador uma Inteligência Artificial que reconhece cores usando o Tensorflow.js.
https://www.tensorflow.org/js/
(https://www.treinaweb.com.br/blog/o-que-se-pode-fazer-com-javascript-hoje-em-dia)
Com certeza tem muito mais recursos usando o Javascript. Talvez seja mais fácil dizer o que não se consegue fazer com Javascript do que o que se consegue.
Tenho juntado muito conteúdo e exemplos Javascript durante algum tempo e resolvi publicar, tá tudo aqui: