当前位置:首页 > 每日看点 > 正文内容

为什么说Node.js有望超越Ja?

卡卷网10个月前 (01-02)每日看点117

20年前就开始用ja做项目了,6,7年前改用了Node。最近对springoot的体系和Nodejs做了一个对,感觉springoot就是因为ja的强类型特征,给自己附加了很呆板的,然后有搞了一堆概念,例如反射,工厂,泛型什么的去突破这个,在语言层面上是全面落后于Nodejs的,Nodejs是一个灵活的武器,对标业务需求快速开发就行了,语言本身带来的问题很少。

目前做的看,例如数据库的事务处理,springoot和Nodejs的Koa在同等的事务要求下,性能基本是相当的(本地mysql,事务包括作一个自增表,然后生成随机用户,再到一个表中,都启动事务锁定),基本都是20ms左右响应完成。

整体springoot的开发过程都是较缓慢,多余的代码也很多,最搞笑的地方是,如果编译器和IDE知道改成什么样子就可以的话,为什么还有费用改成那个样子呢?这不就是让人去服务机器吗?

例如最近也加入var的声明方式了,感觉Ja这边也慢慢在醒悟了。

除了Ja较繁琐外,整体语法过程逻辑其实差距到不到。

不过Nodejs特别的方便的地方有以下几点。

1,Json作太方便了,完全吊打Ja,短期Ja因为类型的要求估计无法实现。

2,数据库作,Node出来的结果按Json直接作就行,无需做什么ean,也不用一个一个的get去取值。这个对于数据库作较多和较灵活的地方特别方便。

3,写sql方便,最近Ja也有“”“这个文字块的作了,但对Node还是缺乏一些优雅。尤其node是支持“和’的,为啥方便呢?因为可以根据你作的对象场景切换,尤其sql里面。

4,npm包亲和力和便利性Men的库体系方便,不用到POM里面写一堆,package.json里面写上名字就行,而且npm的官网上查找包的时候也方便,而已例子都给的很好。

5,由于没有编译等过程,Nodejs的开发调试过程很顺畅。Ja常有的需要clean好几次的问题,Nodejs是没有的。

6,Node对于数组,对象属性的作对Ja都方便太多,基本上依据直觉都可以写,不需要啰哩啰嗦的写一个一个的类。

7,Springoot自带Tomcat作为运行容器,node本身作为运行时基本相当,但是如果通过PM2运行一个集群,可以在1台设备上实现生产的效果,如何前面配合Nginx的话基本可以替代Springcloud。

8,对Mongod,redis作什么的,语法层面都是较方便的,Springoot下也还可以,需要定制的地方已经写ean映射什么的还是很烦人的。

综合看,如果是新公司没有什么历史资产和开发人员的技术的问题,还是直接上node吧,目前这么多年的经验看是没有任何问题的。

Ja这一套对于开发人员能力本身不足,需要按一个套路和模板开发的情况下,大量的快速培训开发人员可能会有一定的帮助。如果用node的话,设置好开发规模也可以达到一样效果,但由于node确实是非常的灵活,如果开发人员本身的技能不足的话,可能会出现一些偏差,所以代码还是最好要review一下。

最大的好处应该是前后端都可以一个班子开发了,当然,前端侧重效果的地方还是需要一个专业的前端团队。

补充一些对。

目前Springoot的很多特性其实在Node的架构里面也是可以对照的。

如,IOC,在node里面本身不需new对象的方式(个别处理数据是需要的),此外例如连接池什么的都放到gloal的下面就好了,需要用的时候直接使用,很直观.

AOP的概念在node里面就中间件,不过也可以自己按注解的方式去实现一个node版的注解,我自己写了几个,主要用着接口的log,权限什么的。在处理过程中没有去做这样的包装,感觉概念太大影响了逻辑本身的思考过程。尤其是事务处理,希望开发的人非常明确的去启动事务,而且要清楚为什么这里要启动事务。而ORM这样的东西早在十几年前我就弃用了,这东西在有一个很强的DA团队再分工的情况下还可以用一下,多数情况下都是自娱自乐的,sql已经很简单了,ER图都不清楚的话最好不要写后端代码。myaits还是可以的,不过基本实现情况和node很像了。

id=++rows[0].id constnewdata=[id,''] sql=` updatedata.num setid=? wherename=? ` awaittran.update(sql,newdata)

对照上面是node的代码。

springoot的实现是这样

@Update(""" updatedata.numsetid=#{id} wherename=#{name} """) IntegerupdateId(Integerid,Stringname);

方便程度差不多,不过由于上面又一次的包装了注解,感觉还是node的版本自由度更大。

如果处理返回结果,node的架构就更是无敌了,可以把查询结果直接使用,中间不用再去申明一个record或者ean处理。

letsql=` selectidfromdata.numwherename=?forupdate ` constrows=awaittran.query(sql,['']) id=++rows[0].id

我的感觉Ja这边很喜欢发明概念,体系太庞杂,如同唱京剧,一堆要讲究的东西,其实效果也就那么回事,Node就像流行音乐,你可以有自己的章法,好听就行了。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/6125.html

分享给朋友:

相关文章

你有突破100个粉丝了吗?

你有突破100个粉丝了吗?

100粉已经过啦!说说怎么过的吧,最开始疯狂的写回答,写想法,关注人数在50几以下持续有两周多,每天都关注变化,都是个位数增长,后来干脆不看了。到第三周时突然一周增长了100多人,一天十几人,想想应该归功于多互动,给他人点赞评论,让自己曝光...

电视上哪个软件可以免费看电视直播?

电视上哪个软件可以免费看电视直播?

今天给大家推荐8款免费电视端直播看剧软件,感兴趣的朋友可以下载试一试!1、超级ITV 6.04免费看电视直播,央视卫视高清秒播,还有电影电视剧少儿体育等。2、小鲸电视 1.3.1小鲸电视是一款智能电视应用,集成了多个内容来源,包括腾讯视频、...

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

NAS那么好,为什么还是没能成为大多数家庭必备的存储设备?

最主要原因是因为——贵!看看我家里搭建的这一套吧。目前我家中有5台常用的NAS,分别为群晖DS1522+、威联通TS-464C2、绿联DX4600 Pro 、极空间Z4S、威联通TS-AI642。个人认为,这其中的每台NAS都是时代的翘楚,...

用红米手机会很丢人吗?

前些日子遇到了一位快递小哥,京东的,签收小哥年纪不算大,目测二十多岁他的手机上全是一道道极严重的划痕,有点卡,他开热点了,热点名就是手机型号,红米9a,我父母的同款现在他那边操作了一会,然后又是我这边操作了一会小哥看着我手机刷刷的,颇有些好...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

有哪些让你目瞪口呆的 Bug ?

有哪些让你目瞪口呆的 Bug ?

成都有个监狱情况比较特殊,关押的基本全是重犯,而且还都是经济犯和政治犯,他们以前都是一方大佬,在自己的一亩三分地翻手为云覆手为雨,无非是不小心中箭落马或帮老大顶锅才进监狱,所以即使进来了,他们依然保持着体面和骄傲,依从性差,虽然不至于和监狱...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。