Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率)

栏目: Java · 发布时间: 5年前

内容简介:我个人是比较不喜欢去正儿八经的比较两个框架的,这样没有意义,不过欲善其事先利其器!技术是相通的,但是在某个特定的领域的某个阶段肯定有相对最适合的一个工具!这里比较不是从技术角度比较,而是从公司技术选型考虑的,特别是初创的互联网创业公司。没办法,谁让互联网公司离不开软件呢!哈哈哈。

我个人是比较不喜欢去正儿八经的比较两个框架的,这样没有意义,不过欲善其事先利其器!

技术是相通的,但是在某个特定的领域的某个阶段肯定有相对最适合的一个工具!

这里比较不是从技术角度比较,而是从公司技术选型考虑的,特别是初创的互联网创业公司。没办法,谁让互联网公司离不开软件呢!哈哈哈。

首先是双方选手出场介绍:

Laravel

Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率)

Laravel框架号称是Web艺术家的框架,富有生产力,代表了最优雅最流行的 PHP 框架,经过一段时间的使用,也上了一个项目,感觉特点如下:

  • 比较规范(PHP的框架中),适合团队分工协作
  • 开发速度快(社区生态和脚手架加持)
  • 部署方便(PHP的部署就那样吧,Git一套推拉下来就搞定了)
  • 功能模块比较全面
  • 架构较复杂(在PHP框架中,O(∩_∩)O哈哈~)
  • 全栈,前后端一个IDE搞定
  • 其他文中再说

Spring Boot

Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率)

Spring Boot准确来说并不是一个完整的框架,而是为了使 Spring 全家桶更方便使用、更亲民而产生的一个整合框架。所以Spring Boot 的背后是 Spring 近乎无敌的生态和解决方案。

先简单说一下特点吧:

  • 背靠 Java 这个老家伙,还有 Spring 这个J2EE 的标准背书,生态非常强大
  • 开发速度快(在Java系列中。。。),约定大于配置
  • 基于JVM,执行效率有保障
  • 需要掌握Spring的那一套,对于本身不是 J2EE 的童鞋学习成本有点高
  • 有Cloud 加持,微服务在召唤
  • 智能到令人发指的Spring Data JPA
  • 其他稍后文中再说

好啦,介绍完选手,就开始来分析一下该用哪个啦,这里我们设定一个情境:

假设 小红 是一位有一个自认为价值 20亿 的Idea,并且打算付诸实践的小BOSS(即将成为),稍懂软件架构和开发技术,没错,是很菜的那种(如果很厉害那随便怎么用框架了,没所谓),且启动资金只有 30万。

我也不想假设的这么惨的,现实中这种情况很多,那我们就以这种情景展开分析。小红要以最低成本、最快速度推出 1.0 版本,投放市场,收集反馈,持续迭代。这是一个系统工程,讲其他因素剔除,只考虑技术问题,可以总结成以下几点:

  • 成本(开发效率和人工成本)
  • 响应(迭代和部署效率)
  • 安全(稳定性和 BUG解决速度)
  • 协作(团队协作和扩展性)

1.开发效率

开发这个过程,我们将它定义为需求和原型都已经确定,并且已经简单建模完毕,嗯,就是猿们到岗后拿着需求文档打开电脑(Windows)的时候开始,到 1.0 版本发布这段时间,是谁跑得快!O(∩_∩)O哈哈~

首先是 Laravel 框架,步骤是这样的:

composer create-project laravel/laravel xxx

对 Laravel 的开发流程熟悉的人呢,开发速度是很快的。

我们再来看看Spring Boot:

业务不复杂就不要折腾微服务啦,不要像某人一样明明只有一台机器,硬是要开几十个端口,然后跑几十个Spring Boot的小服务,还用Cloud全家桶串起来了。我竟无言以对

单体应用撸起来,步骤如下:

  • 配置开发环境:IntelliJ IDEA下一个、JDK装一个、其他要用到的 Redis 啥的装上,分分钟就搞定可以开撸了。
  • 开发:定义JAP Entity,Repository、Service,配置Spring Security(包括Oauth2),定义Validation,开撸Controller、异常处理,视图层啥的,单元测试也少不了
  • 部署:打出Jar包,扔到服务器上执行吧,nginx映射一下,搞定

我个人觉得Spring Boot的开发效率要比 Laravel 框架高些!

为什么呢? 因为如果对 Spring 的机制熟悉,也了解 Security、JPA、Thymeleaf模板、RabbitMQ 等等功能模块的使用,Spring Boot 的封装是比 Laravel 要好的,但前提是对Spring 那一套熟悉,不然从何入手都弄不清楚。

Spring 有些组件是非常复杂的,例如 Spring Security

Laravel 框架借鉴了很多 Java Spring 的思想,比如容器,依赖注入、切面,这方面明显 Spring Boot 是正宗,注解啥的6得飞起!

Java 语言非常严谨,在开发过程中的体验比较好,至少像我这样天马行空的猿,还非得要 Java 这个老头来管着,不然分分钟要跑偏。

回到开发效率这个问题上,如果对两个框架都比较熟悉的情况下,Spring Boot 是开发比较快的,但 Laravel在某些方面是完胜Spring Boot,如下:

$app->bind

总结:在技能掌握充足的情况下,个人感觉 Spring Boot 开发效率要略高于Laravel。个人掌握情况不一样,请勿喷,可以参考文中的几个维度,自己思考一下。

最后想提一下,顺便求证:

Laravel 不念 “拉瓦”

Laravel 不念 “拉瓦”

Laravel 不念 “拉瓦”

时候不早了,有点困。今天就写到这,明天再写人工成本的考量。

大家晚安!谢谢


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通Nginx

精通Nginx

[瑞士]艾维利 / 陶利军 / 人民邮电出版社 / 2015-2 / 49.00元

Nginx是一个高性能的轻量级Web服务器,本书从配置文件的角度出发,介绍了多种关于 Nginx配置文件的技巧。 本书以模块化风格写成,几乎每一章都是一个独立的模块,读者将能够自由地在各个模块间切换阅读。全书分两部分,第一部分用8章内容介绍了安装Nginx及第三方模块、配置指南、使用mail模块、Nginx作为反向代理、反向代理高级话题、Nginx Http服务器、Nginx的开发以及故障排......一起来看看 《精通Nginx》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具