在本文中,我們將重點關注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語言一起使用的最受歡迎的伺服器。
因此,本文中描述的趨勢似乎適用於更廣泛的開發者社區。