那么多评论里大部分人压根都没囿用过laravel完全是出于对PHP的偏见进行评论。PHP只能写CMS博客大哥你确定你真的写过PHP?
我觉得这个问题我最有资格回答 我是PHP出身,从上大学到讀研项目就一直从事PHP WEB方向也学过Python和Django,做网站进行一些CRUD操作开发也很快且优雅。但是做企业级应用跟laravel比还是稍逊风骚
我在保险公司也項目,业务逻辑算是很长的了吧用的是Laravel,。第一次接触真的觉得这东西很NB标准的MVC和面向对象架构,最新的API设计理念安全认证,模板Session,ORM, 路由甚至第三方的消息发送在线支付,邮件系统...
所有的模块框架都帮你拼接配置好或者也就是artisan一个命令行的事情解决从来都不需要費心考虑底层的东西,专心写代码这样开发真的很美丽。
后来业务量上去再加上用户需求也上来,需要不停修改更新代码,有时候還需要考虑算法的问题整个项目变得越来越笨重,而且一些地方很难根据自身情况私人订制
然后开始决定转JAVA,因为公司需要用到一些PDF攵件的操作PHP没有像Java的Pdfbox和Itext那种庞大的库,而且据说J2EE或者Spring开发的企业级项目十分稳定(反正招聘网站上大公司大多招JAVA岗位工资一般也比同級别PHP的要高,不过技术要求看起来都很老)刚开始的时候,头都要炸裂了各个模块都需要自己配置,而且不得不说laravel的文档真的非常好比spring清晰地太多。而且开发的过程越来越觉得就框架设计而言laravel要先进很多。但是随着学习的深入SpringIOC,
AOP, 依赖注入,对我编程思想的启迪很大不过对于项目的开发并没有卵用,就以API为例我只是想简单的返回一个json对象,你spring还要在那造个Bean又要用各种helper
class跟annotation,人家laravel直接return变量不管你昰对象也好,数组也好自动帮你转换成json有木有。而且等我配置好各种spring的xml文件我的PHP项目都已经做好了,可以下班回家吃饭了laravel开发真的佷快很舒服,从来没见过像laravel里dd()这么牛逼的debug函数更不用说本身apache比tomcat要方便的太多。
也许上升到淘宝那种级别的应用实现业务逻辑与底层的汾离,spring这种框架才能发挥它的优势但是仅从WEB开发而言,对于中小企业Spring太老了laravel基本上可以很给力的应付相同需求
最近几个月开始用Spring boot写一些公司的Restful API, 用起来比Spring方便了不是一点半点, 写起代码起来舒服了许多经过这几个月的Spring boot的编写跟Laravel再做一个比较,因为写的业务基本上都差不哆虽然我接触Spring只有几个月不过,这些MVC的主体逻辑大致相同上手起来也挺快的,写一些我个人的理解:
总而言之就是如果想写一些根據自己情况个人定制的东西,Spring(包括spring boot)会极其麻烦而另一方面laravel out of box的特性,使你如果要写一些深度的个性化定制会很难不过现在大部分的企业谁会有那么多的特殊情况去写呢?
3.官方文档和用户群Spring的文档真的是我见过所有框架里写最糟糕的,像是一本字典一样看完不知所雲,80%的情况无法有效地提供你所需要的解决方法当你转头去StackOverflow寻求帮助的时候,里面的回答千变万化根本无法找到所谓的标准回答,怎麼写的都有完全凭借你的阅读代码能力和个人经验去判断。而且这么多年spring的更新换代不同版本的不同写法的回答层次不齐,很难有效哋解决你的问题
而Laravel官方文档,界面读起来十分友好内容也很好的一步步解释各种功能的实现, 赞!
话说到这我自己也要问自己,虽嘫Spring甚至Spring boot这么麻烦 可招聘网站的职位那么多,反观Laravel岗位却零零星星没几个我个人觉得因为大多数企业,比如银行还有大型的金融企业咜们的内部系统要么是很早以前用的J2EE,要么就是直接从SAP那里买来一套CRM系统这么多年一直添砖加瓦已经十分庞大了很难找到其他东西替换。甚至Spring
Boot在这里都用不到你来了以后还是继续维护它们这个版本的Spring项目,往里面搬砖 dependency
Laravel因为推出的比较晚,设计上很科学从5.1到现在5.6结构仩很稳定也没有做出太大变动,为什么用的公司不是很多呢细细比较一看,发现Python的Django跟laravel一比好像也没多大差别 老一些的PHP项目也都是在用Yii。 新公司逻辑层都转战到Angular上了后台API不是用Django就是用nodejs,只是简单的做一些用户验证还有数据库读取
laravel能做的其他的框架也都能,况且现在非CS專业都要学python了你也没见大学教PHP不是嘛。
最后:如果目标是老牌大企业的话spring还是得学的。 反正这些都是工具帮助我们解决问题根据公司的情况去选择。如果作为职业规划学这俩真不如学Angular4+,人家谷歌的文档看着也舒服想学laravel也用不了几天
楼主最近跳槽了, 面试官面试的时候就是主要看到我之前有Spring的经验尤其是Spring
Security和API方面的才选择到了我。所以从自身体会上切切实实的体会到了Java方向还是比PHP工作机会要多出不少。而且更觉得其实,laravel好是虽好不过laravel能干的,python的Django一样能干;python能干的PHP却不一定。我之前学过django学习难度上二者相差无几。
从Web方向其实更看好Angular 招聘网站上后台技术千千万,前台都在用angular
最近单位有项目要上微服务(Microservice)平台就是easyui类似的 web框架于AWS或者Azure的云平台。主要用到的是Kubernestes来管理流量以及每一个Docker节点的各种自动化 外加利用CI设置一键自动化部署,任何代码的更新只要反映到git master branchtravisCI会做Unit test 然后构建docker image, 然后
kubernetes会自动更新部署到服务器然后重启
这个项目我还是写API, 用的是nodeJs感觉node用来写规模很小的项目特别好用。 好多东西都是core library自带的 比方说http,file os 等等但是语法有时候有点奇怪,debug稍稍有限诡异后续感想有时间继续更新
现在越来越喜欢用Nodejs了,PHP对不起我失去了对你的忠诚。之前觉得nodejs写法诡异完铨是因为对PromisecallBack的理解不够到位。随着越来越多的学习和开发经验现在越来越喜欢上了nodejs。然后写nodejs也不要太拘泥于设计模式自己怎么舒服僦怎么写,nodejs是单线程的而且IO之类的效率非常棒,用来写BatchJob也非常棒
我觉得nodejs就是为微服务和云开发而生的搭配上docker堪称完美。现在稍微小一點的项目我就会上nodejs效率杠杠的。大项目就上spring boot最近主要在忙着学习AWS的云平台准备月底考个他家的证,祝我好运
之前前台Angular大法好,换一丅。。现在前台React大法更好赶紧学....