SlideShare uma empresa Scribd logo
POR QUE ESCOLHER O
EMBER.JS COMO
FRAMEWORK EM 2016?
@eduardojmatos eduardomatos.me
OI, EU SOU O EDU
a maior plataforma de contratação
de serviços do Brasil
ANTES, PINGOS NOS I'S
FRAMEWORK
• Uma abstração de códigos comuns entre vários
projetos;
• Conjunto de conceitos usado para resolver um
problema de um domínio específico;
• Conjunto de classes que auxilia no
desenvolvimento de software.
TDC2016SP - Trilha Frameworks JavaScript
SPA
• Single Page Application: uma página que carrega
conteúdo, toda a interface e faz toda comunicação
com o servidor via JavaScript;
• Controla todas as rotas de URL’s via History API;
• Implementa requisições Ajax;
• Controla o conteúdo via template engines.
TDC2016SP - Trilha Frameworks JavaScript
OK, E POR QUE EMBER?
MASCOTE MAIS MANEIRO!
eduardoj.matos@gmail.com
@eduardojmatos
http://eduardomatos.me
OBRIGADO ;)
BRINKS =D
RAILS LIKE
• Router
• Addons == Gems
• Ember Data == ActiveRecord
• Convention over Configuration
CONVENTION OVER
CONFIGURATION
• pequenas decisões feitas pelo framework;
• best practices;
• benefício de conhecimento de outras pessoas;
• ainda permite liberdade, apesar de algumas
coisas serem built-in (router - controller -
template, por exemplo).
SEPARAÇÃO DE INTERESSES
• Cada parte do Ember tem um trabalho bem
definido;
• A separação por pastas, por exemplo, ajuda
nisso;
• Routes, Controllers e components - tudo
separado e com sua responsabilidade.
OBJECT SYSTEM
• É fato que poucos entendem o Prototype;
• O Ember tem um sistema de objetos, inspirado
no Ruby;
• Classes, heranças, mixins. Tudo no
Ember.Object.
EMBER-CLI
npm install -g ember-cli


ember new tdc-app
TDC2016SP - Trilha Frameworks JavaScript
A MAGIA
ACONTECE
*depois de 2 horas de npm install
NADA DE CONFIGURAÇÃO
EXTREMA
• Já adiciona o package.json e o bower.json;
• Cria os diretórios e arquivos base;
• Usa um build system (o broccoli);
• JSHint, Livereload, Module System (ES6 modules),
ES6 transpilation (babel);
• Adiciona framework de teste (QUnit);
• Sistema de addon;
TDC2016SP - Trilha Frameworks JavaScript
GENERATORS
ember generate component icon-tag
GENERATORS
ember generate controller profile
TDC2016SP - Trilha Frameworks JavaScript
CUTTING EDGE
• ES6
• Promises
• Modules
• Várias features graças ao Babel
• Web components (logo mais com Glimmer
Components)
ADDONS
• Compartilhamento de código built-in
• Comunidade on fire!
• 2612 fucking addons
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
TDC2016SP - Trilha Frameworks JavaScript
ESTABILIDADE SEM FICAR PARADO
• Usa semantic versioning;
• Tem versão LTS (long term support);
• Último release recente: 27/06 (agora pouco);
• Usam RFC (Release for Candidate).
TDC2016SP - Trilha Frameworks JavaScript
GLIMMER
• Nova engine de renderização;
• Usando o conceito de Virtual DOM;
• Performance de render como o React.
TDC2016SP - Trilha Frameworks JavaScript
EMBER-DATA
• Addon pra manipular models;
• É agnóstico, ou seja, não se importa se com o
mecanismo de persistência (seja JSON API via
HTTP ou WebSockets, ou IndexedDB storage);
• Usa Promises pra carregar/salvar dados;
• Provê algumas facilidades que ORM como
ActiveRecord proporciona, mas com JS.
export default DS.Model.extend({
email: DS.attr('string'),
password: DS.attr('string'),
fullName: DS.attr('string'),
birthDate: DS.attr('date'),
lead: DS.belongsTo('lead'),
});
EMBER-INSPECTOR
TDC2016SP - Trilha Frameworks JavaScript
FASTBOOT
• Roda sua aplicação Ember no server, com Node.js!
QUEM TÁ USANDO?
PROBLEMINHAS
• Componentes dentro de componentes versus
data-down;
• Tamanho da aplicação (500kb + ou -);
MAS, SERVE PRA EU?
• Curva não tão grande de aprendizado;
• Alinhamento/refactor do back-end pra usar
JSONAPI do ember-data;
• Se a complexidade do app é tamanha, sim. Se
não, melhor usar o Backbone de boas =D
VOCÊ PRECISA MESMO DE
UMA SPA?
SIM? 

