当前位置:首页 > 每日看点

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

卡卷网2年前 (2025-01-02)每日看点213

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

分享给朋友:

相关文章

开发了个小程序,咋推广呢?

要是开发了个小程序,想推广的话,可以先从自己的朋友圈子下手,让亲戚朋友都帮忙转发宣传,这样能先有点人气。 然后去一些跟你的小程序相关的论坛、社区啥的,发帖子介绍介绍,吸引有兴趣的人。 还能找些网红、博主合作,要是他们觉得你的小程序不错,帮忙…

是什么让你抛弃了 Windows 而转向 Mac?

是什么让你抛弃了 Windows 而转向 Mac?

别的不说,这玩意儿是真抗造啊,我这2012年买的MacBook Pro,依然在用…… 这台电脑我博士最后两年用来写代码(只写不运行,运行要上集群)和写论文,工作之后就变成生活和娱乐了,因为我一直用架子和外接键盘(颈椎不好)所以电脑看…

4499 元起的荣耀Magic7 系列实际使用体验怎么样,值得入手吗?

全是软文。。。。。。不过我买了,标准版。为什么买荣耀:屏幕看着舒服,玩游戏选择大屏,超声波指纹解锁。其它,系统、续航、充电、拍照,不是最强,但均衡下来短板都不是很短。其它米OV,IQ、一加,都看了,预算有限,米OV的小屏不感兴趣,OPPO硬…

自媒体如何快速起步?

自媒体如何快速起步?

有两种经验,可供参考。 第一种是:现象级的爆火、爆款,这种情况捞到钱,实现财务自由的人并不多,但确实存在。只不过非要说清楚为什么这个账号可以火、可以短时间内赚到普通人一辈子赚不到的钱,他们自己也不一定能说清楚,因为赶上了风口(内外部情况)。…

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

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

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

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

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

发表评论

访客

看不清,换一张

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