Node.js被高估了嗎?
我覺得可能會被很多前端程序員高估,很多人以為語言一樣,隨便看看就是全棧了,殊不知前後端關注點完全不一樣。前端離不開各種環境,後端其他語言碰到的問題,nodejs一個也跑不掉,畢竟很多問題不是換個語言就能解決的
以目前普及情況看,是的。
1.把node用好的前端很少
2.把node用好的後端很少3.用node的前端自以為懂後端4.用node的後端自以為懂前端5.真正能用的人在大公司所以最後成了玩具。nodejs他吹噓的非同步是他最弱的部分,沒有完善的同步機制,怎麼做大應用。。。。 js沒本事利用多線程,於是吹單線程,然後用多進程來做並發。。。。天啊。。。。這是什麼思維
- 主要是被搞前端的一些人高估了,想當然的認為NodeJS出來後,他們就搖身一變成為Full Stack工程師了!
- 大部分搞後端的還是很理性的,主要用於實時消息流(IO)處理,不會想著順便插足下前端,再嘚瑟下自己是Full Stack工程師了!
沒有被高估,但是被濫用了。
高估了啊,所以一堆公司又特么開始換go了,你們一天到晚換來換去煩不煩啊?
說實話,node的非同步非阻塞式的特性是針對高並發數據而設計的,但是node不適合做大型邏輯事務的處理。
被低估了,被高估的是一堆前端轉後端的nodejs工程師
緩存,數據隊列,單線程,這已經很好的說明了這門語言的作用了,我覺得node極大的簡化了項目部署的難度,不用去太多的考慮負載均衡,在雲服務上也可以大展身手。
評估的標準是什麼?
不太明白題主的意思,高估是與什麼作為參照的?以java發展史?以2009年的互聯網普及率,我覺得不能算是被高估了,nodejs只是一個工具,這個工具可以接管從browser過來的http請求以後的所有事,類似的工具有apache +java。iis+c# 很多… 。
以目前普及的情況來說應該沒有才對啊。
我覺得是低估了nodejs,但是極大的高估了大部分現在用nodejs的人。
沒有實現業務的能力,以為有了nodejs就可以了。各種沾沾自喜。他們要從如何設計數據表開始重新學習。如果想專業一點,最好是從計算機原理開始重新學習。js所謂的特性根本不叫優點,當初js做成那個樣子根本不是為了實現所謂的原型繼承的理念,只是為了簡單而已。
非同步編程,主流編程語言都支持這種編程模式。node.js只是讓它變得簡單,而且幾乎是強制使用而已。
多核心支持,nodejs就不行。如果它支持多核,那麼其它複雜性也就隨之而來,比如互斥,同步,並發衝突。
它之所以簡單,因為它只覆蓋很少的區域而已。
在編譯器技術如此發達的今天,去搞nodejs是逆行。好的編程語言,可以覆蓋很多場景。
node.js在性能和應用場景的廣度,大規模開發的成本上都沒有優勢。
它唯一的優勢是,在做小規模的應用上,可以用比較便宜的勞動力實現原來需要高級程序員做的事情。就是把服務端編程白菜化,說它好就扯了。NodeJS 和 前端 js,具有本質區別:前端的 js 運行在瀏覽器上,NodeJS 運行在操作系統上。瀏覽器因本身單線程特點,需要以非同步的方式處理任務。而 NodeJS,操作系統提供出的 system call,幾乎全部是同步的。在同步的基礎上實現一套非同步的編程介面,真蛋疼...
永遠不要低估非同步帶來的複雜度!你看看 Linux/Unix,多少年了,都沒有實現一套成熟的非同步 IO 系統調用。推薦閱讀:
※Process.nextTick 和 setImmediate 的區別?
※如何評價 Node.js 的koa框架?
※Object.create Reflect.setPrototypeOf 哪個比較好?
※js中什麼技術能合併多個前端請求,並生成一個json文件發送?
※Node.js 都應用在什麼項目上?這些項目為什麼選擇 Node.js?
TAG:JavaScript | Nodejs | 服務端開發 |