个人对于Laravel与Lumen的选择
Laravel是一套简洁、优雅的PHP Web开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力、易于理解,不管是大型应用或者小型应用它都为我们提供了一个愉快的开发环境以及符合程序开发的设计架构,如IOC设计模式与MVC模式等。
Lumen是Laravel开发者专门针对开发API或者Service而设计的一个轻量级框架,由Laravel官方团队维护,其代码可在不进行修改就可放在Laravel上运行,从无数据库等单纯的请求来说,它是目前速度最快的PHP框架之一。
Laravel如今的火热程度不亚于任何一款PHP开发框架,如今PHP基本依赖于Compoer,它可以说是PHP的未来,Laravel与Compoer的结合使用,可以让你在一开始就已经准备好了开发的一切,并且每次更新都伴随着PHP更新的新特性,使用了大量的设计模式,降低了模块之间的耦合程度,使其更方便扩展,大量的扩展包,文档齐全,社区活跃都可以让开发者更快更容易开发出理想的应用。
Lumen与Laravel都是由相同的官方团队开发而出,目前从中国社区上看可以看出官方更偏向于Laravel的更新维护,Lumen为象征性更新。
Laravel的标语为:为WEB艺术家创造的PHP框架,Lumen为:为速度而生的Laravel框架,以上我们就可快速看出Laravel与Lumen的区别与关系,Lumen本质其实为Laravel的精简版,去掉Laravel其中面对API或者Service无用的组件便为Lumen,同时也衍生出问题,面对Laravel与Lumen该如何选择,不少开发者都纠结于这个问题,相对来讲,我并不推荐使用Lumen,理由为以下几点:
- 两者虽输出同源,但官方更偏向于Laravel,文档于社区活跃度也是Laravel更胜一筹。
- Laravel已经包含Lumen的所有功能,Lumen虽说可以在Laravel运行,但Compoer与扩展Lumen却缺少了很多的支持,时常出现无法使用的情况,这种情况只能重复造轮子。
- 盲目追求性能使用Lumen后发现编写代码困难,然后开始往Lumen里面加各种Laravel已有的组件
- 目前网络上各种测试性能文章都是在单纯、逻辑简单的情况下进行测试,实际应用中我们的业务逻辑比其复杂几倍,上述文中提到,在无复杂数据操作情况下,Lumen速度的确为最快框架之一,但当我们进行数据库连接或者更加复杂的数据出来来说,框架之间本身的速度差异便显得微乎其微,更应该注重数据的优化以及存储方式
- 开发者的水平不一,同样的框架不同的水平从业者编码后所产生的效果也是相差甚大,相同的功能响应速度不一样是常有的事,我们更应该关注代码的编写习惯,有好的结构好的设计模式能够很好的帮我们解决各种性能与复杂的逻辑
Laravel团队也注意到了现如今火热的前后分离、纯API、微服务开发,在版本中也给予了很大的支持,分离出了WEB模块与API模块,开发者可以直接按类型在上面进行快速的开发,而不用纠结于是Laravel还是Lumen。
综上所述,个人相对来说推荐使用Laravel,它本身就很优雅,准确合理的使用它才能再应用中发挥它的长处,避免重复轮子,合理的拆分逻辑与数据优化才是我们应该侧重的重点与学习的方向,框架之间性能好坏并无伤大雅
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: