原始報告請到 https://vaadin.com/gwt/report-2012 下載。雖然 Vaadin 有收集 EMail 之嫌 [炸],但不可否認這份報告實在做的非常有愛,值得給他 EMail 帳號以資鼓勵。另,本篇摘要翻的很隨性,只保證數據沒有打錯,其他就...... [毆飛]
GWT 在 2012 年有許多令人興奮的內容、也改變了未來發展 GWT 的方式。 在產品與社群前所未有地茁壯的同時,大家想問:「阿下一步咧?」
Google 在六月的時候把 GWT 變得更開放。 為了未來的發展,成立了 GWT 指導委員會, 裡頭有 Vaadin、Google、Sencha、RedHat 等等。 我們開始設法收集大家拿 GWT 作啥、想許什麼願望。
這個 GWT 研究是由 Vaadin 以及一堆人努力而成, 在這份報告裡頭也會看到他們的意見。
在回收的一千三百多份問卷當中,都回答了超過三十個以上的問題, 我們相信這會是最完整的調查報告。
Section 1:誰在用、怎麼用?
開發什麼系統?
- 80%:商業程式
- 11%:content-rich 網站
- 1.5%:Portlet
- 1%:遊戲
- 7%:其他
給誰用?
- 35%:內部自己用
- 19%:免費的網站
- 46%:付錢的網站
總結:大家對這個結果(如此健康、而且一堆是拿來賺錢)感到驚訝...... Orz
成員組成
一個 GWT Team 平均 12 個人,組成成份大概是(單位:人):
- 3.7:後端工程師
- 2.9:前端工程師
- 2.5:測試人員
- 1.3:PM(Project 或是 Product 都可以)
- 0.9:設計師
- 1:死星上(?)的其他人
地區分佈
- 54%:歐洲
- 29%:北美
- 9%:亞洲
- 5%:南美
- 2%:澳洲
- 1%:非洲
GWT 不是從歐洲來的,不過那兒的社群的確比較活躍。
程式有多大?
沒有壓縮、obfuscate 的情況下的 JavaScript 檔大小:
- 10%:少於 100K
- 12%:100K~300K
- 12%:300K~500K
- 16%:500K~1M
- 16%:1M~2M
- 22%:2M~10M
- 12%:大於 10M
總結:想要開發又大又能維護的系統? 找 GWT 就對了
support device
- 98.1%:Desktop
- 36.1%:Tablet
- 25.7%:Phone
- 2.1%:其他
在美國有 46% 的 app 支援 tablet,在歐洲只有 34%。
用什麼在 mobile 上開發?
- 42%:mGWT
- 55%:PhoneGap(可包含 GWT-phonegap)
- 30%:其他
用哪種方法建立 UI
- 58.62%:UiBinder
- 14.39%:GWT Designer
- 73.61%:純手工 Java 派
怎麼套 MVP
- 27%:用 GWT 2.4
- 27%:自己作
- 19%:沒有!
- 10%:GWT-Platform
- 5%:GWT-MVP
- 7%:其他
怎麼測試 UI?
- 48%:手動測試
- 19%:Selenium
- 13%:GWTTestCase
- 10%:沒有這種事
- 8%:其他
總結:三分之二的人不測 or 不自動化測試,只有三分之一的人進行自動化測試。嗯... GWT 可能針對這個努力一下。
譯註:這邊有個 typo,「Jucikito」應該是「Jukito」
用什麼 Extension?
- 42%:UI 功能(像 GWT-dnd、GWT-fx)
- 35%:系統架構(像 gin、GWT-presenter)
- 26%:data access(像 GWT-rpc、GWT-dispatch)
- 23%:Access to service(像 Google API、GWT-bootstrap)
- 15%:系統功能(像 GWT-platform)
- 6%:資料處理(像 gilead)
- 13%:其他
- 19%:我們很純的,沒有用!
有用 JavaScript 嗎?
- 43.58%:JavaScript?謝謝再聯絡...
- 25.21%:jQuery
- 16.34%:Rich Text Editor
- 25.60:其他
跟後端通訊方式
- 59.28%:GWT RPC
- 10.25%:RequestBuilder / REST
- 10.25%:RequestFactory
- 7.63%:自訂
- 12%:其他
Ray:GWT RPC 第一名不意外,很容易就可以在既有 Java 當中用,科科。
Daniel:用 phonegap 的話,RPC 就不太妙;用 RequestFactory / AutoBeans 會比較好。
Section 2:GWT 優缺點
用起來很給力嗎?
- 16.13%:超好的你都不知道
- 44.26%:很好很強大
- 31.13%:OK 的啦
- 6.75%:不怎麼樣
- 1.73%:完全不給力量,再也不要用了
總結:超過六成的人覺得 GWT 很給力
文件怎麼樣?
- 59.71%:線上文件很好阿...
- 33.74%:不行,文件要加強
- 6.55%:有很多書可以看
想詰譙什麼?
- 49%:compile 時間
- 34%:Widget 不夠好
- 27%:Dev-mode 的 refresh 時間
- 18%:application 外觀問題
- 13%:開使用 GWT 是困難的
- 9%:extensions 不夠好
- 8%:殺 bug 的速度不夠快
- 8%:程式碼大小
- 6%:相關的開發工具
- 5%:執行時候的速度不佳
- 5%:模組化設計
專案大小與 compile 時間的關係
還好我們有順便問一些跟 compile 有關的問題。 以沒有壓縮、obfuscate 的 JavaScript 檔案大小來分類,統計 compile 時間的分佈。 百分比依序為:
- 3 分鐘以內
- 3~10 分鐘
- 10~30 分鐘
- 超過 30 分鐘
結果如下:
- 少於 100K(7%):63%、29%、6%、2%
- 100K~300K(12%):46%、42%、10%、3%
- 300K~500K(12%):36%、52%、9%、1%
- 500K~1M(16%):36%、52%、9%、1%
- 1M~2M(16%):26%、51%、20%、4%
- 2M~10M(22%):19%、51%、24%、6%
- 大於 10M(12%):13%、41%、33%、13%
Ray:GWT compiler 有三個步驟,在 Google 會用 cluster 跑第二個步驟。 我們正在讓下一版的 GWT compile 速度變快。
譯註:「少於 100K」的數據跟 p.8 不一樣... 不過 p.8 加起來才會 100%
用 Dev-mode 還是 Super Dev-mode?
- 80.21%:Dev Mode
- 3.92%:Super Dev-Mode
- 7.01%:兩個都用
- 4.30%:兩個都沒用
- 4.52%:孟獲孟獲孟獲(不懂問題是啥)
總結:好 SuperDevMode 不用嗎?
GWT 哪裡好?
- 60%:跨 browser(不用搞 JavaScript)
- 25%:執行起來很快
- 21%:模組化
- 19%:相關開發工具
- 15%:殺 bug 效率很好
- 9%:可靠
- 8%:好用
- 8%:Widget 很夠用
- 8%:學 GWT 很容易
- 7%:ExtDev-mode refresh time(譯註:看不懂)
- 4%:程式碼大小
用哪個版本的 GWT?
- 1.13%:2.0 以前
- 1.36%:2.0
- 1.66%:2.1
- 2.41%:2.2
- 7.61%:2.3
- 59.34%:2.4
- 25%:2.5
有回報過 GWT 的 bug 嗎?
- 66.29%:沒有(包含沒遇到)
- 20.17%:有,但是沒有修 or 很久之後才修
- 7.31%:有些修了,通常蠻快的
- 6.24%:有,而且都修了
Section 3:GWT 接下來要?
下個 project 會用 GWT 嗎?
- 88.48%:會
- 11.52%:不會
Bhaskar:Google 有一卡車 GWT 的 application,其中有些是上百萬行的程式碼,都還在開發中。 我們很衷心的希望 GWT 保持健康。身為指導委員會的一員,我們計畫持續地改善 GWT。
Joonas:Vaadin 已經 12 歲了,後五年改用 GWT,並且將 GWT 直接整合進 Vaadin 7 當中。
不用 GWT 那要用啥?
- 38%:JavaScript + REST
- 29%:ExtGWT / GXT
- 28%:Spring MVC
- 26%:Vaadin
- 19%:Dart
- 17%:SmartGWT
- 16%:JSF
- 16%:Play!
- 16%:其他會 compile 成 JavaScript 的語言
- 8%:Errai
- 4%:ZK
Joonas:Vaadin、GXT、SmartGWT 跟 Errai 應該也算 GWT 的範圍。
指導委員會主導 GWT 後會發生啥事?
- 50%:講這些都還太早啦
- 38%:GWT 還會活好一陣子(如果你寫了 10 萬行程式碼,不會說變就變)
- 36%:GWT 會變更好
- 18%:新的管家讓 GWT 更蓬勃發展(譯註:不懂跟上一個有啥差別?)
- 12%:跟之前一樣
- 8%:Dart 起飛之後 GWT 就掰掰了
- 4%:GWT 早就死了
總結:我們是希望像脫離 IBM 的 Eclipse 啦...
關於受訪者
受訪者職位
- 45.13%:開發人員
- 21.56%:小隊長
- 8.42%:Project/Product Manager 或 Scrum Master
- 21.56%:軟體架構師
- 0.62%:設計師
- 3.25%:其他
GWT 經驗
- 13.09%:不到一年
- 47.96%:1 到 3 年
- 38.95%:3 年以上
沒有留言:
張貼留言