Generador de código hack de fuentes abiertas de Facebook

Continuando con sus esfuerzos de código abierto, Facebook tiene Hack Codegen de código abierto, una biblioteca para generar automáticamente código Hack.

Hack es el derivado del lenguaje PHP de Facebook, que trabaja con la máquina virtual HHVM. Mientras tanto, la biblioteca genera código que se escribe en archivos firmados para evitar modificaciones no deseadas. "La idea detrás de escribir código que escribe código es elevar el nivel de abstracción y reducir el acoplamiento", dijo Facebook en su página de GitHub para Hack Codegen.

"Poder generar código a través de la generación automática de código permite a los programadores aumentar el nivel de abstracción al crear marcos que son declarativos y que se traducen en código Hack de alta calidad", dijo el ingeniero de software de Facebook Alejandro Marcu, en una publicación de blog. "Hemos estado usando Hack Codegen en Facebook durante un tiempo. Después de ver tanto éxito interno, abrimos esta biblioteca para que más personas pudieran aprovecharla".

Antes de construir Hack CodeGen, Facebook generaba principalmente código mediante la concatenación de cadenas y funciones auxiliares. "Nos dimos cuenta desde el principio de que necesitaríamos una buena biblioteca para generar código, ya que la concatenación de cadenas para generar código no se escala realmente", dijo Marcu. "En ese momento, no hacíamos mucha generación de código en FB, principalmente volcando valores en matrices, por lo que no teníamos buenas herramientas excepto para firmar archivos".

Facebook ha estado en una ola de código abierto, ofreciendo tecnologías como su Nuclide IDE para desarrollo web y móvil nativo, su software React Native JavaScript y el marco de desarrollo de interfaz de usuario de iOS ComponentKit a código abierto. Mientras tanto, el grupo Parse de Facebook planea hacer que sus SDK estén disponibles a través de código abierto.