Pelos Poderes do JS...

Eu tenho a FORÇA!

Quem...?

Luan Castro

       Analista em Desenvolvimento de Sistemas

@castrolol

Ex-Competidor OC de TI

@castrolol

castrolol.dev@gmail.com

O Que...?

Javascript no...

Javascript!

Navegador

Servidor

Desktop

Games

Banco
de
Dados

Robôs!

Mobile

Javascript no...

Navegador

No Navegador...

Interatividade

Experiência do Usuário

Vida!

Evoluiu e ganhou muitos poderes!

Antes

Ferramenta para auxiliar validações e interações pequenas.

Hoje

Ferramenta para criações de aplicações completas na parte do cliente.

Javascript no...

Mobile

A realidade da criação de Apps

Android

iPhone

Windows Phone

Javascript como uma alternativa

Javascript + CSS + HTML

Cordova

Android

iPhone

Windows Phone

Cordova...?

Conjunto de APIs para manipulação de dispositivos móveis, que permite o desenvedor de APPS usar a tecnlogia da WEB 

Tudo isso... sem perder a essência

navigator.camera.getPicture(onSuccess, onFail, { 
    quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
});

function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

function onFail(message) {
    alert('Failed because: ' + message);
}

Apps com Javascript

Indoonia

Rormix

Orbium

Filterbox

Servidor

Imagine se...

Você pudesse usar no servidor a mesma linguagem que usa no cliente, compartilhando e reutilizando código...

Você Pode!

Apresento-lhes

Plataforma criada com o runtime de Javascript do Chrome, com intuito de criar aplicações para internet com alta escalabilidade.

Foco na comunidade!

Core

Comunidade

Simples como... JS!

var express = require('express')
var app = express();
var http = require('http').Server(app); 

app.use(express.static('public'));

app.get('/', function(req, res){
  res.sendfile('index.html');
}); 

http.listen(3000, function(){
  console.log('server up!');
});

Porque um Server em JS?

Simplicidade

Escalonabilidade

Multi-plataforma

Infinidade de Bibliotecas (NPM)

Reuso de código no Client/Server

Demo

Banco
de
Dados

Queremos sempre mais...

Já temos JS no cliente

Já temos JS no servidor

Porque não no Banco de Dados?

MongoDB e CouchDB

O Ciclo completo!

MySql

MongoDB

 

SELECT 
	nome,
	idade,
	sexo
FROM 
	Pessoa
where
	idade > 18
order by nome
	
db.Pessoa.find({
    "idade": {
        "$gt": 18
    }
}, {
    "nome": 1,
    "idade": 1,
    "sexo": 1
}).sort({
    "nome": 1
});

Desktop

Aplicações em Desktop ?

Bom... quase isso

Aplicações Desktop com a Beleza da Web

Referencias

Robôs?!

Internet-das-Coisas

Internet-of-Things (IoT)

Rede de produtos ou "Coisas" que estarão embarcadas com componentes eletrônicos, softwares e sensores.

IoT no Futuro...

    De acordo com uma pesqisa da Gartner a IoT vai ultrapassar U$300bi em 2020

     Em 2020 o numero de smartphones, tablets e PC's juntos vai chegar a 7,3bi enquanto a quantidade de dispositivos IoT irá ultrapassar 26bi.

Tinkering... !

Johnny-five é uma framework que facilita a programação robótica em JS.

var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var led = new five.Led(13);
  led.blink(500);
});

Demo!...

JS + Arduino + Joystick

Games!!!

Um império derrubado!

Frameworks de Games em JS

Tudo que é preciso pra ser respeitado

2D e 3D com FPS aceitaveis

Acesso à camera e microfone

Suporte para Joystyck e Leapmotion

Shaders com HSLS

Multiplataforma... de verdade!

Jogos de Alta Performance

Links

Trigger Rally
triggerrally.com

Perguntas?

Pelos poderes do JS... Eu tenho a FORÇA!

By castrolol

Pelos poderes do JS... Eu tenho a FORÇA!

  • 300