/javascript

Muita informação e exemplos de Javascript, com foco em jogos

Primary LanguageJavaScriptMIT LicenseMIT

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

https://threejs.org/

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.