5 pièce(s) jointe(s)
Conférence F8 : Facebook annonce des outils de développement open sources à l'endroit des développeurs
Conférence F8 : Facebook dévoile son EDI Nuclide
avec un SDK d'UI pour iOS et des outils de développement pour Android, tous disponibles en open source
Facebook a organisé sa conférence annuelle F8 à l'endroit des développeurs le 25 mars 2015 à San Francisco. Durant cette conférence, le réseau social a annoncé une multitude de nouveautés, dont des outils de développement open source à l'endroit des développeurs.
Ci-après un récapitulatif des principaux outils que le réseau social a porté à la connaissance des développeurs.
1. Nuclide, un environnement de développement intégré (EDI) open source
Nuclide serait le dernier projet open source de Facebook. Il s'agit d'un environnement de développement intégré dérivé de l'éditeur de texte Atom GitHub publié l'année dernière.
Facebook précise que Nuclide est un ensemble de paquets intégrés à Atom et que ses développeurs continuent de travailler en étroite collaboration avec GitHub afin de mener à bien le projet. L’EDI est principalement dédié aux développeurs JavaScript, et offre des fonctionnalités comme l’autocomplétion et la coloration syntaxique. Il dispose d’une intégration native de React, la bibliothèque JavaScript de Facebook pour la création d’interfaces utilisateurs.
Nuclide est l'un des nombreux outils open sources destinés aux développeurs et dévoilé par le réseau social à l'occasion de sa conférence F8. Pour ce faire, Facebook encourage les développeurs à rejoindre le groupe Facebook Nuclide afin de bénéficier des mises à jour de l'EDI.
2. Facebook's ComponentKit, un nouveau framework open source pour le développement d'interface utilisateur iOS
Le réseau social a également procédé au lancement de ComponentKit , une nouvelle bibliothèque Objective-C conçue pour améliorer les performances de son application iOS.
Facebook précise que ComponentKit utilise une approche fonctionnelle et déclarative à la construction d'interfaces utilisateurs en mettant l'accent sur les flux de données à sens unique à partir de composantes immuables. Ces dernières décrivent en fait comment les vues doivent être configurées et permettent aux développeurs de se concentrer sur ce que l'interface elle-même devrait ressembler, plutôt que de se concentrer sur des mesures pour renforcer l'interface.
Traditionnellement, les développeurs iOS créaient des vues pour les entêtes, des vues de texte, des vues de bas de page et d'autres parties. Les vues ainsi créées étaient ensuite insérées dans des sous-vues ; les développeurs ajoutaient des contraintes de sorte que les vues et les sous-vues se ressemblent. Les développeurs mettaient encore plus de contraintes pour s'assurer que toutes les vues soient correctement positionnées.
En effet, cette bibliothèque a été développée afin d'améliorer les performances du fil de son application pour iOS. Avec cet outil, les développeurs déclarent comment ils veulent utiliser l'interface au lieu d'essayer de mettre impérativement ensemble les pièces une à une.
Grâce à cette nouvelle approche, Facebook a réussi à réduire la quantité de code nécessaire pour afficher le flux RSS dans l'application iOS de 70 %.
Le code de l'outil est hébergé sur GitHub.
3. Trois nouveaux outils open source pour les développeurs Android
Le réseau social Facebook n'a pas laissé tomber les développeurs d'applications Android. En effet, il a également annoncé trois nouveaux outils open source à l'endroit de ces derniers. Il s'agit de Year Class, de Network Connection Class et de Fresco.
Year Class est une bibliothèque de segmentation de la performance qui est destinée à aider les développeurs à identifier rapidement le genre de dispositif ou d'appareil qu'un utilisateur utilise.
Network Connection Class est outil qui réalise un travail similaire à celui de Year Class, mais cela s'applique aux connexions réseau. Avec ce nouvel outil, les développeurs pourront avoir une meilleure idée sur la vitesse de connexion que les utilisateurs obtiennent sur leur réseau et l'adapter à leurs applications en conséquence. Contrairement à l'outil Year Class, cela demande un peu plus de codage et l'outil doit évidemment d'abord recueillir des données avant de pouvoir réellement adapter les applications à la vitesse de connexion obtenue par les utilisateurs.
Fresco est une nouvelle bibliothèque d'images pour les applications Android. L'idée ici est de permettre aux développeurs de s'assurer que les applications ne manquent pas de mémoire quand elles chargent plusieurs images en étant plus intelligentes sur la gestion de la mémoire.
Le système gère également des fonctions de base comme des espaces réservés à l'affichage et à la mise en cache des images. Vous pouvez trouver les détails techniques sur comment cet outil fonctionne ici .
Source
Et vous ?
:fleche: Que pensez-vous de ces outils nouvellement annoncés ?
:fleche: Allez-vous les tester ?
Facebook propose son EDI Nuclide en open source aux développeurs
Facebook propose son EDI Nuclide en open source aux développeurs,
pour une variété de langages de programmation et technologies
Durant l’édition 2015 de la F8, sa conférence dédiée aux développeurs qui s’est tenue en mars dernier, Facebook a présenté Nuclide, un environnement de développement intégré dérivé de l’éditeur de texte Atom. Si, dans les semaines qui ont suivi, le numéro un des réseaux sociaux en a donné l’accès à une poignée de personnes, il annonce qu’il est désormais disponible pour tous et sous une licence open source.
Avec Nuclide, Facebook a voulu simplifier le développement des applications natives sur mobile et aller au-delà de ce que proposent certains EDI à l’instar d’AppCode ou même de simples éditeurs de texte comme le projet Atom de GitHub. L’idée sous-jacente est d’embarquer la puissance des EDI tout en réduisant le temps que les développeurs pourraient passer par exemple à l’indexation du code.
Nuclide n’est qu’une solution parmi tant d’autres que Facebook a mis à la disposition des développeurs ces dernières années. Il vient s’ajouter aux côtés de Presto, le moteur de requêtes open source pour le big data (qui serait dix fois plus performant que celui de Hadoop), plus récemment HHVM (Hip Hop Virtual Machine), une machine virtuelle open source conçue pour exécuter des programmes écrits en PHP et en Hack (langage proche du PHP utilisé sur la quasi-totalité du site de Facebook) qui serait à nouveau plus rapide que PHP 7 ou Infer, son outil interne d’analyse du code source qui permet de déceler rapidement les erreurs dans ses applications mobiles.
Au départ, Nuclide a été conçu pour supporter la librairie JavaScript de Facebook React ainsi que son framework React Native, mais il peut également gérer le développement web ainsi que le développement d’applications natives. La migration vers Nuclide est simplifiée pour les développeurs qui utilisent déjà Atom.
« Nous avons été capable d’éviter de produire un fork du code de l’éditeur, aussi, Nuclide va s’installer sur une version récente et régulière d’Atom et les utilisateurs peuvent continuer à bénéficier d’autres packages de la communauté aux côtés de Nuclide », a expliqué Michael Bolin, ingénieur logiciel pour le compte de Facebook. Parmi les fonctionnalités, Facebook évoque :
- le développement à distance : Nuclide fournit une paire de packages qui permettent des connexions sur SSH à un nœud daemon léger sur le serveur, rendant possible l’édition de fichier à distance et la validation de syntaxe/type Bien entendu cela fonctionne également pour les machines virtuelles, permettant d’effectuer un développement en local sur HHVM par exemple ;
- le support du langage Hack : cela inclut la coloration syntaxique, l’auto complétion, la recherche de type et autres ;
- le support de Flow et de Mercurial : comme il le fait pour Hack ;
- l’omni-search : cette mouture intègre un package de l’outil de recherche universelle de Facebook qui peut s’avérer bien pratique. Regardez plutôt comment il se comporte ci-dessous.
Facebook n’entend pas rester là puisqu’il avance que le support pour iOS, React et React Native sont sur sa feuille de route. De plus, « nous savons combien déboguer est important, aussi bien du côté serveur que du côté mobile. Aussi, Nuclide va automatiquement croître en fonctionnalités tandis que les outils sous-jacents comme Buck et Infer le font ». Et enfin, « nous sommes très enthousiastes à l’idée de commencer à supporter les modèles à venir comme Relay et GraphQL en tant que first-class citizens dans la suite », a-t-il avancé.
:fleche: télécharger Nuclide (GitHub)
Source : Facebook