曾经号称超官方9倍性能的HHVM将停止支持PHP

曾经号称超官方9倍性能的HHVM将停止支持PHP

作者 | HHVM 官方博客

编辑 | 无明

出处丨聊聊架构

HHVM 是由 Facebook 开发的一个 PHP 虚拟机,它支持所有的 PHP 语法,并可以无缝切换到官方的 PHP 版本,宣称比官方版本快 9 倍之多。近日,HHVM 官方博客宣布,HHVM v3.30 将是 HHVM 支持 PHP 的最后一个版本。

关键日期:

  • 2018-12-03:PHP 代码在此日期之后停止使用 master 分支和 nightly build
  • 2018-12-17:v3.30.0 的发布日期
  • 2019-01-28:v4.0.0 的发布日期,不支持 PHP
  • 2019-11-19:结束对 v3.30 的支持

以下内容为官方网站新闻的全文翻译。

Facebook 对 PHP 的偏爱众所周知。追溯到 Facebook 的创建初期,PHP 支撑起了该公司的很多产品。PHP 的一大优势是,它是一种动态语言,非常适合快速建立原型,但是动态特性也往往会导致大规模代码库开发和维护的复杂化。为处理这些问题,Facebookd 就发布了 Hack 语言——一种希望在保持 PHP 优势的同时通过所谓的“渐变类型(gradual-typing)”和一些新语言特性加以增强的新编程语言。

和 Facebook 的 PHP 代码一样,Hack 也运行在 Facebook 的 Hip Hop 虚拟机 HVVM 上,HVVM 使用即时编译技术(JIT)来提升程序性能。

我们建议你将现有的 PHP 项目完全迁移到 Hack 语言,或完全迁移到 PHP 7 和 PHP 运行时。

我们希望对 PHP 代码的支持能够快速取得突破:例如,我们可能会使用 inout 参数替换引用参数(&$ foo),让 INT64_MAX + 1 === INT64_MIN(而不是浮点数)。在短期内,我们希望代码迁移能够简单一些,但这要求 fork 使用 PHP 编写的依赖项,并将其迁移到 Hack,或者反过来。

我们非常感谢 PHP 的用户和开发人员,并很高兴成为社区的一员。

Hack 的未来

我们为 Hack 感到自豪,但这门语言仍然有很多需要做出重大改进的地方。在接下来的两到三年内,我们将努力让 Hack 成为一门:

  • 静态类型语言;
  • 具备与动态类型语言相关的开发速度和易用性。

在这两到三年的时间内,增长用户群并非我们的主要目标:我们希望大多数人第一次接触到 Hack 时,就让他们看到 Hack 是一门非常先进的语言。当然,我们将继续增加对 Hack/HHVM 的开源投入,继续支持我们现有的用户,并打算建立一个可以更好支持未来增长的社区。

我们期望这门语言能够快速发展,所以我们强烈建议在大型项目中使用常规版本而不是 TS 版本。虽然这个意味着你需要更频繁地升级,但我们和我们的用户都发现,每两个月进行一次升级比六个月进行一次升级来得更容易一些。我们还会对发布周期的长度进行重新评估,一种可能性是我们将每四周发布一次,并提供六到八周的支持。

在这段时间内,GitHub 上大多数 Hack 库和工具都只针对最新版本,而不是 LTS 版本。我们将根据需要创建分支和修复程序,除了通过 Facebook 白帽子计划报告的安全问题外,这些分支将由社区提供支持。

Hack 2018 年开源计划

Hack/HHVM 开源团队的优先事项是支持现有的用户,并减少因移除 PHP 所带来的痛点。这可能涉及创建额外的项目,并整理若干现有项目,以便达到适合发布 v1.x 版本的状态。

目前的计划包括:

  • hh-apidoc:提高易用性,与现有项目集成,改进生成文档的可读性和格式;
  • hacktest:改进易用性、文档,作为现有项目中 PHPUnit 的替代品;
  • hack-router、hack-router-codegen:移除对 PSR-7 的依赖,重新思考当前的 API 设计,改进文档
  • 我们正在调研如何替换 Composer 和 Packagist,目前看来,可能会对 Yarn 进行扩展,使用 NPM 存储库,目标是为 Web 项目的 JS 和 Hack 部分使用单个包管理器。

英文原文:https://hhvm.com/blog/2018/09/12/end-of-php-support-future-of-hack.html

相关推荐