1. 程式人生 > 其它 >入門1:nodejs類比Java中:JVM

入門1:nodejs類比Java中:JVM

nodejs類比Java中:JVM

詳述:

就前端來說nodejs具有劃時代的意義,

做前端的沒用過nodejs都不好意思說自己是前端,

做後端的沒聽過nodejs,

或者說不出nodejs和java的優缺點,也不是一個合格的後端。

nodejs不是一個js框架,千萬不要認為是類似jquery的框架,

nodejs是js執行時,執行環境,類比java中jvm,

java的開端是什麼,無疑是jvm,自從有了jvm,java才能吹牛說自己是“一次編寫處處執行”,

不管你是windows還是linux,只要安裝了對應版本的jvm都可以執行.class檔案。

同樣nodejs的作用和jvm的一樣一樣的,也是js的執行環境,不管是你是什麼作業系統,

只要安裝對應版本的nodejs,那你就可以用js來開發後臺程式。

這具有劃時代的意義,意味著一直以來只能在瀏覽器上玩來玩去的js,可以做後端開發了,

從有了nodejs後就催生出一大批用js做後臺開發的前端人員,這部分人員就是偏前端的“全棧程式設計師”。

記住,nodejs是和jvm同等地位的js執行環境,打開了前端人員走向後端的道路。

【js mvc框架】

相關框架:

框架太多,詳見下面兩篇文章

私人定製,十款最佳Node.js MVC框架

基於NodeJS的14款Web框架

類比Java中的:

ssh1(struts1+spring+hibernate),ssh2(struts2+spring+hibernate),ssm(springmvc+spring+mybatis)

詳述:

上面說到nodejs打開了前端開發人員開發後端的大門,而且nodejs類比jvm,

那麼學習java的人都知道,學習完jvm(基礎)後該學什麼了?

對,框架,

java中有哪些框架,正如上面所說,ssh1,ssh2,ssm等等,

這些框架都mvc框架。

既然nodej都有了,jvm出現了,那接下來就是js大神開始封裝mvc框架,正如java大神開始封裝mvc框架一樣,

相對java流行了幾種框架,nodejs對應的mvc框架就多的多了,

詳見上面兩篇文章,足夠讓你看的眼花繚亂。

其中比較有名的是expressjs。

記住,當你看到這些js框架的時候,微微一笑,原來就是寫mvc框架,基於nodejs:

Sails. js,Total.js,Partial.js,Koa. js,Locomotive. js,Express. js,Flatiron. js

【js模組化】

相關概念:

commonjs,amd,cmd,umd

相關框架:

commonjs,seajs,requirejs,coolie

類比Java中的:

import,對就是import。。

詳述:

如上所說,當有了nodejs(jvm),有了mvcjs(ssh)之後,

可想而知,每個mvcjs中會有多少js檔案,這個時候js模組化就派上用處了,

當有人和你說js模組化如何如何,感覺自己很吊的時候,甩他一句,不就是java中的import嗎?

對,雖然在前端看來js模組化如何牛x,如何吊,但是就java來說就是import。

但是js中的模組化,還有很多規範,比如commonjs,amd,cmd,umd,感覺頭大了吧,

其實簡單的來說,就是commonjs是執行在nodejs端,amd,cmd,umd是執行在瀏覽器,

其作用就是import各種js檔案,把js模組化管理,可以理解為java中的包管理,

詳見這篇文章:http://coolie.ydr.me/introduction/commonjs-amd-cmd-umd.html

同樣,一個mvc,js能做出來10+種框架,可想而知模組化,js也對應很多框架,

例如commonjs,requirejs,seajs等等。

記住commonjs,requirejs,seajs等js模組化框架,遵循各種規範(amd,cmd,umd,commonjs),