後端Web開發:Node.js和Java

2021-01-06 智能甄選

在本文中,我們將重點關注Node.js作為後端開發環境的日益普及,以及Java開發人員在後端所做的事情。

介紹

對於今年的DZone資料庫指南,我們對來自整個IT行業的軟體專業人員進行了調查。我們收到了1,202條回復,完成率為64%。根據這些數字,我們計算出誤差幅度為3%。在本文中,我們將討論Node.js在Web開發人員社區和最受歡迎的後端語言Java中的持續增長。

Node.js的崛起

90%的受訪者表示在客戶端使用JavaScript; 正如我們在上一篇文章中所討論的那樣,這是可以預期的。有趣的是,41%的受訪者在伺服器端使用JavaScript,而在我們的2017年DZone Web和移動開發指南中使用JavaScript定位伺服器端的受訪者中有36%。後端JavaScript的高採用率與Node.js運行時使用率的增加相關。在今年的調查中,42%的受訪者表示他們的組織使用Node.js生態系統。這比2017年的35%有所上升,幾乎反映了過去一年伺服器端JavaScript的增長率。

在使用Node.js生態系統的受訪者中,54%的受訪者使用全棧開發項目,40%使用後端開發項目。當我們將在Node.js生態系統中工作的受訪者的數據與我們用於Web應用程式的資料庫的數據相關聯時,非關係(或NoSQL)資料庫在Node.js開發人員中具有更高的採用率。對於組織使用Node.js的受訪者,56%使用MongoDB。對於使用Java生態系統進行報告的人,43%使用MongoDB; 在Python生態系統用戶中,49%使用MongoDB; 使用C#生態系統採用者,37%選擇MongoDB作為他們的資料庫。Node開發人員與在Java,Python和C#等其他後端環境中工作的人員相比,MongoDB的採用率更高,很可能是由於這兩種技術的異步性。另外,來源)。Mongoose使用JavaScript語言,因此允許Node.js開發人員使用與其應用程式邏輯相同的語言編寫資料庫邏輯。有關資料庫的更詳細討論,請參閱2018 DZone資料庫指南:關係和超越。

伺服器端操作

應用程式的後端是一個複雜的地方,充滿了API和資料庫調用,邏輯等等。當我們詢問受訪者通常如何在客戶端和伺服器之間劃分他們的工作時,76%告訴我們伺服器端暴露API,70%有伺服器端執行業務邏輯,66%使用伺服器端集成系統,如資料庫,消息隊列和EIS。儘管上面提到了Node.js的增長,但Java仍然是在後端執行此類操作的主要語言。因此,對於本節的其餘部分,我們將使用從使用Java構建Web應用程式的受訪者收集的統計信息作為比較分析的手段。

儘管MongoDB在上面提到的Node.js開發人員中很受歡迎,但使用Java工作的Web開發人員似乎更喜歡傳統的SQL資料庫。在那些告訴我們使用Java構建Web應用程式的受訪者中,61%使用MySQL資料庫,46%使用Oracle DB,45%使用MongoDB,43%使用PostgreSQL。將這些數字與普通調查人群中這些資料庫的採用率進行比較,Oracle資料庫在基於Java的Web開發人員中更受歡迎。在一般調查人群中,58%使用MySQL,42%使用MongoDB,41%使用PostreSQL,37%使用Oracle DB滿足資料庫需求。Oracle DB在基於Java的Web開發人員中普及程度高於平均水平的一個可能的解釋是,Java語言和Oracle DB都是由同一個組織開發的,因此可以很好地協同工作。

在將數據推送到伺服器時,67%的普通調查人群使用WebSocket API,34%使用HTTP流媒體,25%使用webhooks,25%使用輪詢,19%使用伺服器發送事件報告。當我們將這些數字與基於Java的Web開發人員進行比較時,這些百分比都會急劇下降。在Java Web開發人員中,37%使用WebSocket API,19%使用HTTP流,14%使用輪詢,12%使用webhook,11%使用伺服器發送的事件。

受訪者(Apache Tomcat,Apache Web Server和NGINX)中三個最受歡迎的Web伺服器的採用率在一般調查人群和Java Web開發人員之間也有所不同,但並不像推送數據的方式那樣顯著到伺服器。在一般人群中,62%的人表示使用Apache Tomcat作為他們的網絡伺服器,50%表示他們使用Apache Web伺服器,55%報告使用NGINX。在使用Java構建Web應用程式的受訪者中,75%使用Apache Tomcat,52%使用Apache Web Server,使用44%NGINX。

