如何选择 Laravel 版本?

如何选择 Laravel 版本?

说明

很久以前在一个话题里面聊到的观点,很多同学在 Laravel 版本选择时候比较混淆,这里说下我的看法。

对 Laravel 框架发布周期不熟悉的同学请参阅 - Laravel 的发布路线图

什么是 LTS

长期支持 (英语:Long-term support,缩写:LTS)是一种软件的产品生命周期政策,特别是开源软件,它增加了软件开发过程及软件版本周期的可靠度。长期支持延长了软件维护的周期;它也改变了软件更新(补丁)的类型及频率以降低风险、费用及软件部署的中断时间,同时提升了软件的可靠性。但这并不必然包含技术支持。

在长期支持周期的开始,软件设计师会将软件特性冻结:他们制作补丁来修复程序错误及计算机安全隐患,但不会加入新的,可能会造成软件破坏的功能。软件维护者可能会单独发布补丁,或是将其置于维护版本、小数点版本或是服务包中发布。支持周期结束后,其称之为产品的生命周期结束。

“长期支持”这个术语通常是保留给特殊的软件版本,其他版本会有更短的生命周期。通常来说,长期支持版本至少会被维护两年。
From 维基百科

LTS 解决的问题

终于可以不用被框架的迭代推着走了。并不是因为我守旧,框架的更新换代对一个健康的生态系统来说是很必要的,我也认为程序员应该跟上技术的趋势,这对保持个人竞争力很重要。但是作为一个庞大的商业项目的基础框架,一年一次的大版本更新真的是很痛苦的事情,当版本换代时,你会有两个选择:

  1. 更新框架为最新;
  2. 沿用老的框架。

如果你选择「1」更新,你会浪费无数个深夜进行代码迁移和测试,没有写自动化测试脚本的话更惨。

并且在这个过程中,你没有产出新东西,没有多写一行业务逻辑代码,对你自己来说这是在浪费生命,对于企业来说,这是在浪费时间、浪费金钱,最可怕的,浪费机会。

如果你选择不更新呢,对不起,你放弃了很多能极大提高你开发效率的「扩展包」(如果你是扩展包作者,很多时候,你也不会考虑去兼容淘汰掉的版本),过不了多久,官方甚至会宣布对你的过气的基础框架停止维护,包括安全的 FIX。


Laravel LTS 长期支持版的出现就是为了解决这个问题的,Laravel LTS 的支持窗口是:

两年的 Bug 修复,三年的安全更新支持。

对应一般发行版的:

只提供六个月的 Bug 修复支持和一年的安全修复支持。

如何选择?

从产品生命周期上去考虑:

  • 如果是商业项目的话,要走稳定路线,建议选择 LTS 长期支持版,可以避免掉入「更新大黑洞」。
  • 如果是个人项目的话,要走激进路线,推荐使用最新版的 Laravel,主要有两个理由:
    1. 跟上技术的趋势,对保持个人竞争力很重要,如果你不想被时代淘汰的话;
    2. 知道新框架的技术决策,即使你在开发 5.1 的应用也是非常有帮助,例如这个 路由分割 的讨论,Laravel 5.3 里已经有非常合理的解决方案,完全可以直接采用,但是如果你不知道 5.3 ,那你估计就会发明自己的 车轮。

结语

Laravel LTS is awesome 🐂🐝

文章被以下专栏收录