javascript

Javascript é uma linguagem web executada na grande maioria das vezes no lado cliente servindo para dar dinamismo às páginas. Há uma variedade de coisas que podem ser programadas com javascript como gráficos 3D, gráficos 2D, som, dentre outras.

Recursos

Web Worker

O Web Worker é como se fosse uma implementação de Thread para Javascript. Ele permite a execução de funções que demoram um longo tempo e deixam a usabilidade lenta a parte do que está sendo processado no momento. Útil para carregamento e parse de arquivos grandes, bem como a realização de cálculos complexos e pesados que demandam tempo para serem finalizados.
Um exemplo de uso de web worker é deixar a página exibindo uma animação de carregamento, enquanto um worker carrega os dados necessários para se inicializar um jogo.
A comunicação de um worker com outro código javascript é feito por meio de troca de mensagens usando eventos.
Por outro lado, há restrições: Um web worker deve ser um arquivo js separado, sendo que ele pode manipular objetos javascript com exceção aqueles do DOM da página (árvore que representa visualmente os elementos da página), pois estes não são garantidos suportarem acesso concorrente.

Um excelente link sobre o assunto está em: http://www.html5rocks.com/en/tutorials/workers/basics/

Áudio e Vídeo

O HTML traz tags especializadas para Reprodução de sons e vídeos, podendo tais arquivos multimídia serem manipulados facilmente através de Javascript. Um exemplo desta manipulação poderia ser a aplicação de um efeito de negativo simultaneamente enquanto esse vídeo é processado. Não, no entanto, como dizer explicitamente em qual canal cada arquivo de som em execução ou a ser executado irá ser reproduzido.

WebSockets

Permite a comunicação mais eficiente entre cliente e servidor. Caso o servidor queira mandar uma mensagem para o cliente ele simplesmente pode usar o WebSocket ao invés de necessitar de o cliente consultá-lo periodicamente sobre nova informação como muitas aplicações faziam ou fazem até então.

ASM.JS

Tecnologia que acelera a execução de códigos javascript. O funcionamento dela envolve a tradução de certos padrões de código javascript para código de máquina, pois como observado pelo seu criador, algumas expressões em javascript tem um típo implícito e estático que pode ser deduzido pelo navegador.

WebAssembly

O WebAssembly é um formato de assembly para a Web. Ele é gerado por compiladores que transformam a linguagem que o usuário está pogramando em assembly entendido pelo navegador. Sua principal vantagem é o desempenho, pois o código é mais facilmente convertido em código de máquina e não há necessidade de interpretação e inferência de tipos previamente como acontece no código javascript normal.

Bibliotecas

Engines 3D

Engines 2D

Física

AI

xxx

Ajax

JQuery

xx

GUI (HTML)

Dojo

Biblioteca modular que suporta diversos recursos, dentre eles a provisão de widgets e o uso de ajax facilitado.
Link: http://dojotoolkit.org/

Outras

Dat-Gui

Permite você criar uma GUI para ajustar manualmente os parâmetros de objetos javascript
link: https://code.google.com/p/dat-gui/

JQuery

xx

K3d-js

Biblioteca para manipulação de malhas 3D em WebGL
link: http://k3d.ivank.net/

Bibliotecas que funcionam em navegadores específicos

As versões mais recentes do Chrome e do Firefox suportam duas APIs que são bastante úteis para jogos. Uma delas é a API para travar o mouse no centro da tela, a qual é útil para jogos de tiro em primeira pessoa (Veja como exemplo o BananaBread) e a segunda é a API para interagir com um controle (Joypad).

Veja mais

WebGL
WebCL
Bibliotecas e Frameworks para Html 5
Html5
Jogos 2d Em Html 5
Programação Internet

Ferramentas

Edite shader online: http://shader-playground.timjones.io/ (https://github.com/tgjones/shader-playground)

Links

https://cdn.rawgit.com/MaxBittker/glslify-talk/d1d3ec44/glslify.pdf: Shaders pré-prontos para se adicionar em código WebGL.
http://jsperf.com/: Um site dedicado à código para medir o desempenho de características do jaavscript
http://mrdoob.com/projects/editor/: editor de código HTML + javascript
https://developers.google.com/octane/: Benchmark javascript do Google
http://slides.html5rocks.com/#landing-slide Slides com os novos recursos disponíveis no HTML 5
http://en.wikipedia.org/wiki/List_of_JavaScript_libraries Lista de bibliotecas Javascript
http://casual-effects.blogspot.com.br/2013/12/javascript-desiderata.html: O porquê sim e o porquê não de se programar em javascript
http://stackoverflow.com/questions/218699/your-choice-of-cross-browser-javascript-gui : Seleção de bibliotecas para a GUI/UI da aplicação usando Javascript
http://speckyboy.com/2010/05/17/15-javascript-web-ui-libraries-frameworks-and-libraries/: Uma lista de 15 bibliotecas para UI em aplicações web.
http://javascript.info/: Tutorial de javascript. Lida com diversos assuntos que um programador Javascript precisa saber ou que e desejavel que ele conheca.
https://developer.mozilla.org/en-US/docs/Games: Seção da mozilla sobre jogos na Web. Muita informação reunida em um só lugar: tutoriais, links, tecnologias, etc.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.