想發展全棧學nodejs還是舍棄java?
從題主的描述來看,你是有潛力往全棧方向發展的。個人不建議舍棄java,因為nodejs雖然使很多前端工程師也能開發服務器,但是落實到實際的大中型服務器,nodejs還是有局限性的,接下來我們分別來分析nodejs與java在后端開發的角色。
nodejsnode.js其實是一個讓js運行在服務端的開發平臺,使得js在編程界的地位一躍與php,Python等等稱兄道弟,并且能夠利用JavaScript的v8引擎動態的編譯與運行。
它的優點可以簡要概述為3個:
1 nodejs支持RESTful API,并且可以在自身是單線程的限制下,實現對任務的并發處理(通過事件循環來達到這個目的)。
2 同時,它非阻塞模式的IO處理使得它能夠在相對低系統資源消耗的情況下展示出較高的性能以及負載能力,最適合做依賴其他IO資源的中間層服務。
3 最后,nodejs的開發要比Java快,運行效率也要高。
因此自從2009年誕生后,就一直非常受到前后端開發者的青睞。
但是nodejs也有缺點,那就是由于它不是靜態型語言,要在運行時候才能知道類型錯誤,無形中增加了調試成本。而且nodejs在面對大型項目的時候,容易出現混亂,比如知道有問題,但是一時半會卻定位不到問題發生點的情況。
JavaJava可以說是互聯網+時代下PaaS概念的完美支持者。PaaS(Platform-as-a-Service)意為平臺即服務,就是說現在越來越多的產品是以網頁的形式來提供服務,而不是一定要安裝一個軟件在你的電腦上。這種情況下,Java利用SSM,SPRING BOOT等框架,就作為server端的編程語言大展身手了,借助這些框架,就算是初學者也能快速開發出一個穩定而復雜的java web項目。
而且,Java的年紀比nodejs大了一倍還多,一直是編程語言排行榜上的top,這就意味著Java語言有著深厚的積淀以及廣泛的使用,如果使用Java進行開發遇到問題的話,能夠從網上獲得更多的支持與幫助。
此外,從java本身性能來看,Java非常適合大型項目的開發,而且其安全性與穩定性也都是后端語言中的佼佼者。
最后,如果題主曾經有過Java開發經驗的話,我更加建議題主先回到Java領域深耕,而不是到nodejs這篇藍海中去探索,因為目前能夠使用Java開發的全棧工程師的用武之地會比只會nodejs的工程師更廣闊些。
以上是我的淺見,如果對您有幫助,歡迎給我點贊留言。
我是蘇蘇思量,來自BAT的Java開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。