Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

EmberJS: nuove API in vista della prossima LTS

EmberJS: nuove API in vista della prossima LTS
Link copiato negli appunti

Gli sviluppatori del noto framework JavaScript EmberJS hanno reso disponibile la versione 2.7 e, nel contempo, la beta dell'aggiornamento 2.8 che una volta stabile sarà anche la nuova LTS del progetto dopo la 2.4. Se da una parte EmberJS 2.7 rappresenta una minor release che verrà archiviata rapidamente con il futuro rilascio della 2.9, la 2.8 riceverà bugfix per un periodo di 36 settimane e security patch per 5 anni.

Ad accomunare i due upgrade è la disponibilità di API aggiuntive, nel caso di EmberJS 2.7 abbiamo quindi Ember.computed.uniqBy dove uniqBy() è una proprietà, utilizzabile anche come metodo per gli array, che attraverso l'utilizzo di una chiave (come per esempio un identificatore) restituisce un nuovo array costituito da tutti gli elementi presenti all'interno di un vettore, senza ripetizioni:

javascript var Simpson = Ember.Object.extend({ theSimpsons: Ember.computed.uniqBy('simpsons', 'id') });
var simpson = Simpson.create(
{ simpsons: [ { id: 1, 'homer' },
{ id: 2, 'marge' },
{ id: 3, 'bart' },
{ id: 1, 'homer' } ] }
);
simpson.get('theSimpsons');
// [ { id: 1, 'homer' }, { id: 2, 'marge' }, { id: 3, 'bart' }]

Tra i costrutti deprecati abbiamo invece Ember.Backburner, destinato alla rimozione in EmberJS 2.8, e Ember.Binding che non sarà più presente a partire dalla release 3.0.

Gli engine sono probabilmente la novità più rilevante di EmberJS 2.8. Essi in pratica consentono di comporre più applicazioni da mettere a disposizione degli utilizzatori come unica applicazione. Gli engine sono già utilizzabili in EmberJS grazie ad un'apposita estensione ancora in via sperimentale, ma questa volta l'intenzione degli sviluppatori è quella di un'integrazione definitiva a livello di core.

Quattro i costrutti implementati e resi pubblici per gli engine:

  • la classe Ember.Engine, base di Ember.Application;
  • la classe Ember.EngineInstance, base di Ember.ApplicationInstance;
  • la keyword mount per il mounting dei routeless engine nei template;
  • mount (router DSL).

Interessante anche l'introduzione del metodo Ember.String.isHTMLSafe per il controllo di validazione sulle stringhe passate a Ember.String.htmlSafe:

var plainString = 'testo testo testo',
    safeString = Ember.String.htmlSafe('
BlahBlah
');
Ember.String.isHTMLSafe(plainString); // false
Ember.String.isHTMLSafe(safeString);  // true

Via EmberJS

Ti consigliamo anche