Programmering

Glem PHP! Facebooks HHVM-motor skifter til Hack i stedet

Facebooks Hip Hop Virtual Machine (HHVM), en hurtig motor til PHP, vil ikke målrette mod PHP 7, den seneste store PHP-udgivelse, men i stedet fokusere på Hack, en PHP-spin-off.

Den næste langsigtede supportudgivelse af HHVM, version 3.24, forventes i begyndelsen af ​​2018 og vil være den sidste, der forpligter sig til PHP 5-support.

”Forsøg på at støtte både PHP 7 og Hack ville føre til uønskede kompromiser på begge fronter. Vi planlægger at afkoble os endnu mere fra PHP, så vi kan gøre Hack fantastisk uden at skulle tage højde for alle de ældste, mørkeste hjørner af PHP's design, ”sagde teamet fra HHVM.

PHP 7, opfølgningsudgivelsen (der var ingen udgivelse af PHP 6) repræsenterer en væsentlig afvigelse fra PHP 5, der ændrer flere adfærd, hvoraf nogle ikke var bagudkompatible. Da PHP 7 kortlægger et kursus væk fra PHP 5, vil bygherrer af HHVM gøre det samme. ”Derfor vil HHVM ikke sigte mod at målrette mod PHP 7,” sagde holdet. "HHVM-teamet mener, at vi har en klar vej mod at gøre Hack til et fantastisk sprog til webudvikling uden tilknytning til dets PHP-oprindelse."

Facebook har brugt HHVM i årevis næsten udelukkende til at køre Hack. Sproget havde allerede adresseret mange af PHP5's mangler, som PHP 7 også løser, såvel som andre, som det ikke gør, sagde holdet.

Ved at skære løs fra PHP håber HHVM-teamet at give udviklere en bedre og mere effektiv oplevelse med HHVM og Hack. Det stod for mange funktioner, biblioteker og ydeevne muligheder i pipeline. Designforbedringer planlagt til Hack inkluderer:

  • udfyldelse af Hack-arrays med array-lignende datastrukturer, der er lettere at typekontrol
  • eliminering af destruktører og referencer
  • brug af affaldsindsamling til at producere målbare præstationsforbedringer.

Hack blev bygget på PHP-økosystemet, og Facebook har planer om at gøre HHVM kompatibel med nuværende versioner af større PHP-værktøjer som Composer og PHPUnit.

Men det endelige mål er, at Hack skal have sit eget økosystem med kernerammer. Hackværktøjer og biblioteker i værkerne inkluderer Hack Standard Library; TypeAssert til konvertering af utypede data til indtastede data; og en autolader til klasser, typealiaser og funktioner.

$config[zx-auto] not found$config[zx-overlay] not found