[翻译] 2013 年 GWT 调查报告中文摘要

楼主: PsMonkey (痞子军团团长)   2013-12-15 23:26:22
※ [本文转录自 java 看板 #1IhO1qLm ]
作者: PsMonkey (痞子军团团长) 看板: java
标题: 2013 年 GWT 调查报告中文摘要
时间: Sun Dec 15 18:12:01 2013
blog 版:http://blog.dontcareabout.us/2013/12/gwt-2013.html
BBS 版以 markdown 语法撰写
原始报告请到 http://vaadin.com/gwt/report-2013 下载(要输入 EMail 帐号)。
除了序言之外,其余都只翻译数据跟(个人认定的)重点,非逐句翻译。
______________________________________________________________________
## 序言 ##
在 2012 年第一次作 **GWT 状况调查** 时,收到的回复数量淹没了我们。
我们把调查报告取名为《The Furture of GWT》(译名:GWT 调查报告),
因为我们想知道“GWT 衰老中”这个谣言到底有多少可信度。
在超过 1300 个回应里,我们、以及全世界都看到了 GWT 活蹦乱跳的样子。
在许多大型企业用 GWT 来建构大型的 pplication,
对 GWT 投注的资源也在增加。
在《GWT 调查报告 2013 版》中,
我们想要知道 GWT 未来该如何发展?(第六节)
开发团队在用什么 Java 跟 GWT 的版本?以了解
哪些地方需要支援?(第四节)
你们需要哪些 extension、在找哪些 framework?(第五节)
为了取得背景以及人口统计学的资料,
我们也问了关于你的团队(第一节)、
你在写的 application(第二节)、
以及你如何开发 application(第三节)。
有了这些资讯整合成这份报告,
我们觉得这是最综合性的调查,可以引领 GWT 很长一段路。
在 2013 年,有 12 月的研讨会(gwtcreate.com),
有令人兴奋的 GWT 3.0 的计画、
还有许多大公司投入 GWt 作为他们未来的技术;
我们知道 GWT 跨出了不只一大步。
2013 年 GWT 委员会也决定了未来的 release 步调:
每年一个大改版以及一个小改版。
这份调查是由 Vaadin、
Ray Cromwell(Google 代表、现任委员会主席)、
Daniel Kurka(mGWT 与 GWT-phonegap 的 Google 开发者)、
Artur Signell(Vaadin 代表)、
Bhaskar Janakiraman(Google)、
Colin Alworth(Sencha)、
Christian Goudreau(Arcbees)、
Konstantin Solomatov(Jetbrains)、
Mike Brock(RedHat)、
Stephen Haberman(Bizo)、
Joonas Lehtinen(Vaadin)以及 Thomas Broyer。
你可以在这份报告中看到他们的意见与反应。
这份调查报告在 GWT.create 2013 发表,
友超过 600 个热心的 GWT 开发者出席这个年度最大的 GWT 活动。
我们同样感谢超过 1400 位受访者所花的时间与坦白,
期待看到你们的意见!
## 1. 关于开发团队 ##
### 团队大小 ###
GWT 开发团队的平均人数是 12.5 人,
而中位数则是 8 人。这跟去年的调查相同。
我们也问了过去 12 个月团队大小的变化。
* 47%:一样
* 41%:扩编
* 10%:缩编
* 3%:我只是小员工,不确定...
(两张团队大小的统计分布图)
### 团员组成 ###
以八人团队为例,任务分配为:
* 2.7 人:后端开发者
* 2.0 人:前端开发者
* 1.3 人:测试人员
* 0.9 人:PM(project / product)
* 0.6 人:设计师
* 0.6 人:死星上的人?
### 地理分布 ###
* 58%:欧洲(上升 8%)
* 25%:北美洲
* 8%:亚洲
* 4%:南美洲
* 2%:澳洲
* 2%:非洲
## 2. GWT 用在哪里 ##
### 画面数量 ###
* 48%:超过 20
* 22%:11~20
* 21%:5~10
* 10%:1~4
20 是一个魔术数字。调查大型 app 的画面数量应该很有趣。
*Christian*:少于 5~7 个画面的 app 实在太小了,为什么会用 GWT 呢?
这是个有趣的问题。
### compile 时间 ###
* 1~3 分钟:27%(去年 31%)
* 3~10 分钟:46%(去年 48%)
* 10~30 分钟:20%
* 超过半小时:7%
对照去年的数据,可以代表 project 的规模越来越大。
*Ray 与 Bhaskar*:要改善 compile 时间有点难、需要一点时间来克服。
不过我们已经开始尝试 incremental / modular compilation system。
### 写给谁用 ###
* 35%:内部使用
* 17%:公开且免费
* 43%:公开但收费
* 5%:其他
### 用来写什么 ###
* 46%:商业内部 application
* 33%:商业外部 application
* 13%:content-rich 网站
* 2%:Portlet
* 1%:游戏
* 5%:其他
*Ray*:看到有人用 GWT 写游戏实在很棒。
GWT 可以让你在 Web 与 Android 之间共用程式码,
借由 PlayN 这种 library 也可以拓展到 iOS 上。
### browser 支援度 ###
(注:下列数据分别为 `希望 2013 年有支援` / `希望 2014 年有支援`)
* IE 6 跟 7:14% / 9%
* IE 8:54% / 44%
* IE 9:79% / 66%
* IE 10:80% / 76%
* IE 11:NaN / 70%
* Safari:18% / 62%
* Chrome:94% / 93%
* Firefox:94% / 92%
* iOS:NaN / 49%
* Android:NaN / 50%
*Joonas*:IE6/7 终于快死光了,所以 GWT 3.0 可以不用鸟它们了。
不过看起来 2014 年还是要很痛苦地去支援 IE8/9,
因为需求量看起来还是蛮大的。
*Ray*:对于改进 GWT 核心而言,IE6/7/8 是可悲的毒药,
有很多 API 没办法增强就是因为老一辈的 browser 没办法处理。
网页正转型为 mobile 跟 HTML5,
要整合过时的 browser 会让这个转型过程变得很困难。
*Thomas*:看到 IE6/7/8 加起来还不少,让我很沮丧。
### 装置支援度 ###
(注:下列数据分别为 `2012 年` / `2013 年`)
* Desktop:98% / 99%
* Tablet:36% / 45%
* Phone:26% / 30%
* 其他:2% / 2%
## 3. 如何用 GWT 建置 App? ##
### 怎么作 UI? ###
* 48%:用 Java 刻
* 46%:UiBinder
* 6%:GWT designer
*Christian*:我不懂为什么这年头还会有人想要 Java 刻 UI?
每个语言都有对应的 UI 描述方式。
ActionScript 有 MXML、
JavaScript 有 HTML、
.NET 有 XAML。
*Daniel*:看到这么多人用 Java 刻 UI?
明明 UiBinder 就是比较好的方式。我们需要大力推广 UiBinder。
### Mobile App 开发环境 ###
* 27%:mGWT
* 16%:gwt-phonegap
* 16%:JS library
* 15%:PhoneGap
* 10%:Vaadin Touchkit
* 17%:其他
### 后端通讯方式 ###
* 53%:GWT-RPC
* 11%:Request builder
* 7%:Request factory:
* 7%:自制
* 6%:Vaadin
* 4%:RESTY
* 3%:gwt-dispatch
* 3%:gwt-platform
*Ray*:GWT-RPC 在小型 app、快速开发方面实在超有力的,
但是在 compile 时间以及 interoperability 上会花很多时间。
JAXRS 是 GWT 3.0 考虑的方法之一,可能会提供更好的中间层。
*Daniel*:在决定 GWT 3.0 以后的 RPC 系统时,
我们应该要记得“很多人喜欢 GWT RPC 的简单好用”这件事。
### IDE ###
* 76%:Eclispe
* 18%:IDEA:
* 5%:Netbeans
* 1%:其他
*Christian*:我个人最爱 IDEA 的 GWT plugin,是目前最成熟的。
*Ray*:我是 IDEA 的爱好者,它把写 JSNI/JavaScript 程式码这档事做的很好。
### 如何作测试? ###
* 49%:手动
* 18%:Selenium
* 13%:JUnit(GWTTest)
* 13%:没有测试 UI 这种事啦...
### DevMode 还是 Super DevMode? ###
* 74%:DevMode
* 14%:两个都用
* 5%:Super DevMode
* 5%:孟获孟获孟获...
*Thomas*:看到 Super DevMode 成长真好。
未来要让所有 browser 支援 DevMode 不太可能。
Super DevMode 的比例成长应该有部份会归应于 mobile 平台。
*Joonas*:我们真的应该让 Super DevMode 变成默认值。
用它来执行程式会比较接近实际的运算效能。
我觉得 DevMode 的优势在于设定比较方便。
## 4. 用什么版本? ##
### GWT 版本 ###
* 79%:2.5
* 11%:2.4
* 3%:2.3
* 3%:trunk 版
* 2%:孟获孟获孟获...
* 1%:2.1
* 1%:2.0
*Thomas*:看到有 3% 的人用 thunk 版真的超惊讶的。
我们计画推出 nightly build,明年这个比率可能会增加。
### JDK 版本 ###
* 37%:Java 6
* 56%:Java 7
* 8%:Java 8
*Ray*:我可以发布一个解法,只让 client 的码用 Java8。
但是 Java6 无所不在,希望多一点人可以愿意去试试看。
Java8 的 lambdas 超好的,
让 async callback 还有 collection 操作变得很愉快。
*Joonas*:Vaadin 7 已经支援 Java 8 了,
我希望我们可以在 GWT 3 当中用到 Lambdas 的优点。
### 会在 client 端的程式码用 Java 8 的功能吗? ###
* 52%:不会让 project 设定变复杂的前提下才会考虑
* 27%:希望 client 跟 server 端用不同版本的 Java
* 12%:没兴趣
* 6%:其他
* 2%:孟获孟获孟获
*Daniel*:80% 的人会想要在 GWT 中用 Java8,这相当好。
我们必须找出一个好方法让 server side 必须用 Java6 的人也能运作。
## 5. 外挂、framework... ##
### GWT 用起来的产能如何? ###
* 不想再用:2%
* 不是很好:7%
* 中规中矩:32%
* 相当优秀:44%
* 无可匹敌:15%
### 下一个 project 会用 GWT 吗? ###
* 84%:会
* 16%:不会
### 不用 GWT 会用什么 framework? ###
* 5%:Play
* 5%:JSF
* 5%:Errai
* 6%:SmartGWT
* 8%:Dart
* 11%:SpringMVC
* 12%:Vaadin
* 14%:JavaScript
* 14%:Angular
*Ray*:GWT 3.0 会有一个新的 JS interop system,
衔接向 Polymar 或是 Angular 就不用写 JSNI 的程式码而变得更容易。
如此一来,想要用什么 framework 就去用吧。
### 用哪方面的外挂? ###
回收的问卷中有 87% 的人使用了外挂,其中:
* 23%:UI 功能(例如 GWT-dnd、GWT-fx)
* 20%:application 架构(例如 GWT-presenter)
* 15%:资料存取(例如 GWT-rpc、GWT-dispatch)
* 12%:server 存取(例如 Google API、GWT-bootstrap)
* 9%:application 功能(例如 GWT-platform)
* 4%:data handling(例如 gilead)
* 5%:其他
* 13%:没有用外挂
### 外挂去哪找? ###
* 55%:就 google 嘛
* 19%:自干一个
* 13%:GitHub
* 11%:gwtproject.org
* 2%:其他
### 你会整合既有 JS 到 project 中吗? ###
* 62%:会
* 32%:不会
* 3%:其他
* 2%:孟获孟获孟获...
## 6. GWT 的未来 ##
### GWT 的 bug ###
* 73%:从来没有回报过 bug
* 13%:有
* 14%:有,但是没有修正
*Thomas*:GWT 真的够好吗?我不确定......
到底是大家没有被 bug 炸到,还是他们**懒得**回报 bug?
### GWT 的光明面 ###
每人两票:
* 60%:产能(cross-browser、不用弄一堆 JS)
* 32%:执行速度(不是 compile 速度)
* 24%:可模组化(可以团队方式写 GWT,不会互相影响)
(掌控大型、很多功能的程式)
* 19%:发现 bug 并解决的速度很快
* 18%:ecosystem 中的开发工具
* 17%:可靠度
* 13%:可用度
* 13%:产能(开始用 GWT 很容易)
* 9%:DevMode 的重新整理速度
* 7%:程式码大小
* 6%:有很多 widget 可以用
* 5%:widget 品质很好
* 5%:设计 application 风格 / application 外观
* 3%:有很多外挂
* 2%:外挂品质很好
* 2%:compile 时间
* 3%:其他
### GWT 的黑暗面 ###
每人两票:
* 55%:compile 时间
* 29%:DevMode 的重新整理速度
* 19%:设计 application 风格 / application 外观
* 13%:有很多 widget 可以用
* 13%:程式码大小
(译注:图表的文字是 3%,但是长度是 13% 的大小。用后者。)
* 11%:发现 bug 并解决的速度很快
* 10%:产能(开始用 GWT 很容易)
* 9%:widget 品质很好
* 7%:ecosystem 中的开发工具
* 6%:执行速度(不是 compile 速度)
* 5%:可模组化(可以团队方式写 GWT,不会互相影响)
(掌控大型、很多功能的程式)
* 3%:可用度
* 3%:有很多外挂
* 2%:外挂品质很好
* 2%:产能(cross-browser、不用弄一堆 JS)
* 1%:可靠度
* 6%:其他
*Daniel*:GWT 2.6 就已经有一些关于 compile 时间的改善。
*Thomas*:GWT 3.0 的重点会在改善 compile 时间以及
DevMode 的 refresh 时间上。
### 对委员会有什么感觉? ###
* 17%:GWT 感觉比以前有活力
* 22%:对 GWT 的未来比以前有信心
* 17%:roadmap 更清楚了
* 28%:没啥变化耶其实
* 10%:现在对 GWT 比较没信心
* 6%:其他

Links booklink

Contact Us: admin [ a t ] ucptt.com