Skip to content

Instantly share code, notes, and snippets.

@diegoeis
Last active August 29, 2015 14:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save diegoeis/1033b3f7a91cb8a337d8 to your computer and use it in GitHub Desktop.
Save diegoeis/1033b3f7a91cb8a337d8 to your computer and use it in GitHub Desktop.
Data-binding [R]evolution

Data-binding [R]evolution

Leo Balter

BrazilJS 2014

  • Data Binding é o processo que estabelece uma conexão entre a interface aplicação e o lógica de negócio
  • Com o ES5, já tínhamos alguns métodos fazem com que comecemos a manipular propriedades de objetos e como lidamos com essas propriedades.
  • Com o ES6 e ES7 teremos coisas mais interessantes, solucionando mais problemas.
  • Os frameworks para data binding estão vindo: polymer, ember.js, react, Angular.JS, Backbone.js, way.js etc.
  • O Way é um experimento lançado em pouco tempo, de uma forma de integrar sua interface com seus objeto.
  • Data Binding quebra um pouco a linha de programação funcional.
  • immutable.js - immutable data cannot be changed once created, leading to much simpler, application development and enabling techniques from functional programming such as lazy evaluation
  • TodoMVC apanha uma série de exemplos de um projeto de listas de tarefas feitos com uma série frameworks como Ember, Angular, etc...
  • ES6 Proxies: meta object programming evolves into proxy programming.
  • Traps são métodos que prevêem acesso a propriedades.
  • O ES7 está vindo com o Object.observe. É uma forma de data.binding nativo. A native, highly optimized implementation on which data binding strategies can bem built.
  • Com o Object.observe você consegue criar um modelo de objeto e então observá-lo se há mudanças, inclusive de leitura ou escrita.
  • Os frameworks geralmente fazem um Dirty Checking, mas eles fazem cada um de uma forma.
  • Toda vez que uma mudança acontece no seu modelo, o framework/library faz uma checagem para ver o que mudou.
  • O Proxy do ES6 só tem suporte no Firefox ainda.
  • Experimente mesmo assim, você pode pegar erros para reportá-los o time de desenvolvimento.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment