Nouvelle playlist : Angular 2 (version finale)

Vous avez été nombreux à regarder la playlist consacrée à Angular 2 beta puis aux RC et je vous en remercie. Depuis mars 2016 (date de mise en ligne de cette playlist), de nombreux changements ont été apportés à Angular 2, à tel point que de nombreux forums et blogs…

Ionic 2 generators

Les generators d'ionic sont des scaffolders, qui génèrent donc le squelette d'une page, d'un service ...etc ... . Pour savoir quels sont les generators à votre disposition: ionic generate --help Il est ainsi possible de générer les éléments suivants: component directive page pipe provider (ce qui correspond à un service) tabs Par…

Ionic 2 @Page et @App sont désormais deprecated

Si vous l'habitude de lire des exemples de code source d'applications Ionic 2 ou des réponses stackoverflow sur Ionic 2, vous êtes habitué à voir le decorator @Page décorer une classe pour en faire une page d'application Ionic 2. Ce decorator n'est plus utilisé. C'est @Component, que vous utilisez déjà…

Problèmes d'installation de modules avec NPM

Si ça devrait marcher et que ça veut pas, parfois un petit : rm -rf node_modules npm cache clean npm install et ça repart. …

Object.assign() ou comment cloner un objet JavaScript

En ces temps d'immutabilité fortement encouragée dans le JavaScript contemporain, pouvoir facilement cloner un objet JavaScript, c'est déjà avoir fait la moitié du chemin. Aussi, Object.assign(), nativement fourni par ES6, devrait trouvé sa place dans vos méthodes préférées. Si vous avez connu "extend()" de jQuery, vous allez très vite…

Aurelia 1.0 : prêt à se frotter à Angular 2 et React/Redux

Ce ne sont pas les frameworks JavaScript qui manquent. Mais lorsque parmi les 21 développeurs qui ont participé à la création de ce framework se trouvent Rob Eisenberg et Scott Allen, la qualité est pratiquement garantie. Rob Eisenberg, créateur de la librairie durandal, avait ensuite fait partie de l'équipe d'Angular…

create-react-app : une nouvelle appli React prête sans configuration

J'avoue, j'ai fait de grosses infidélités à Angular 2 ces derniers temps. D'abord car je ne suis pas marié à Angular, ni à Google, ensuite car c'est toujours une bonne idée de voir comment les ingénieurs d'une autre grosse boîte ont pensé et mis en oeuvre un framework (même si…

Pourquoi utiliser babel-polyfill alors que Babel transpile déjà vers ES5 ?

Si vous vous êtes également posé la question, l'utilisation de babel-polyfill pallie l'absence de fonctionnalités en ES5. Les classes d'ES6, par exemple, ne sont que du sucre syntaxique, donc Babel peut les remplacer par des fonctions utilisées comme constructeurs, ajouter des méthodes à l'aide de prototype ...etc.... Mais les fonctionnalités…

RxJS - tutoriel 5 : combiner vos flux avec les opérateurs combineLatest(), withLatestFrom() et zip()

Certaines applications peuvent nécessiter de combiner les valeurs générées par deux flux différents. Qu'il s'agisse de poids/puissance ou de qualités/prix, vous devez disposer d'une paire de valeurs avant de pouvoir poursuivre. RxJS vous fournit de nouveau les opérateurs qui vous simplifieront la vie. La difficulté réside alors dans…

RxJS - tutoriel 4 : opérateurs interval(), timer(), take(), map() et l'indispensable do pour débugguer

Les opérateurs dédiés à la production de valeurs à interval régulier est le bien nommé interval(), parfois remplacé par timer(). Lorsque vous souhaiterez limiter le nombre de valeurs produites, l'opératuer take() viendra à la rescousse. Enfin, débugguer des flux serait bien compliqué sans l'opérateur do(). Cet opérateur permet en effet…

RxJS - tutoriel 3 : opérateurs de création d'observables of() et from()

La création d'observables peut se faire à l'aide d'operators moins verbeux que create(). Ainsi, nous allons voir comment of() et from() permettent de créer des observables à partir de valeurs primitives (string, number..., mais aussi à partir d'un tableau existant ou encore d'une promise. Il est important de garder à…

RxJS - tutoriel 2 : créer un Observable

Lors de l'épisode précédent, nous avons vu comment nous abonner aux données poussées par un Observable. Deux autres handlers peuvent entrer en action : un error handler, lorsqu'un Observable retourne une erreur, et un complete handler, lorsqu'un Observable informe ses abonnés qu'il vient d'envoyer sa dernière donnée. …