Nodejs pk Java 第1回合:初次交锋

学习一门新语言,最好最快的方法就是与现在所掌握的语言对比着思考。

公司最近有个新项目,要用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到这里,后面就开始使用实际的项目做对比了。