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é.
télécharger Nuclide (GitHub)
Source : Facebook