EMBER RULES
DOIS RECADINHOS =D
• Para as meninas: FrontinVale está com call4paperz
aberto (50% dos palestrantes serão mulheres)!
• Fórum FrontendBR: https://frontendbr.github.io
eduardoj.matos@gmail.com
@eduardojmatos
http://eduardomatos.me
OBRIGADO ;)
GetNinjas contrata front-end: https://getninjas.workable.com/

Mais conteúdo relacionado

PPTX
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
Renato Groff
 
PPSX
Comunicação em Tempo Real com ASP.Net SignalR
Eduardo Pires
 
PPTX
Novidades do ASP.NET 5.X
Eduardo Pires
 
PPTX
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Fabrício Lopes Sanchez
 
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
PPTX
Play Framework
Raphael Ramos Monteiro
 
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
Eduardo Pires
 
PPTX
TDC SP 2015 - Criando aplicações ASP.NET no Mac
Andre Baltieri
 
ASP.NET 5 - Novidades do Desenvolvimento Web em .NET
Renato Groff
 
Comunicação em Tempo Real com ASP.Net SignalR
Eduardo Pires
 
Novidades do ASP.NET 5.X
Eduardo Pires
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Fabrício Lopes Sanchez
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Play Framework
Raphael Ramos Monteiro
 
Futuro do ASP.NET vNext - MVP ShowCast
Eduardo Pires
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
Andre Baltieri
 

Mais procurados (20)

PPTX
O Futuro do ASP.NET
Eduardo Pires
 
PPTX
Docker para devs .NET
Fabrício Lopes Sanchez
 
PPTX
Escalabilidade com docker - ASP.NET Conference 2016
Rodolfo Fadino Junior
 
PPTX
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Rodrigo Kono
 
PPTX
Bibliotecas de interface rica no jsf 2
Pablo Nóbrega
 
PPTX
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
Fabrício Lopes Sanchez
 
PPTX
ITerior - .NET Core, usando .NET no Linux!
Vinicius Mussak
 
PPTX
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Mauricio Fernandes de Castro
 
PPT
GWT - RIA baseada em AJAX
MJV Tecnologia & Inovação
 
PDF
Rails nas Nuvens
Saulo Arruda
 
ODP
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Rafael T. C. Soares (tuelho)
 
PDF
Desenvolvendo PHP nas nuvens
Hussani Oliveira
 
ODP
Introdução ao CakePHP
Rafael Cichini
 
PDF
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
Bruno Luiz Pereira da Silva
 
PPTX
Ruby on Rails
Renato Sousa
 
PDF
Flask e Docker - rumo a AWS!
Ryan Padilha
 
PDF
PHP no Google AppEngine
Hussani Oliveira
 
PDF
Infraestrutura imutável - A base das aplicações na nuvem
Fernando Ike
 
PDF
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Cesar Romero
 
PPTX
apresentacao_scala
David de Lucca
 
O Futuro do ASP.NET
Eduardo Pires
 
Docker para devs .NET
Fabrício Lopes Sanchez
 
Escalabilidade com docker - ASP.NET Conference 2016
Rodolfo Fadino Junior
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Rodrigo Kono
 
Bibliotecas de interface rica no jsf 2
Pablo Nóbrega
 
QCon 2016 - Como migramos uma solução de 4 milhões de usuários para o Azure
Fabrício Lopes Sanchez
 
ITerior - .NET Core, usando .NET no Linux!
Vinicius Mussak
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Mauricio Fernandes de Castro
 
GWT - RIA baseada em AJAX
MJV Tecnologia & Inovação
 
Rails nas Nuvens
Saulo Arruda
 
Introdução ao JBoss Fuse 6.x: criação e implantação de um serviço CXF
Rafael T. C. Soares (tuelho)
 
Desenvolvendo PHP nas nuvens
Hussani Oliveira
 
Introdução ao CakePHP
Rafael Cichini
 
DevOps, Chef, Puppet, Ansible e como vender milhões na Black Friday com 100% ...
Bruno Luiz Pereira da Silva
 
Ruby on Rails
Renato Sousa
 
Flask e Docker - rumo a AWS!
Ryan Padilha
 
PHP no Google AppEngine
Hussani Oliveira
 
Infraestrutura imutável - A base das aplicações na nuvem
Fernando Ike
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Cesar Romero
 
apresentacao_scala
David de Lucca
 
