回覆列表
  • 1 # 夢良同學

    nodeJS開發除錯過程中用的比較多,多用於前後端分離,但是生產環境真正做伺服器的還沒見過,不清楚實際環境用的多不多

  • 2 # 驚蟄ins

    看你的需求了,如果你要做伺服器端指令碼,偏向運維,建議python,如果是聊天室之類的開發建議nodejs。

  • 3 # IT老兵666

    NodeJS是隨著網際網路興起而誕生的一個為了解決高併發問題,支援非同步IO的模式,在一些大廠和初創公司有比較廣的應用,反觀python,在服務端的地位一直是不溫不火,一直在學術研究,科研領域有著比較廣泛的應用,在一些公司的內部的運維工具都是採用python進行的開發。

  • 4 # 真IT小叮噹

    理由如下:

    1.兩者均能實現服務端的需求,不分伯仲。就像我們買車一樣,買車的目的是為了出行,python和nodejs就像是路虎和大眾,兩者都是汽車,到底誰的地位高?主要還是看車主你的喜好了。同樣,喜歡用python的人就會認為python地位高,擅長nodejs的人就會認為nodejs的地位高。但實際情況上時,截止目前兩者均在服務端發揮著重要作用,並沒有出現一個像汽車一個像腳踏車這樣的明顯可比狀態。

    2.Node.js相比Python有以下優點。

    快,nodejs比python快在了V8引擎和非同步執行。Node.js基於V8引擎和非同步網路和IOLibrary,和Python的Twisted很像,不同的是Node.js的eventloop是在很底層的,我們都知道越接近底層效率越高。

    另外npm作為Node.js的官方packagemanagement,彙集了整個社群最集中的資源;而Python卻是easy_install和pip,還有python2和python3程式碼不通用的問題;  

    Windows支援:Node.js有微軟的支援,在Windows上較穩定。libuv已經可以很好的相容跨平臺,Python雖然也對Windows有官方的支援,但總時不時出些問題,例如在win10上的一些安裝包問題。

    3.Python也有優於Node.js的地方:  

    語言本身,就單從語言本身的角度來說,Python寫起來要比Javascript簡潔省事的多。

    另外Javascript有許多缺陷,因為當時設計的時候只是作為在瀏覽器中做一些簡單任務的指令碼,所以程式碼一旦龐大,維護起來相對困難。

    python的框架比較穩定。Node.js的絕大多數框架都很新,有的還一直在變,沒有一個像python中Django那種給人安全感覺的框架。

    4. Python和Node.js各有側重,難分高下。

    Node.js使用CPS實現非同步,和瀏覽器中的Javascript很像。熟悉瀏覽器Javascript的人能很快上手,學習難度也不大。但是邏輯較為複雜,很難維護。

    Python的非同步有和Node.js很像的Twisted和另一種機制coroutine,coroutine讓非同步程式碼維護起來更容易,但是較難上手。

    5.Python和Node.js各有擅長解決的問題。

    python擅長解決CRUD的app,而Node.js卻不行,因為絕大多數Node.js都是直接裸在外面的,而且不能放在Nginx後面,因為那將導致websocket不可用,另外node.js程式碼的不好維護才是真正的硬傷。而Python的WSGI卻很適合解決這類問題。

    Nodejs偏向於解決實時問題。當想要搭建一個多人線上聊天室時,Node.js比python更加容易實現。

    綜上來看,從客觀角度分析,就大陸而言python和nodejs在服務端的地位是不相上下的。

    當然,如果非要分個高低的話,還是那個問題,都是汽車,效能相差都不大,至於汽車的牌子,看你個人的愛好了~

  • 5 # c_b_g895

    python和nodejs要看使用領域,沒有可比性;比如科學計算python比較好,在web端nodejs比較好

  • 6 # 小貝的STEAM教室

    至於地位,還真沒法比。為什麼這麼說?

    Python 和 Node.js 很難分高下的地方:

    非同步Style:Node.js的非同步Style是CPS,也就是層層callback,基於event,和瀏覽器中的Javascript很像。CPS好處是讓熟悉瀏覽器Javascript的人能很快上手,學習難度也不大。缺點是邏輯一複雜,就變得很難維護,基本上需要透過async.js這種library,或者用promise。

    Python的非同步除了和Node.js很像的Twisted之外,也有基於coroutine的gevent,coroutine讓非同步程式碼維護起來更容易,不過學習曲線陡。

    應用場景:如果是一個CRUD的app,那麼想都不想直接是Python,Node.js本身不擅長CRUD的app(絕大多數Node.js都是直接裸在外面的,而不是有一個Nginx在前面,否則websocket就不能用了,不過新版nginx開始支援websocket),程式碼又不好維護。

    而Python的WSGI很適合,成熟的stack也有很多。如果更偏向於real-time,比如一個chat room,那麼Node.js實現更容易。這兩個應用場景還是有差別的。

    如果要考慮到應用方面,我想說node.js的應用面比較窄,主要用於web後臺,python是萬金油,啥都能幹。看主要做什麼:

    要是做伺服器端指令碼,偏向運維,建議python;如果是聊天室之類的開發建議nodejs.

  • 中秋節和大豐收的關聯?
  • 我出生在農村家庭,大學畢業現在混的還不錯,今年要結婚了,但是父親不同意我在城市辦婚禮,我該怎麼辦?