SlideShare una empresa de Scribd logo
1 de 18
1a Semana de Computação da UFRJ
JavaScript e suas
tendências no mercado de TI
1a Semana de Computação da UFRJ
Fred Souza
fmsouza@dcc.ufrj.br
@fredamsouza
+FredSouza
@fredamsouza
@fmsouza
@fredamsouza
Quem é
Estudante de Ciências da Computação na
UFRJ, Co-fundador do RioBus e programador
JavaScript apaixonado. Costuma investir a
maior parte de seu tempo buscando por
novas tecnologias e problemas.
Objetivo
Utilizar a tecnologia como ferramenta para
ajudar as pessoas.
Super poderes
Pró atividade, uma imensa vontade de ser a
diferença no mundo e uma vontade ainda
maior de ajudar as pessoas.
1a Semana de Computação da UFRJ 1
JavaScript
● Linguagem de script
● Orientado a eventos
● Interpretado
● Versão 5.1
● Versão 6 em fase implementação (ECMAScript 6)
● Suportado pelos principais browsers (Chrome, Firefox, IE, Safari e Opera)
1a Semana de Computação da UFRJ 2
Internet em expansão
● Sites dinâmicos
● Necessidade de interatividade
● Atualização de conteúdos sem atualizar a página
● AJAX (Asynchronous Javascript and XML)
● As primeiras bibliotecas baseadas no AJAX (jQuery, MooTools, etc.)
1a Semana de Computação da UFRJ 3
Google e a engine V8
● Lançada dia 2 de setembro de 2008 junto ao Google Chrome
● Open source
● Escrita em C++
● Compila JS just-in-time para código de máquina nativo da plataforma
● Novo potencial mercado de aplicações em JavaScript fora do browser para
explorar
1a Semana de Computação da UFRJ 4
Surgimento do
● Lançado dia 27 de maio de 2009
● Baseado na V8
● Open source
● Extensível
● Modular
● Cross-platform
1a Semana de Computação da UFRJ 5
Node.js
● Gerenciador de dependências (NPM)
● 152868 pacotes disponíveis para usar em projetos (31/05/2015)
● Infraestrutura para desenvolvimento de aplicação multi-plataforma
● Surgimento de padrões de código (Commonjs, AMD, ...)
● Surgimento de ferramentas para otimização e gerenciamento de código de
projetos
1a Semana de Computação da UFRJ 6
Aprovação no mercado
● Paypal
● eBay
● Yahoo!
● Microsoft
● Uber
● LinkedIn
● The New York Times, Dow Jones, e mais um monte de gente...
1a Semana de Computação da UFRJ 7
Gerenciadores de projetos
● Criação de Tarefas de desenvolvimento
● Gerenciamento de dependências
● Scripts de execução
● Otimização de código (minify, uglify, transpiler, ...)
1a Semana de Computação da UFRJ 8
Linguagens “transpiladas” em JS
● ECMAScript 6 (ES6)
● CoffeScript
● TypeScript
● Dart
● Mais em https://goo.gl/BmNMxx
1a Semana de Computação da UFRJ 9
Frameworks Web MVVM
● Model View ViewModel
● Parecido com MVC
○ Controller integrado ao modelo da View
● Abstrai regras de negócio de forma organizada
● Modular
● Escalável
● Extensível
1a Semana de Computação da UFRJ 10
API com Node.js + ExpressJS
● Alta performance
● Suporta um número elevado de requisições simultâneas
● Extremamente rápido
● Aplicações distribuídas
● Altamente recomendado para construção de micro-serviços
1a Semana de Computação da UFRJ 11
Node.js x .NET
Fonte: http://www.salmanq.com/blog/net-and-node-js-performance-comparison/2013/03/
1a Semana de Computação da UFRJ 12
Node.js x Java
Fonte: https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/
1a Semana de Computação da UFRJ 13
Aplicativos multi-plataforma
● Android, iOS, Windows Phone, ...
● Tecnologias Web (HTML5+CSS3+JS)
● Desempenho próximo do nativo
● Write it once, run it everywhere
● Nativos: React Native (http://reactnative.com) ou Native Script
(http://nativescript.org)
● CylonJS para comunicação com Arduino (http://cylonjs.com)
1a Semana de Computação da UFRJ 14
Angular + ES6 = Angular 2
1a Semana de Computação da UFRJ 15
TypeScript
1a Semana de Computação da UFRJ
Fred Souza
fmsouza@dcc.ufrj.br
@fredamsouza
+FredSouza
@fredamsouza
@fmsouza
@fredamsouza
Muito obrigado!

Más contenido relacionado

La actualidad más candente

Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com DjangoMarcos Petry
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webEvaldo Junior
 
Tecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêTecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêLeonardo Silveira
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaRodrigo Kono
 
Mobile, Flutter e Mercado
Mobile, Flutter e MercadoMobile, Flutter e Mercado
Mobile, Flutter e MercadoRicardo Ogliari
 
No core do node js - entendendo como a plataforma trabalha
No core do node js  - entendendo como a plataforma trabalhaNo core do node js  - entendendo como a plataforma trabalha
No core do node js - entendendo como a plataforma trabalhaMarcelo Serpa
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App EngineLuiz Cláudio Silva
 
Curso de web2py - Apresentação
Curso de web2py - ApresentaçãoCurso de web2py - Apresentação
Curso de web2py - ApresentaçãoJúlia Rizza
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileFrederico Maia Arantes
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros PassosJackson F. de A. Mafra
 
Visao geral TI03 2-0
Visao geral TI03 2-0Visao geral TI03 2-0
Visao geral TI03 2-0Ale Uehara
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissionalRodrigo Kono
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bowertdc-globalcode
 

La actualidad más candente (20)

Visao geralti netshoes03
Visao geralti netshoes03Visao geralti netshoes03
Visao geralti netshoes03
 
Criando websites a jato com Django
Criando websites a jato com DjangoCriando websites a jato com Django
Criando websites a jato com Django
 
JavaScript Moderno
JavaScript ModernoJavaScript Moderno
JavaScript Moderno
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento web
 
Tecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêTecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e você
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração Contínua
 
Mobile, Flutter e Mercado
Mobile, Flutter e MercadoMobile, Flutter e Mercado
Mobile, Flutter e Mercado
 
No core do node js - entendendo como a plataforma trabalha
No core do node js  - entendendo como a plataforma trabalhaNo core do node js  - entendendo como a plataforma trabalha
No core do node js - entendendo como a plataforma trabalha
 
O Poder do JavaScript
O Poder do JavaScriptO Poder do JavaScript
O Poder do JavaScript
 
Usando Python na Google App Engine
Usando Python na Google App EngineUsando Python na Google App Engine
Usando Python na Google App Engine
 
Curso de web2py - Apresentação
Curso de web2py - ApresentaçãoCurso de web2py - Apresentação
Curso de web2py - Apresentação
 
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobileMeteor - Nunca foi tão fácil desenvolver pra web e mobile
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
 
Visao geral TI03 2-0
Visao geral TI03 2-0Visao geral TI03 2-0
Visao geral TI03 2-0
 
Um front end entre nós
Um front end entre nósUm front end entre nós
Um front end entre nós
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissional
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
 
Adote OpenJDK
Adote OpenJDKAdote OpenJDK
Adote OpenJDK
 

Similar a JavaScript e suas tendências no mercado de TI

Aula 2. frameworks js
Aula 2. frameworks jsAula 2. frameworks js
Aula 2. frameworks jsandreluizlc
 
Desenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonDesenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonLuiz Cláudio Silva
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratarAle Uehara
 
Oportunidades no Mercado com Linux e Software Livre
Oportunidades no Mercado com Linux e Software LivreOportunidades no Mercado com Linux e Software Livre
Oportunidades no Mercado com Linux e Software LivreEduardo Lima
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedorLucas Moura
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software LivreRuan Carvalho
 
Palestra plataformas software
Palestra plataformas softwarePalestra plataformas software
Palestra plataformas softwareRodrigo Reis
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
O Papel do desenvolvedor Front End
O Papel do desenvolvedor Front EndO Papel do desenvolvedor Front End
O Papel do desenvolvedor Front EndRael Max
 
Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Alessandro Binhara
 
O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactFernando Henriques
 
Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Bruno Batista
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Adriano Teixeira de Souza
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídiaFábio Costa
 

Similar a JavaScript e suas tendências no mercado de TI (20)

Linear Engineering
Linear EngineeringLinear Engineering
Linear Engineering
 
Aula 2. frameworks js
Aula 2. frameworks jsAula 2. frameworks js
Aula 2. frameworks js
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Desenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com PythonDesenvolvendo Aplicações Web com Python
Desenvolvendo Aplicações Web com Python
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
 
Oportunidades no Mercado com Linux e Software Livre
Oportunidades no Mercado com Linux e Software LivreOportunidades no Mercado com Linux e Software Livre
Oportunidades no Mercado com Linux e Software Livre
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedor
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Palestra plataformas software
Palestra plataformas softwarePalestra plataformas software
Palestra plataformas software
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
Grails latinoware
Grails latinowareGrails latinoware
Grails latinoware
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
O Papel do desenvolvedor Front End
O Papel do desenvolvedor Front EndO Papel do desenvolvedor Front End
O Papel do desenvolvedor Front End
 
Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010Mono mecadocoorporativo-latino2010
Mono mecadocoorporativo-latino2010
 
O front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: ReactO front-end moderno e sua lib mais popular: React
O front-end moderno e sua lib mais popular: React
 
Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!Desenvolvimento Ágil com CMS Joomla!
Desenvolvimento Ágil com CMS Joomla!
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
 
Aula 06 projetos multimídia
Aula 06   projetos multimídiaAula 06   projetos multimídia
Aula 06 projetos multimídia
 

JavaScript e suas tendências no mercado de TI

  • 1. 1a Semana de Computação da UFRJ JavaScript e suas tendências no mercado de TI
  • 2. 1a Semana de Computação da UFRJ Fred Souza fmsouza@dcc.ufrj.br @fredamsouza +FredSouza @fredamsouza @fmsouza @fredamsouza Quem é Estudante de Ciências da Computação na UFRJ, Co-fundador do RioBus e programador JavaScript apaixonado. Costuma investir a maior parte de seu tempo buscando por novas tecnologias e problemas. Objetivo Utilizar a tecnologia como ferramenta para ajudar as pessoas. Super poderes Pró atividade, uma imensa vontade de ser a diferença no mundo e uma vontade ainda maior de ajudar as pessoas.
  • 3. 1a Semana de Computação da UFRJ 1 JavaScript ● Linguagem de script ● Orientado a eventos ● Interpretado ● Versão 5.1 ● Versão 6 em fase implementação (ECMAScript 6) ● Suportado pelos principais browsers (Chrome, Firefox, IE, Safari e Opera)
  • 4. 1a Semana de Computação da UFRJ 2 Internet em expansão ● Sites dinâmicos ● Necessidade de interatividade ● Atualização de conteúdos sem atualizar a página ● AJAX (Asynchronous Javascript and XML) ● As primeiras bibliotecas baseadas no AJAX (jQuery, MooTools, etc.)
  • 5. 1a Semana de Computação da UFRJ 3 Google e a engine V8 ● Lançada dia 2 de setembro de 2008 junto ao Google Chrome ● Open source ● Escrita em C++ ● Compila JS just-in-time para código de máquina nativo da plataforma ● Novo potencial mercado de aplicações em JavaScript fora do browser para explorar
  • 6. 1a Semana de Computação da UFRJ 4 Surgimento do ● Lançado dia 27 de maio de 2009 ● Baseado na V8 ● Open source ● Extensível ● Modular ● Cross-platform
  • 7. 1a Semana de Computação da UFRJ 5 Node.js ● Gerenciador de dependências (NPM) ● 152868 pacotes disponíveis para usar em projetos (31/05/2015) ● Infraestrutura para desenvolvimento de aplicação multi-plataforma ● Surgimento de padrões de código (Commonjs, AMD, ...) ● Surgimento de ferramentas para otimização e gerenciamento de código de projetos
  • 8. 1a Semana de Computação da UFRJ 6 Aprovação no mercado ● Paypal ● eBay ● Yahoo! ● Microsoft ● Uber ● LinkedIn ● The New York Times, Dow Jones, e mais um monte de gente...
  • 9. 1a Semana de Computação da UFRJ 7 Gerenciadores de projetos ● Criação de Tarefas de desenvolvimento ● Gerenciamento de dependências ● Scripts de execução ● Otimização de código (minify, uglify, transpiler, ...)
  • 10. 1a Semana de Computação da UFRJ 8 Linguagens “transpiladas” em JS ● ECMAScript 6 (ES6) ● CoffeScript ● TypeScript ● Dart ● Mais em https://goo.gl/BmNMxx
  • 11. 1a Semana de Computação da UFRJ 9 Frameworks Web MVVM ● Model View ViewModel ● Parecido com MVC ○ Controller integrado ao modelo da View ● Abstrai regras de negócio de forma organizada ● Modular ● Escalável ● Extensível
  • 12. 1a Semana de Computação da UFRJ 10 API com Node.js + ExpressJS ● Alta performance ● Suporta um número elevado de requisições simultâneas ● Extremamente rápido ● Aplicações distribuídas ● Altamente recomendado para construção de micro-serviços
  • 13. 1a Semana de Computação da UFRJ 11 Node.js x .NET Fonte: http://www.salmanq.com/blog/net-and-node-js-performance-comparison/2013/03/
  • 14. 1a Semana de Computação da UFRJ 12 Node.js x Java Fonte: https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/
  • 15. 1a Semana de Computação da UFRJ 13 Aplicativos multi-plataforma ● Android, iOS, Windows Phone, ... ● Tecnologias Web (HTML5+CSS3+JS) ● Desempenho próximo do nativo ● Write it once, run it everywhere ● Nativos: React Native (http://reactnative.com) ou Native Script (http://nativescript.org) ● CylonJS para comunicação com Arduino (http://cylonjs.com)
  • 16. 1a Semana de Computação da UFRJ 14 Angular + ES6 = Angular 2
  • 17. 1a Semana de Computação da UFRJ 15 TypeScript
  • 18. 1a Semana de Computação da UFRJ Fred Souza fmsouza@dcc.ufrj.br @fredamsouza +FredSouza @fredamsouza @fmsouza @fredamsouza Muito obrigado!