A equipe do Ember.js liberou a versão estável do Ember 2.3, e o primeiro beta da versão 2.4.
Ao anunciar as mudanças no blog do Ember, o colaborador do Ember, Matthew Beale, modestamente descreveu a atualização como um "lançamento minor". No entanto, a versão 2.3 traz várias mudanças significativas, incluindo a possibilidade de usar o Ember FastBoot.
Com o complemento CLI (utilitário de linha de comando) do Ember, o FastBoot permite aos desenvolvedores processar e servir aplicações Ember no servidor, servindo HTML renderizado para os navegadores sem a necessidade dos clientes realizarem o download de recursos JavaScript (client-side rendering). Além das novas APIs de testes juntamente com o FastBoot, a equipe também adicionou o método visit para o Ember.Application e instâncias do Ember.ApplicationInstance.
Como o FastBoot ainda é oficialmente experimental, é a primeira vez que é possível utilizar o FastBoot em uma versão do Ember. Deve-se notar que o FastBoot tem algumas limitações, tal como ainda não suportar o jQuery. A equipe do Ember informa que "somente os mais corajosos devem considerar o uso do FastBoot em ambiente de produção".
Outra nova funcionalidade no Ember 2.3 é a introdução do Contextual Component que permite que vários componentes possam compartilhar dados privados de uma forma flexível. No exemplo abaixo compartilhado por Beale no blog do Ember, um componente {{alert-box}} é composto de um alert-box-button e o atributo onclick.
De acordo com Beale, Contextual Components são criados aninhados em componentes auxiliares, sendo possível passar atributos e parâmetros posicionais. Contextual Components devem ser invocados com um . no path, ao menos que estejam sendo passados usando o auxiliar {{component.
{{! app/templates/components/alert-box.hbs }} <div class="alert-box"> {{yield (hash close-button=(component 'alert-box-button' onclick=(action 'close')) )}} </div>
{{! app/templates/index.hbs }} {{#alert-box as |box|}} Lorem ipsum! <div style="float:right"> {{#box.close-button}} Lorem ipsum. {{/box.close-button}} </div> {{/alert-box}}
"Essa nova funcionalidade é uma ferramenta poderosa para desenvolvedores de addons, permitindo produzir componentes sem argumentos, tornando componentes de fato com uma API pública", diz Beale.
Ainda em Beta, o Ember 2.4 promete melhorias no desempenho, além de novas funcionalidades. Os usuários devem consultar os changelogs do Ember 2.3 e 2.4 para obter todas as informações das versões.
O Ember.js é liberado através de uma licença MIT. Os leitores do InfoQ podem contribuir com o Ember.js através do projeto no GitHub.