2018年11月19日

2018 Java 開發者年度大調查

前言

會想要寫這篇文章原因是希望提供Java同好參考和讓自己熟悉的工具是否與外國的開發者做一些比較和見解.
Java Magazine年度大調查,針對全球10500的Java開發者所做調查,問卷面向包含JDK、開發工具、web 框架等,我把一些資料整理出來提供大家參考,詳細可以參考本期java magazine內容.會針對部分常見的技術和工具,以我自己的角度去詮釋,如果有問題歡迎留言討論,因為版權問題大部分只能用描述,無法全部都貼統計圖表.

JDK調查

JDK是Java語言開發、編譯、執行程式的一個必要環境,換句話說想要執行Java必須要安裝JDK套件.調查內容如下:

(1) 哪些供應商的JDK安裝在產品上面?link
由調查結果可以知道有百分之70的人會使用Oracle JDK,21%的人會使用社群版本openJDK,一些企業用戶使用IBM JDK版本約4%.因為版權問題這幾年很多人把Oracle JDK移植到openJDK為他們主要開發的版本.

(2)哪些JVM語言為主要開發應用程式link
大部分開發者還是會使用Java為主要的開發語言,其他語言Clojure(3%)、Kotlin(2.24%)、Groovy(2.36%)、Scala(1.83%)這些因為各自有專門領域所以還有部分使用者在使用.例Kotlin可以支援開發行動APP、Scala著名的Spark大數據處理工具.

工具

整個軟體分析、設計、實作、測試到上線都有對應的工具,本次調查著重實作和測試所使用的工具或是框架,這些工具開發者容易部署與進行模擬測試.

(1) 開發者最長使用的IDElink
最多人使用前三名依序Intellj IDEA(45%)、Eclipse IDE(38%)、Apace Netbeans(11%),其中Intellj IDEA Ultimate Edition版本為需要付費有32%;Intellj IDEA Community Edition免費版本為11%;其他為Android開發者約2%.其他IDE開發工具沒有太大的變化.

(2)那些建構工具是主要使用link
開發團隊對專案主要使用的建構工具,是最多人在使用它,Maven仍有60%比例在使用,其次就是Gradle(19%)的人使用,我想應該是Andorid stodio建構工具預設為Gradle和Gradle也支援kotlin腳本關係,才有近年有大幅度的人開始使用.

(3)靜態程式碼品質工具(static quality tool)調查link
在Java有很多開源的品質工具可以用來檢查程式碼品質的好壞,這些工具最多人使用比例依次有SonarQnbe(39%)、FindBug(27%)、CheckStyle(23%),但是也多達36%的開發者沒有使用過此類的工具,來為他們的程式碼檢驗過.

(4)CI/CD工具調查link
CI工具是為了完成持續整合或是持續交付的目標,所發展的工具,這讓你的專案可以減少煩雜的部署工作,在調查結果顯示Jenkins高達57%開發者使用,但是也有21%的人未使用過CI的工具.

(5)源碼版本管理工具link
目前最多人使用源碼版本管理工具為Git高達74%的人使用,表示滿開發者使用Git來管理他們的源碼,其次為Subversion有16%比例的人在使用它.

(6)測試框架調查link
本調查為複選選項,因為測試框架不同使用的情境也會不一樣,這些測試框架有時候可以互相搭配使用,在單元測試JUnit(78%)最多人使用的單元測試框架,在眾多模擬測試框架當中Mockito(45%)也是多人推崇,補充一點JUnit和Mockito可以互相搭配使用.在Web測試框架中Selenium(29%)的人使用.

雲端技術

(1)虛擬技術調查link
為了因應新的技術serverless的誕生,容器框架使用比例高達43%,但是仍有VMs有33%仍在使用,和33%沒使用過雲端的工具

(2)部署方法調查link
本次調查有43%的人沒有使用過自動部署工具,有18%沒有聽過這種方式,大多數人使用批次bash的方式來部署他們的程式碼,約12%,只有一些公司或是開發者才會使用CD的工具像Ansible(12%)、Chef(5%)、Puppet(8%)完成部署上線工作.

應用程式開發

(1)web框架調查link
Spring的生態已經佔領高達76%(spring boot 和spring MVC)比例的人都會使用來開發web應用程式,官方JSF也有19%的人來使用

(2)ORM框架調查(複選)link
超過1/2的開發者使用Hibernate框架來處理資料存取的部分,但是仍有23%的人喜愛用原生JDBC使用,Spring開發者有些會使用Spring JdbcTemplate來存取資料庫.也有1/4沒有使用任何ORM的框架

(3)Web Server調查link
目前最受歡迎的網頁伺服器為Apache Tomcat(41%),他主要流行的原因為快速、穩定、開源.在企業版方面WebLogic(6%)和WebSphere(5%)還是Web Logic比較多企業在使用.

(4)最常在哪裡取的Java的技術資訊(複選)link
開發者最常取的技術資訊:Stack Overflow(62%)、Oracle’s document(41%)、Java Magazine(38%)、DZone(32%)、Youtube(24%),這些可以提供大家參考節省開發時遇到的問題或是技術上資訊容易取得.

參考

  1. java magazine
  2. JDK維基百科