- apresentar-se
- inicio - complemento netscape, mas evoluiu muito
- mostrar vários lugares onde podemos usar
- nao incentivo uso de js para tudo - precisamos analisar necessidades do projeto

node
- muitos nao fazem ideia das possibilidades
- ambiente diferente
- funcionalidades diferentes
- acesso aos arquivos do disco, SO
- base para outras funcionalidades que veremos

npm
- instalação e atualização de pacotes
- instalar programas - http-server (ex: apache) - nodemon (ex: ruby e python)

protractor
- testes de tela angular
- igual selenium
- vantagem: usar JS pra testes no navegador

grunt - gulp - brunch - automatizadores de tarefas
- obj: facilitar execução de scripts
- transpilação, minificação, testes
- ir além - salvar, testar jasmine, analisar pelo jslint, transpilar, minificar, commit e enviar email



express - hapi - koa - back-end
- back end
- apis - integrações de serviços
- Meteor - Sails - fullstack

mongodb
- FEITO EM C++
- seu console executa JS
- indexedDB - navegador

apps hibridos
- tecnologia nativa e web
- depende do navegador instalado


apps nativos
- react native - nativescript (angular - vue)
- sem webview - xml convertido para tela nativa
- nao depende do navegador do SO - use codigo moderno

apps desktop
- nw.js (antigo nodewebkit)
- electron - feito pelo github
- chromium + node integrados
- pode armazenar dados com indexedDB

apps feitos com electron
- Atom - Github(aplicação visual), wordpress, whatsapp, mongodb compass, postman, slack, vs code


jogos - phaser - impact
- uso do canvas
- prefiro unity (C#), mas jogos mais simples ficam mais leves em JS puro (vantagem apenas web)

plugins
- photoshop
- vs code extension
- navegadores
- staruml - modelador - diagramas



sistema operacional - nodeos
- baseado em linux com base em nodejs
- pacote npm é pacote do nodeos
- qqr um pode contribuir
- oferecer o necessario, npm cuida do resto


Programação de Hardwares e Internet das Coisas
- js além das telas dos computadores
- evento de drones com JS - nodecopter
- Internet das Coisas - noduino - node + arduino
- lampadas, portas e janelas de acordo com a iluminaçao ambiente
- gps do smartphone -> ligar cafeteira

tessel
- Projeto Tessel - placas vendidas no site
cylon.js
- framework voltado para robótica, computação física e Internet das Coisas.

3D
- canvas
- WebGL
- biblioteca muito utilizada - three.js

HoloJS - microsoft
- aplicações imersivas
- aplicações holográficas usando JavaScript e WebGL.

Realidade Virtual e Realidade Aumentada
- webgl
- JavaScript ARToolKit
- threejs - AR.js


Inteligência Artificial
- tensorflowjs - antigo deeplearnjs - browser e node
- treinamento e deploy de modelos - machine learning

Mapas
- Google Maps
- Google Earch
- imagens 3D
- Geolocalização

Emuladores
- GBA.js - game boy advance

Editores de Imagem
- edição
- animação
- imagens vetoriais

Edição, Leitura e Armazenamento de Documentos
- Google Docs
- One Drive - office
- documentos - planilhas - imagens - slides

videoconferencia
- Hangouts - skype
- webRTC - Real-Time Communications
- chamadas telefonicas

Reconhecimento de fala e conversão de texto
- essa apresentação - JS!
- onipresença
- nao há bala de prata - analisar necessidades do projeto para escolher melhor ferramenta
- possibilita experimentar novas áreas com conhecimento atual para entrar na área
- empresas com pouco dinheiro e tempo - dispensa treinamento da equipe ou novas contratações para lançar pelo menos um mvp
- reaproveitamento de código