设为首页 收藏本站
查看: 978|回复: 0

[经验分享] Nodejs pk Java 第1回合:初次交锋

[复制链接]

尚未签到

发表于 2017-2-24 10:54:12 | 显示全部楼层 |阅读模式
学习一门新语言,最好最快的方法就是与现在所掌握的语言对比着思考。

公司最近有个新项目,要用Nodejs开发,现在Nodejs已经很成熟了,可以试试。又开始重新研究,考虑了一下,可以写一系列PK文章,可以帮助刚刚接触Nodejs的朋友,轻松入门。

做了很多年Java开发的,就用Nodejs与Java做对比,来个PK。写此文章不为分出谁胜谁负,只是为了学习。两种语言,各有特色,各有特点。

环境搭建:Nodejs 胜 Java

Nodejs下载一个官方的安装包,一步一步安装就可以了,命令行就可以使用Nodejs了。Java的安装,需要安装Jdk和Jre,还需要配置环境变量。虽然不复杂,但是对于初学者,还是有些难度。
所以我认为Nodejs的环境搭建要比Java简单。

学习难度:Nodejs 胜 Java

Nodejs的语言基础是JavaScript,这门语言出来的也很早,做过web应用的同学多少都会点。所以学习难度不高,但是想学好,还是需要下一些功夫。

想学好Java,要学的东西特别多,先从J2se开始,再就是J2ee,再就是各种框架,数据库,服务器,前端的知识,都要会点。因此我喜欢把Java说成编程里面的九阳神功,内功。Java是一门很优秀的语言,建议没有学过的朋友,有机会可以学学。 学会了Java以后,再学习其他的任何语言,都比较简单。

Java比较综合,学习曲线比Nodejs长,在学习上,Nodejs胜。

项目支持:Java 胜 Nodejs

Nodejs和Java都可以做Web项目,也可以做一些提供服务的项目。Nodejs说是对并发支持的挺好,其实他是单线程,队列模式,没有多线程一说,因此不存在并发的问题。Java一直是企业级应用开发的领军者,无疑问适合场景要比Nodejs更多,多线程,高并发,都支持的很好。

项目支持上各自有特点,适合不同场景的项目。但是目前大型项目,多采用Java开发,因此项目支持上,Java胜。

开源组件:Java 胜 Nodejs

Nodejs里面组件,类似Java里面的jar包,都是直接放在项目中引用。 Nodejs和Java都有很多开源的组件,Java发展的时间比较早,所以Nodejs的目前没有Java的多。但是Nodejs日常开发的一些组件,都已经有了,还在不断的扩展,将来应该会有更多。

Nodejs中的组件叫做node_module,都是由js代码组成。有一个很好用的工具,npm,类似Java中的Maven,方便管理引用。项目中写一个配置文件,组件名称与版本号使用key-value的格式,npm install一下,就都下载好了。Nodejs中的需要引入组件的配置文件是json格式,叫做package.json,Java中的Maven配置文件是xml格式,叫做pom.xml。

Nodejs的组件下载下来都是源代码,方便直接查看阅读。Java中的jar包下载下来是class文件,如果需要查看源代码,需要单独下载src。这一点,Nodejs比Java要方便一些。

运行环境:Nodejs 胜 Java

Java的Web项目运行环境需要单独安装环境,如tomcat,jetty,jboss等等,常用的是tomcat。Nodejs的运行环境就是Node,无需安装其他软件即可运行。

这一点便捷性上,Nodejs胜。

开发工具:Nodejs 平 Java

Nodejs现在有支持很好的工具,比如Webstorm,sublime2,aptana等等,反正很多。Java就不用说了,常用的有Eclipse、IntelliJ IDEA等等。

工具都支持的很好,打成平手。

好了,第1回合就pk到这里,后面就开始使用实际的项目做对比了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-346553-1-1.html 上篇帖子: centos7系统下安装nodejs开发环境 下篇帖子: SunsCheung
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表