O que o front end ganha com o ember-cli

Sendo bastante sincero, nunca fui fã do framework Ember.js. Para mim ele não passa de mais um item da já demasiadamente grande e constantemente crescente lista de frameworks JavaScript.

Porém, venho o utilizando em um projeto e não posso fechar os olhos para os aspectos que estão sendo implementados através da sua ferramenta de CLI no workflow de desenvolvimento front end - e estavam fazendo falta.

Pra quem não conhece, o ember-cli é uma ferramenta que provê asset pipeline e convenções de estrutura de aplicações feitas com o framework.

A chave de tudo são as convenções combatendo o bikeshedding

Dei ênfase as convenções de estrutura. Isso parece algo muito pequeno, não posso tirar a razão de quem pensa assim. Mas o que importa aqui é o significado dessa postura e o que isso pode representar.

Queremos ter o máximo de tempo que pudermos para as tarefas desafiadoras.

– Yehuda Katz

Pensando da mesma forma que o Yehuda, empregar tempo discutindo aspectos triviais a respeito das nossas aplicações além de ser desgastante e custoso, é também tolice. Devemos otimizar nosso tempo para empregá-lo no que realmente importa.

Na CodeMiner, utilizamos o termo bikesheeding para nomear esse fenômeno que impacta muito pouco no valor do produto final. E nós o combatemos. Como? Com convenções.

A idéia não é eliminar a discussão de aspectos dessa natureza, mas levar esse debate para um escopo maior do que o das nossas aplicações de forma individual.

Convenção de tooling

Aqui fica muito clara a utilidade de um mantra que aprendi ao ter contato com o Ruby on Rails: convenções acima das configurações.

Termos opções de tooling built-in no framework de nossa escolha para desenvolver nossas aplicações representa menos tempo decidindo (e acima de tudo configurando) aspectos como:

  • Uma suite de testes
  • Uma forma de mockar as respostas esperadas de uma API
  • Formas de gerenciar dados especializados para cada ambiente
  • Formas de compilar nossos assets

Eliminar essas decisões do nosso workflow diário representa ganhos expressivos. Afinal, só nesses aspectos supracitados temos uma infinidade de coquetéis de ferramentas. Essa quantidade de opções nos confunde e tem efeito paralisante, a teoria do Paradoxo da escolha nos mostra que esse ambiente não é saudável. Principalmente quando falamos sobre produtividade.

Agora adivinhe onde eu encontrei esse stack a um comando de distância? Exatamente. No ember-cli.

Conclusão

Minha intenção aqui foi de indicar o movimento que a comunidade do Ember está realizando para melhorar o trabalho com a ferramenta focando bastante nas convenções que eles estão adotando. E espressar que na minha opinião essa postura deveria ser um norte para a comunidade de desenvolvimento front end em geral.

É preciso focar no valor final e melhorar o caminho até lá. Discutir caminhos alternativos infinitos para o nosso objetivo não me parece a melhor opção.

A necessidade desse movimento já foi indicada pelo Lucas Mazza no FrontInPOA de 2014. Venho pensando sobre isso desde que fui ao evento e esse me parece ser o primeiro indício desse movimento. Que o seja!