La revue de presse hebdomadaire des technologies Big Data, DevOps et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia.
Mobilité
Android Studio 2.0
Après quelque mois de test, Android Studio 2.0 release stable est enfin publiée. Cette version contient l’Instant Run, le nouveau émulateur Android, l’intégration du Cloud Test Lab, les outils pour l’App Indexing, le Preview de GPU Debugger et toutes les mises à jour amenées par IntelliJ 15. Un grand pas depuis la version 1.x qui va sûrement rendre le développement Android plus efficace. Si vous faites partie des Early Birds, Android Studio 2.1 preview est déjà disponible pour développer sur Android N(utella ?).
Architecture en iOS
Lorsque vous démarrez un projet iOS, le choix de l’architecture à mettre en place se pose très rapidement.
Outre le traditionnel MVC, nous avons choisi chez Xebia la mise en place d’une architecture MVVM sur nos projets permettant un découpage propre du code où chaque classe a un rôle bien identifié.
Dans son article iOS Architecture Patterns, Bohdan Orlov présente les différentes architectures utilisables dans des projets iOS en nous expliquant les forces et faibles de chacune. À noter que l’une d’entre elles commence à faire parler d’elle : VIPER, un code d’exemple est d’ores et déjà disponible sur Github si vous souhaitez essayer.
Objets connectés
PlatformIO, l’IDE pour vos projets connectés
Pour ceux qui chercheraient une alternative à leur IDE Arduino ou à Eclipse, PlatformIO est un IDE pour développer vos projets « Objets Connectés ». Plus complet que l’IDE Arduino, et plus léger qu’Eclipse, PlatformIO est aussi plus rapide quand il s’agit de compiler son code.
Pour une présentation plus complète, on pourra lire la présentation de l’outil sur le blog de son principal auteur, Ivan Kravets.
Front
ReactJS : Sortie de la version 15
Le choix de passer directement du minor 14 à major 15 (0.14.x -> 15.0.0) a été fait par Facebook pour montrer que React est un projet stable depuis un bon moment.
Le changement le plus significatif dans cette release est la façon dont les composants sont montés avec document.createElement qui permet d’éviter de polluer le DOM avec les attributs data partout.
Ils ont également remplacé les <span> par de <!– commentaires –> dans le rendu du html, ce qui va encore alléger le DOM.
Un petit exemple qui démontre les différences :
import React from 'react'; const Hello = ({name}) => ( <h1>Hello {name}</h1> ); export default Hello;
<div id="app"> <h1 data-reactid=".0"> <span data-reactid=".0.0">Hello </span> <span data-reactid=".0.1">Xebia</span> </h1> </div>
<div id="app"> <h1 data-reactroot=""> <!-- react-text: 2 --> Hello <!-- /react-text --> <!-- react-text: 3 --> Xebia <!-- /react-text --> </h1> </div>
Vous pouvez consulter les release notes complètes pour plus d’information.
Vers une spécification Web USB ?
Deux ingénieurs de Google, Reilly Grant et Ken Rockot, viennent de publier une proposition de spécification pour l’API Web USB.
L’intention est de pouvoir accéder directement depuis une page web aux fonctionnalités d’un périphérique branché à un ordinateur ou à un mobile. Un cas d’utilisation est décrit dans une page dédiée du github associé à cette proposition de spécification : pouvoir imprimer un objet sur son imprimante 3d, directement depuis une page web avec une simple combinaison de touches « ctrl + p ».