如何选择Laravel框架版本
Laravel框架版本类型
- LTS 版本 - 长期支持版本,英文 Long-Term Support 的缩写,此类版本是 Laravel 能提供的最长时间维护版本。两年的 Bug 修复,三年的安全更新支持。
- 一般发行版 - 只提供 6 个月的 Bug 修复支持,一年的安全修复支持。
什么是 LTS?
在选择Laravel框架版本之前,这个是必须要要明白的概念。
长期支持 (英语:Long-term support,缩写:LTS)是一种软件的产品生命周期政策,特别是开源软件,它增加了软件开发过程及软件版本周期的可靠度。长期支持延长了软件维护的周期;它也改变了软件更新(补丁)的类型及频率以降低风险、费用及软件部署的中断时间,同时提升了软件的可靠性。但这并不必然包含技术支持。
在长期支持周期的开始,软件设计师会将软件特性冻结:他们制作补丁来修复程序错误及计算机安全隐患,但不会加入新的,可能会造成软件破坏的功能。软件维护者可能会单独发布补丁,或是将其置于维护版本、小数点版本或是服务包中发布。支持周期结束后,其称之为产品的生命周期结束。
“长期支持” 这个术语通常是保留给特殊的软件版本,其他版本会有更短的生命周期。通常来说,长期支持版本至少会被维护两年。
LTS 解决的问题
一般情况下,框架的迭代更新频率非常高,几乎几个月,甚至一两周就有可能发布一个新版本。如果一个庞大的商业项目,如此频繁的跟随更新,是非常痛苦的事情。而LTS周期的出现缓解了这一问题,我们不用一看到框架出新版本了就要跟着升级自己的系统了。
当版本换代时,你会有两个选择:
- 更新框架为最新;
- 沿用老的框架(这里是针对LTS版本)。
如果你选择「1」更新,你会浪费无数个深夜进行代码迁移和测试,没有写自动化测试脚本的话更惨。
并且在这个过程中,你没有产出新东西,没有多写一行业务逻辑代码,对你自己来说这是在浪费生命,对于企业来说,这是在浪费时间、浪费金钱,最可怕的,浪费机会 —— 企业的竞争对手每天都有新功能,而你却花好几天,甚至是几周时间做系统升级。
如果你选择不更新呢,对不起,你放弃了很多能极大提高你开发效率的「扩展包」(如果你是扩展包作者,很多时候,你也不会考虑去兼容淘汰掉的版本),过不了多久,官方会宣布对你的过气的基础框架停止维护,包括安全的 FIX。
Laravel LTS 长期支持版的出现就是为了解决这个问题的,Laravel LTS 的支持策略是:
两年的 Bug 修复,三年的安全更新支持。
对应一般发行版的:
提供六个月的 Bug 修复支持,一年的安全修复支持。
如何选择?
从产品生命周期上去考虑:
如果是商业项目的话,要走稳定路线,建议选择 LTS 长期支持版,可以避免掉入「更新大黑洞」。
如果是个人项目的话,要走激进路线,推荐使用最新版的 Laravel,主要有两个理由:
- 跟上技术的趋势,对保持个人竞争力很重要,如果你不想被时代淘汰的话;
- 知道新框架的技术决策,即使你在开发 5.1 的应用也是非常有帮助。
总结
公司或商业项目选择LTS版本,个人项目选择一般版本。
LTS版本的出现旨在解决频繁更新的问题,但终究也是缓解问题,最终在新的LTS版本出现时,还是要再次对系统升级。
在技术更新换代如此迅捷的时代,一项技术尤其是框架能支撑住两三年已经算是很稳定了。所以在两三年后及时的更新成最新的LTS版本还是很有必要的。
参考:
https://learnku.com/laravel/t/2595/how-to-select-the-laravel-framework-version