Ember.js: roubando da comunidade

Jean Lucas Lima
Code Talks
Published in
3 min readMay 27, 2016

Este texto foi roubado da palestra “Cross-Pollinating Communities: We All Win” de Chris Ball.

Bons artistas copiam, grandes roubam. — Romero Britto

Calma, eu sei que não foi Romero Britto que criou a frase acima, muito menos Steve Jobs — que quando disse estava citando Pablo Picasso, que por sua vez estava emprestando a expressão de um colega russo chamado Igor Stravinsky, que uma vez Picasso pintou. O compositor originalmente (?) dizia: “um bom compositor não copia, rouba.”

A história não acaba por aí. Na mesma época o novelista americano Willian Faulkner disse: “Roube boas ideias e faça delas sua.”

À parte da questão história das citações, estes provérbios nos lembram que tudo o que construímos é baseado em algo que foi feito antes. Nós aprendemos do passado. E um projeto de Ember.js não é diferente nesse ponto.

Nós todos somos influenciados pelo que veio antes de nós.

Comunidades que o Ember.js roubou ideias

SproutCore (✝2015) foi o original framework JavaScript usando MVC. Ele já tinha bindings, observers, get, set e computed properties. Yehuda e Tom queriam fazer com ele e decidiram começar o SproutCore 2.0, mas decidiram que seria algo totalmente novo, logo merecia um novo nome: Amber.js. Logo após o nome foi mudado por causa de conflitos com outra lib. Enfim, foi esse o momento.

Do Rails, Ember emprestou uma forte preferência pelo famoso (na comunidade) convention over configuration, também poderosas ferramentas e o mais importante: o conceito de router.

Do React, Ember roubou e adotou fortemente os componentes como algo principal, “data down, actions up” e por último o conceito de virtual DOM.

E do Backbone.js, Ember poliu a própria API, fazendo uma versão mais leve e descritiva, com nomes para alguns hooks como afterModel e didRender.

Comunidades que roubaram do Ember.js

Não julgue o Ember.js como se fosse o larápio dos frameworks. É uma comunidade que também está no meio de outras e teve ele mesmo algumas de suas pérolas roubadas:

A comunidade do React está agora construindo seu próprio router, que é totalmente inspirado pelo do Ember.

E o Angular.js está para implementar sua própria ferramenta de linha de comando (CLI) baseada explicitamente no ember-cli.

Explicitamente mesmo.

Modos que o Ember.js influenciou o mundo frontend

Mais do que larápios, a comunidade Ember também tem usado o framework para apostar em algumas das melhores características do JavaScript e incentivar elas a entrar em prática.

Ember mergulhou de cabeça em JSON APIs com Ember Data.

Ember abraçou as promises.

Ember pegou a ideia de web components e completamente re-orientou o framework da versão 1.0 para 2.0 em direção à este conceito.

Ember foi primeiro grande framework a usar Babel e disponibilizar ES6 para que todos seus desenvolvedores pudessem escrever módulos facilmente.

E atualmente o membros do core team estão participando da TC39, força-tarefa do ECMAScript, ajudando a guiar e escrever o futuro do JavaScript e da web.

E quem ganha com esses roubos?

Todos nós ganhamos. Como Yehuda Katz explica: comunidades de sucesso alternam entre dois modos no caminho para o sucesso. O primeiro modo é experimentação e o segundo é compartilhamento de soluções. E isso é verdade não apenas para comunidades, mas para programadores, designers, engenheiros, empresas e produtos.

A verdade é: Ember reside, orgulhosamente, no mundo open-source. Não é que estamos roubando de um dos outros para ganho próprio, mas estamos emprestando, melhorando e ajudando todo o ecossistema a evoluir. Isto significa que programadores ganham, nossos clientes ganham, nossos usuários ganham.

E não deixe só que a gente roube: construa em cima do que já existe, observe as comunidades que já existem, olhe para outros mercados e indústrias, não tenha vergonha de “roubar” boas ideias.

--

--