Javascript nos dias de hoje

Preview:

DESCRIPTION

Apresentar projetos de sucesso, feitos em Javascript nas plataformas: Mobile, Web e Desktop, com o objetivo de mostrar que JS não é apenas uma linguagem client-side.

Citation preview

Javascriptnos dias de hoje

Caio Ribeiro Pereira

Caio Ribeiro PereiraDesenvolvedor web (JS/Node.js) na Neoassist

Bacharel em Sistemas de Informação na Unisantos

Entusiasta Javascript / Node.js

Contatocaio.ribeiro.pereira@gmail.com

@crp_undergroundgithub.com/caio-ribeiro-pereira

Blogs www.udgwebdev.com

www.udglinux.comwww.crpunderground.wordpress.com

HTML, CSS e Javascriptestão em todas as

plataformas

Eles formam a família da web

HTML: Pai engenheiroCSS: Mãe decoradoraJavascript: Filho nerd

Sobre o Javascript

• Criado por Brendan Eich• Nasceu em 1995 • Linguagem script para o

Netscape• Mocha -> LiveScript -> Javascript• Douglas Crockford popularizou

JSON em 2002

Características do Javascript

• Orientado à eventos• Baseado em objetos (Prototype)• Assíncronismo via callbacks• Síntaxe parecida: Java, C# e C++• Padronizada pela ECMA• Versão atual: ECMAScript 5.1

Linguagens que compilam JS

• Síntaxe inspirada pelo Ruby e Python• Recusos:–Syntax Sugar–Classe e herança–Conditional Assignment:

• if true then “ok” else “no”

–Loop comprehension:• size = (num for num in [10..1])

• http://coffeescript.org

• Síntaxe inspirada pelo Java e .NET• Recursos:–Classe, Herança e Interface–Strong Typing–Generics, Enums e Iterators–Packages

• http://www.haxejs.org

• Síntaxe inspirada pelo Java e .NET• Recursos:–Classe, Herança e Interface–Strong typing–Overriding–Modules

• http://www.typescriptlang.org

Javascript server-side

• Orientado à eventos de I/O• Thread não-bloqueante• Utiliza o JS Chrome V8 Engine• http://nodejs.org

• Criado pela Mozilla Foundation• Javascript Java Runtime• Utiliza recursos da JVM• https://developer.mozilla.org/en-US/d

ocs/Rhino

• Inspirado no Rhino• Utiliza recursos da JVM• Utiliza CommonJS Runtime• http://ringojs.org

Banco de dados que usam JS

• Banco de dados NoSQL• Orientado a documentos (JSON)• Dynamic Schema• GridFS • MapReduce• http://www.mongodb.org

• Banco de dados NoSQL• Orientado a documentos (JSON)• Dynamic Schema• Acesso via HTTP (API)• MapReduce• http://couchdb.apache.org

Javascript para mobile

• HTML5, CSS3 e Javascript• Publica em até 7 plataformas:–iOS, Android, Windows Phone–BlackBerry, Palm, Bada–WebOS e Symbian

• http://phonegap.com

• HTML5, CSS3 e Javascript• Titanium Studio IDE• Publica em 3 plataformas:–iOS, Android e HTML5

• http://appcelerator.com/platform/titanium-sdk

Javascript para desktop

• HTML5, CSS3 e Javascript• Multi-plataforma: Linux, Windows,

Mac• Utiliza Chromium Engine• Utiliza Node.js no backend• http://appjs.org

• HTML5, CSS3 e Javascript• Python, Ruby e PHP• Multi-plataforma: Linux,

Windows e Mac• Utiliza WebKit Engine• http://www.tidesdk.org

Linux em JavascriptFabrice Bellard criou um emulador linux em JS.

http://bellard.org/jslinux

Perguntas?

Obrigado!