更廣泛的開發人員社區中的Node.js和Java

在結束本文時,讓我們通過將這些結果與來自較大開發者社區的數據進行比較,快速測量這些結果的有效性。首先,Node.js. 在2018年Stack Overflow社區調查報告中,Node.js被排名為最受歡迎的frameowrk,由Stack Overflow的50%受眾選擇。此外,2017年的JavaScript狀態報告(2018年報告尚未發布),Node.js被評為受訪者中使用最多的後端框架(儘管這些數據可能會因為網站受眾主要是JavaScript開發人員而有所偏差)。

為了研究更大的Java社區,讓我們從2018年開始轉向JetBrains的「 開發人員生態系統調查狀態 」。就像我們的研究結果一樣,JetBrains將Apache Tomcat報告為與Java語言一起使用的最受歡迎的伺服器。

因此,本文中描述的趨勢似乎適用於更廣泛的開發者社區。

相關焦點

  • 10 個最適合 Web 和 APP 開發的 NodeJS 框架
    Node.js Express 對於一個已經在使用 node.js 的開發人員來說,Express 或者」node.js express」並不是一個新鮮事。Express 框架提供了對 node.js 原生 API 的比較好的封裝,從而使開發者更加容易地使用node.js。 Express 框架提供了用來開發強壯的 web/移動應用,以及 API 的所有功能。
  • Node.js在大前端領域的應用分析
    在前端開發工作中最能體現價值的應用之一,node 的出現使得前端開發從刀耕火種的時代進入了科技時代。Node.js 讓使用 js 開發桌面應用成為了可能,electron是當前比較流行的桌面應用開發工具,它 nodejs和chromium的結合起來,讓使用者可以調用 node.js的函數,可以使用幾乎所有的
  • Java與Node.js的較量--一場史詩之戰
    傳統的web編程,Java實現後臺服務,JS完成前端功能;而Node.js可以讓JS一人輕鬆搞定客服端和伺服器,特別是當我們想把邏輯層從伺服器移植到瀏覽器層面時,Node簡直就是熠熠生輝。或者矯情的老闆又想讓我們把邏輯層移回服務端,反反覆覆,不管怎麼個玩法,總之Node.js讓代碼移植更加簡化。
  • centos7編程實踐:安裝nodejs
    Node.js是一個javascript運行環境。它讓javascript可以開發後端程序,實現幾乎其他後端語言實現的所有功能,可以與PHP、Java、Python、.NET、Ruby等後端語言平起平坐。
  • Node.js開發後端服務這幾點你做了麼?
    用Node.js開發後端服務的程式設計師大部分偏前端的全棧工程師,他們中很多人對如何開發後端服務掌握的並不系統。通常意義上來說,如果只是單純的會用Node.js寫一些很基礎的服務,對原理性的東西一竅不通,這些人並不能稱之為全棧工程師。
  • 如何系統的學習Node.js?
    ,便於靈活擴展和二次開發。基於nodejs 的爬蟲 API接口項目,包括前端開發日報、知乎日報、前端top當今開發三大塊,前端,api 和服務。node覆蓋一半以上,你覺得還會衰嗎?未來servless,node依然是很好的選項。當然,技術還要加上人的因素,將學習變成能力最重要!
  • Web前端和後端有什麼區別(上)
    2、Web後端: 後端開發人員:會寫Java代碼,會寫SQL語句,能做簡單的資料庫設計,會Spring和iBatis,懂一些設計模式等。,包括設計模式、UML建模等; (5)對網絡編程有一定的了解,有設計和開發外部 API接口的經驗和能力,有跨平臺 API規範設計和 API有效調用的設計能力。
  • [譯]Node.js框架Top10(Top 10 Node JS Framework)
    Top 10 Node JS Framework原文地址為 https://medium.com/issuehunt/top-10-node-js-framework-d768a6e465ff1. Hapi.js這個框架擁有可靠的插件系統。
  • 用Node.js進行後端開發的特點與優勢
    Node.js的競爭對手在Web項目的開發過程中,應用程式的後端開發質量,往往對於業務的正常運行,起到了至關重要的作用。在我們開始詳細討論Node.js之前,先來一起看看Node.js的主要後端競爭語言和框架。PHPPHP往往被程式設計師們廣泛地用於大、中型項目的後端開發。由於其體系結構是事件驅動的,因此它不適合於各種實時的連接。
  • web前端和後端的區別 web前端開發薪資
    web前端和後端的區別 Web前端: 顧名思義是來做Web的前端的。我們這裡所說的前端泛指Web前端,也就是在Web應用中用戶可以看得見碰得著的東西。包括Web頁面的結構、Web的外觀視覺表現以及Web層面的交互實現。
  • Node.js vs Python
    在開發web應用程式的後端時,這兩種技術都是非常可取的。我們都知道,每個項目都有自己的需求、規範和要求;因此,選擇正確的程式語言來編寫代碼是非常必要的。在這裡,我們將對這兩種技術進行詳細討論,並在總結中為您的項目選擇哪一種技術。在開始區分這兩種技術之前,讓我們先了解一下Node.js和Python的基礎知識。
  • Nodejs on Docker
    Dockerizing a Node.js web app這個例子的目的是告訴你如何把一個Node.js應用程式放入到Docker容器。該指南旨在用於開發,而不是用於生產部署。 該指南還假定你有安裝Docker的經驗,且對Node.js應用程式是如何構建的,有一個基本的了解.
  • Nodejs 與 Golang 的比較:Web 開發人員選擇哪個最佳?
    所有這些因素在吸引訪問者和客戶方面都起著重要的作用。功能豐富的程式語言的選擇取決於兩個重要因素,前端軟體開發和後端軟體開發。此外,行動應用程式的順利運行還取決於用戶的滿意度。在本文,我們將討論 NodeJS 和 Golang 這兩種廣為人知的語言,開發人員可以選擇這兩種語言開發出色的軟體和行動應用程式。
  • JavaScript之node如何創建web伺服器
    Node 構建 web 應用通俗來說node.js就是通過JavaScript語法來編寫伺服器代碼或者其他應用的語言 ,我們知道在PHP 開發出來的網站 ,能夠通過Apache伺服器託管運行項目 ,Node是,Javascript 編寫後端的語言,那麼,有沒有類似於 Apache
  • 輕量級 Node.js 框架 Daruk2.0 正式版發布
    /daruk前言Daruk 是一款基於 Koa2,使用 Typescript 開發的輕量級 web 框架。Daruk 的初衷是讓人們可以更方便的開發 Nodejs Web 應用並能夠體會到 Typescript 編程的樂趣。Daruk 本身 100%基於 Typescript 開發,使用 inversifyjs 的 IoC 容器管理依賴,讓開發者享受最佳的 OOP 和 IoC 的編程體驗。
  • Node.js 學習資料和教程(值得收藏)
    百萬級並發 Node.js也能行高性能Node.js:來自LinkedIn Mobile的10條優化建議Kraken:改變PayPal開發文化的Node.js框架Groupon拋棄Rails,轉向Node.js  經驗分享SDCC講師專訪:淘寶樸靈談Node.jsNode.js的核心與紅利QCon北京2013 Node.js專題出品人樸靈專訪一個周末掌握IT前沿技術之node.js篇用
  • Node.js成為最受歡迎的後端Web開發框架之一
    Node.js已迅速成為最受歡迎的後端Web開發框架之一。繼續閱讀以了解如何在開發環境上進行設置。似乎每隔幾個月設置任何技術堆棧總是稍微調整一下。這是我最近用來設置我的盒子的信息集合。首先,對於開發框,我總是使用nvm,因為常規需要為各種存儲庫安裝不同版本的Node.js等。
  • 為什麼Node.js是後端開發區塊最酷的孩子!
    Node.js已經迅速成為後端開發最流行的框架之一。仔細閱讀以了解為什麼。昨天,我遇到了一些關於Node.js的有趣信息 - 它正在被一些最大的全球性組織使用,包括NASA,PayPal,LinkedIn,Netflix和Walmart。
  • 從 node.js Web應用中調用 WASM 函數 | WebAssembly 入門教程
    在《 》一文中,介紹了WebAssembly 在服務端的用例,尤其是人工智慧、區塊鏈和大數據應用方向。在這個例子中,將展示如何將 Rust 中編寫的 WebAssembly 函數集成到伺服器上的 node.js 應用程式中。
  • 純Web 後端領域,Java,PHP,Python,Node.js 哪個更有前途?
    應該有不少同學要找後端相關的工作。但是後端和前端不一樣,Web前端技術都是統一的JavaScript。後端技術紛亂複雜,有Java,PHP,Python,Node.js,C++。該如何選擇呢?BAT,TMD的後端技術棧既然是找工作的話,我們先來看看網際網路頭部大廠的後端技術棧:阿里巴巴,美團,京東,拼多多,快手都是JAVA系;騰訊,百度主要是C++,有部分是PHP;頭條主要是Python和Go。滴滴不清楚。