Générateur de code Hack Facebook

Poursuivant ses efforts open source, Facebook a open-source Hack Codegen, une bibliothèque pour générer automatiquement du code Hack.

Hack est le spin-off de Facebook du langage PHP, fonctionnant avec la machine virtuelle HHVM. La bibliothèque, quant à elle, génère du code qui est écrit dans des fichiers signés pour éviter les modifications indésirables. "L'idée derrière l'écriture de code qui écrit du code est d'élever le niveau d'abstraction et de réduire le couplage", a déclaré Facebook sur sa page GitHub pour Hack Codegen.

«Être capable de générer du code grâce à la génération de code automatisée permet aux programmeurs d'augmenter le niveau d'abstraction en créant des frameworks déclaratifs et traduits en code Hack de haute qualité», a déclaré Alejandro Marcu, ingénieur logiciel sur Facebook, dans un article de blog. "Nous utilisons Hack Codegen sur Facebook depuis un certain temps. Après avoir vu tant de succès internes, nous avons ouvert cette bibliothèque pour que plus de gens puissent en profiter."

Avant de créer Hack CodeGen, Facebook générait principalement du code via des chaînes de concaténation et des fonctions d'assistance. "Nous avons réalisé très tôt que nous aurions besoin d'une bonne bibliothèque pour générer du code, car la concaténation de chaînes pour générer du code ne se met pas vraiment à l'échelle", a déclaré Marcu. «À l'époque, nous n'avions pas fait autant de génération de code chez FB, la plupart du temps en déchargeant des valeurs dans des tableaux, nous n'avions donc pas de bons outils à part la signature de fichiers.

Facebook s'est lancé dans une virée open-sourcing, offrant des technologies telles que son IDE Nuclide pour le développement Web et mobile natif, son logiciel React Native JavaScript et le cadre de développement d'interface utilisateur iOS ComponentKit en open source. Le groupe Parse de Facebook, quant à lui, prévoit de rendre ses SDK disponibles via open source.