Anúncio

Destaque (20)

PDF
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
PPTX
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
PDF
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
PPTX
Ember JS Brasil
Anderson de Castro
 
PDF
Curso Android Básico
Leonardo Zanivan
 
PPTX
React e reactividade Meetup Facebook Developer Circles
José Barbosa
 
PPTX
TDC2016SP - Cross-Platform Development with C#
tdc-globalcode
 
PDF
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
tdc-globalcode
 
PDF
TDC2016SP - Construindo Web APIs em Java na era do Big Data
tdc-globalcode
 
PDF
React Native na globo.com
Guilherme Heynemann Bruzzi
 
PDF
TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços...
tdc-globalcode
 
PDF
TDC2016SP - A arquitetura de um chat integrado ao checkout
tdc-globalcode
 
PDF
TDC2016SP - Desenvolva e Execute Aplicações Feitas para a Nuvem numa Arquitet...
tdc-globalcode
 
TXT
TDC2016SP - Trilha Digital Transformation
tdc-globalcode
 
PDF
TDC2016SP - Trilha Digital Transformation
tdc-globalcode
 
PDF
TDC2016SP - Trilha Impressão 3D
tdc-globalcode
 
PDF
TDC2016SP - Trilha Impressão 3D
tdc-globalcode
 
PPTX
TDC2016SP - Testes unitários e testes de integração de aplicações Java utiliz...
tdc-globalcode
 
PPTX
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
tdc-globalcode
 
PPTX
Velocity spa faster_092116
Manuel Alvarez
 
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
TDC2016SP - Trilha Frameworks JavaScript
tdc-globalcode
 
Ember JS Brasil
Anderson de Castro
 
Curso Android Básico
Leonardo Zanivan
 
React e reactividade Meetup Facebook Developer Circles
José Barbosa
 
TDC2016SP - Cross-Platform Development with C#
tdc-globalcode
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
tdc-globalcode
 
TDC2016SP - Construindo Web APIs em Java na era do Big Data
tdc-globalcode
 
React Native na globo.com
Guilherme Heynemann Bruzzi
 
TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços...
tdc-globalcode
 
TDC2016SP - A arquitetura de um chat integrado ao checkout
tdc-globalcode
 
TDC2016SP - Desenvolva e Execute Aplicações Feitas para a Nuvem numa Arquitet...
tdc-globalcode
 
TDC2016SP - Trilha Digital Transformation
tdc-globalcode
 
TDC2016SP - Trilha Digital Transformation
tdc-globalcode
 
TDC2016SP - Trilha Impressão 3D
tdc-globalcode
 
TDC2016SP - Trilha Impressão 3D
tdc-globalcode
 
TDC2016SP - Testes unitários e testes de integração de aplicações Java utiliz...
tdc-globalcode
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
tdc-globalcode
 
Velocity spa faster_092116
Manuel Alvarez
 
Anúncio

Semelhante a TDC2016SP - Trilha Frameworks JavaScript (7)

PPTX
EmberJS - Primeiros Passos!
Anderson de Castro
 
PDF
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
 
PPT
aula de introdução a ecamscript e typescript
FabioAbrantesDiniz
 
PPTX
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
Osmar Petry
 
PDF
Webpack and the state of the bundlers!
Matheus Gonçalves da Silva
 
PDF
Zephir
Luiz Gavinho
 
ODP
Aula09 - Java Script
Jorge Ávila Miranda
 
EmberJS - Primeiros Passos!
Anderson de Castro
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
 
aula de introdução a ecamscript e typescript
FabioAbrantesDiniz
 
ASP .NET CORE, Angular 2, e Typescript com Scaffolding Yeoman | Seminário
Osmar Petry
 
Webpack and the state of the bundlers!
Matheus Gonçalves da Silva
 
Zephir
Luiz Gavinho
 
Aula09 - Java Script
Jorge Ávila Miranda
 

Mais de tdc-globalcode (20)

PDF
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
tdc-globalcode
 
PDF
TDC2019 Intel Software Day - Inferencia de IA em edge devices
tdc-globalcode
 
PDF
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
tdc-globalcode
 
PPT
Trilha .Net - Programacao funcional usando f#
tdc-globalcode
 
PDF
TDC2018SP | Trilha Go - Case Easylocus
tdc-globalcode
 
PDF
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
tdc-globalcode
 
PDF
TDC2018SP | Trilha Go - Clean architecture em Golang
tdc-globalcode
 
PDF
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
tdc-globalcode
 
PDF
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - .NET funcional com F#
tdc-globalcode
 
