Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Por que escolher o Ember.js como framework em 2...

Por que escolher o Ember.js como framework em 2016?

Num mar de opções é difícil escolher o framework que solucione o problema que sua aplicação precisa resolver. Com 5 anos de existência, Ember.js tem se tornado um dos frameworks JavaScript mais robustos na comunidade front-end. Veremos como uma aplicação pode ser simples e ao mesmo tempo madura!

Eduardo Matos

July 06, 2016
Tweet

More Decks by Eduardo Matos

Other Decks in Programming

Transcript

  1. 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.
  2. 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.
  3. RAILS LIKE • Router • Addons == Gems • Ember

    Data == ActiveRecord • Convention over Configuration
  4. 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).
  5. 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.
  6. 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.
  7. 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;
  8. CUTTING EDGE • ES6 • Promises • Modules • Várias

    features graças ao Babel • Web components (logo mais com Glimmer Components)
  9. 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).
  10. GLIMMER • Nova engine de renderização; • Usando o conceito

    de Virtual DOM; • Performance de render como o React.
  11. 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.
  12. 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
  13. RECADINHOS =D • Para as meninas: FrontinVale está com call4paperz

    aberto (50% dos palestrantes serão mulheres)! • Fórum FrontendBR: https://frontendbr.github.io • Ember.SP! => http://www.meetup.com/spember