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.
- L'outil Year Class
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
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
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 ?
Que pensez-vous de ces outils nouvellement annoncés ?
Allez-vous les tester ?