PDF
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
tdc-globalcode
 
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
tdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
tdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
tdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
tdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
tdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
tdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
tdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
tdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
tdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
tdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
tdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
tdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
tdc-globalcode
 

Último (20)

DOCX
Mapa da Regionalização da América do Norte.docx
Doug Caesar
 
PDF
Antologia Verso e Prosa Departamento Cultural Clube Naval 2019.pdf
elvandroburity
 
PDF
Inteligência Artificial Generativa - CMMG.pdf
Ana Paula Coelho Barbosa
 
PPTX
Lei Geral de Proteção de Dados em quadrinhos
ComunicaoIprev
 
PPTX
Slides Lição 5, CPAD, Uma Igreja Cheia de Amor, 3Tr25.pptx
LuizHenriquedeAlmeid6
 
DOCX
Mapa Histórico da Oceania Impérios e Reinos .docx
Doug Caesar
 
PPTX
ESTUDO 25 - O PLANO DIVINO DOS SECULOS.pptx
Pr Davi Passos - Estudos Bíblicos
 
PDF
Lecionando Inglês com o Scratch: uma mediação da linguagem de programação .
Maria das Graças Machado Rodrigues
 
PDF
Matéria e Ambiente - BIOLOGIA - Terceiro Ano do Ens. Médio
islaineeli
 
DOCX
Mapa de Papua-Nova Guiné - Mapa dos Países do Mundo
Doug Caesar
 
PPT
Ponto_5_-_Valorizacao dos profissionais da educ
mbjustus
 
PDF
Casa2.pdf, apartamento, vivenda, moradia.moadia
biblioteca123
 
PDF
🎉Uma Noite Inesquecível no São João do Porto.pdf
biblioteca123
 
PDF
🩺 Ser Enfermeiro.pdfou médico ou outra coisa
biblioteca123
 
PDF
A casa1.pdf com todas as divisões e objetos
biblioteca123
 
PDF
4-Curriculo-no-contexto-da-Formacao.447.pdf
HelcimarSilva1
 
PDF
Visita ao museu.pdf, museu marítimo de Ílhavo
biblioteca123
 
PDF
OUTONO EM VERSOS - Poesias, Poetrix e Acróstico
elvandroburity
 
PDF
Aula_PPG_29-04-2025-9cd1e60aeb694adfa56ba07d0a4dc736.pdf
RassaMatias1
 
PPTX
MUNCK TREINAMENTO DE MAQUINAS PESADAS...
consultoriagestaosst
 
Mapa da Regionalização da América do Norte.docx
Doug Caesar
 
Antologia Verso e Prosa Departamento Cultural Clube Naval 2019.pdf
elvandroburity
 
Inteligência Artificial Generativa - CMMG.pdf
Ana Paula Coelho Barbosa
 
Lei Geral de Proteção de Dados em quadrinhos
ComunicaoIprev
 
Slides Lição 5, CPAD, Uma Igreja Cheia de Amor, 3Tr25.pptx
LuizHenriquedeAlmeid6
 
Mapa Histórico da Oceania Impérios e Reinos .docx
Doug Caesar
 
ESTUDO 25 - O PLANO DIVINO DOS SECULOS.pptx
Pr Davi Passos - Estudos Bíblicos
 
Lecionando Inglês com o Scratch: uma mediação da linguagem de programação .
Maria das Graças Machado Rodrigues
 
Matéria e Ambiente - BIOLOGIA - Terceiro Ano do Ens. Médio
islaineeli
 
Mapa de Papua-Nova Guiné - Mapa dos Países do Mundo
Doug Caesar
 
Ponto_5_-_Valorizacao dos profissionais da educ
mbjustus
 
Casa2.pdf, apartamento, vivenda, moradia.moadia
biblioteca123
 
🎉Uma Noite Inesquecível no São João do Porto.pdf
biblioteca123
 
🩺 Ser Enfermeiro.pdfou médico ou outra coisa
biblioteca123
 
A casa1.pdf com todas as divisões e objetos
biblioteca123
 
4-Curriculo-no-contexto-da-Formacao.447.pdf
HelcimarSilva1
 
Visita ao museu.pdf, museu marítimo de Ílhavo
biblioteca123
 
OUTONO EM VERSOS - Poesias, Poetrix e Acróstico
elvandroburity
 
Aula_PPG_29-04-2025-9cd1e60aeb694adfa56ba07d0a4dc736.pdf
RassaMatias1
 
MUNCK TREINAMENTO DE MAQUINAS PESADAS...
consultoriagestaosst
 

TDC2016SP - Trilha Frameworks JavaScript