Facebookオープンソースハックコードジェネレーター

Facebookはオープンソースの取り組みを続けており、ハックコードを自動的に生成するためのライブラリであるハックコードゲンをオープンソース化しています。

Hackは、FacebookがPHP言語をスピンオフしたもので、HHVM仮想マシンと連携します。一方、ライブラリは、不要な変更を防ぐために署名付きファイルに書き込まれるコードを生成します。「コードを書くコードを書く背後にある考え方は、抽象化のレベルを上げ、結合を減らすことです」と、FacebookはHackCodegenのGitHubページで述べています。

FacebookのソフトウェアエンジニアであるAlejandroMarcu氏はブログ投稿で、「自動コード生成を通じてコードを生成できるため、プログラマーは宣言型で高品質のハックコードに変換されるフレームワークを作成することで抽象化レベルを上げることができます」と述べています。 「FacebookでHackCodegenをしばらく使用しています。社内で多くの成功を収めた後、より多くの人々が利用できるように、このライブラリをオープンソース化しました。」

Hack CodeGenを構築する前は、Facebookは主に文字列とヘルパー関数を連結してコードを生成していました。「文字列を連結してコードを生成することは実際にはスケーリングしないため、コードを生成するための優れたライブラリが必要であることに早くから気づきました」とMarcu氏は述べています。「当時、私たちはFBでそれほど多くのコード生成を行わず、ほとんどの場合、値を配列にダンプしていました。そのため、ファイルに署名する以外に優れたツールはありませんでした。」

Facebookはオープンソース化を進めており、Webおよびネイティブモバイル開発用のNuclide IDE、React Native JavaScriptソフトウェア、オープンソース向けのComponentKit iOSUI開発フレームワークなどのテクノロジーを提供しています。一方、FacebookのParseグループは、SDKをオープンソースで利用できるようにする予定です。