Laravel 基本信息:如何选择版本?
版本更新的问题
开始之前请先阅读:Laravel 发行策略。
框架的更新换代对一个健康的生态系统来说是很必要的,程序员应跟上技术的趋势,这对保持个人竞争力很重要。
但作为一个庞大商业项目的基础框架,一年一次的大版本更新会让人痛苦不迭,当版本换代时,你会有两个选择:
- 更新框架为最新;
- 沿用老的框架。
如果你选择「1」更新,你会浪费无数个深夜进行代码迁移和测试,没有写自动化测试脚本的话更惨。
并且在这个过程中,你没有产出新东西,没有多写一行业务逻辑代码,对你自己来说这是在浪费生命,对于企业来说,这是在浪费时间、浪费金钱,最可怕的,浪费机会 —— 企业的竞争对手每天都有新功能,而你却花好几天,甚至是几周时间做系统升级。
如果你选择不更新呢,对不起,你放弃了很多能极大提高你开发效率的「扩展包」(如果你是扩展包作者,很多时候,你也不会考虑去兼容淘汰掉的版本),过不了多久,官方会宣布对你的过期的基础框架停止维护,包括安全的 FIX。
LTS 长久支持
Laravel LTS 长期支持版的出现就是为了解决这个问题的,Laravel LTS 的支持窗口是:
两年的 Bug 修复,三年的安全更新支持。
对应一般发行版的:
提供六个月的 Bug 修复支持,一年的安全修复支持。
如何选择?
可以从项目的应用场景出发来考虑问题。
如果是 商业项目 的话,要走稳定路线,建议选择 LTS 长期支持版,可以避免掉入「半年一个更新的大坑」。
如果是 个人项目 的话,推荐走激进路线,使用最新版的 Laravel,主要有两个原因:
- 保持技术敏感度,提高个人竞争力是开发者必不可缺的,应避免被时代淘汰;
- 跟上技术的趋势,知晓框架的技术方向,即使你使用老版本开发应用,对项目以后的技术决策也会有帮助。例如这个 路由分割 的讨论,Laravel 5.3 里已经有非常合理的解决方案,如果你在使用老版本的话(例如:5.1),完全可以直接采用,但是如果你不知道 5.3 ,那你估计就会发明自己的
车轮
。
行文风格还明显的口语化和个人风格,如果风格能更官方和规范化的话会更好吧,毕竟是 wiki 不是 blog