Programmering

Facebook-kildekoder for hackkoder

Fortsetter med åpen kildekode, har Facebook åpen kildekode Hack Codegen, et bibliotek for automatisk generering av hackkode.

Hack er Facebooks spinoff av PHP-språket, og jobber med den virtuelle HHVM-maskinen. Biblioteket genererer i mellomtiden kode som er skrevet i signerte filer for å forhindre uønskede endringer. "Ideen bak å skrive kode som skriver kode er å øke abstraksjonsnivået og redusere koblingen," sa Facebook på GitHub-siden for Hack Codegen.

"Å være i stand til å generere kode gjennom automatisk kodegenerering gjør det mulig for programmerere å øke abstraksjonsnivået ved å lage rammer som er deklarative og som er oversatt til høykvalitets hack-kode," sa Facebook-programvareingeniør Alejandro Marcu, i et blogginnlegg. "Vi har brukt Hack Codegen på Facebook en stund. Etter å ha sett så mye intern suksess, åpnet vi dette biblioteket for at flere kunne dra nytte av det."

Før Hack CodeGen ble bygget genererte Facebook hovedsakelig kode gjennom sammenkobling av strenger og en hjelperfunksjoner. "Vi skjønte tidlig at vi ville trenge et godt bibliotek for å generere kode, siden sammenkobling av strenger for å generere kode egentlig ikke skaleres," sa Marcu. "På den tiden gjorde vi ikke så mye kodegenerering på FB, stort sett dumping av verdier i matriser, så vi hadde ikke noen gode verktøy bortsett fra å signere filer."

Facebook har vært på en åpen sourcing-tur, og tilbyr slike teknologier som Nuclide IDE for nett- og mobilutvikling, React Native JavaScript-programvare og ComponentKit iOS UI-utviklingsrammeverk til åpen kildekode. Facebooks Parse-gruppe planlegger i mellomtiden å gjøre SDK-ene tilgjengelige via åpen kildekode.