Google网页工具包

Google Web Toolkit(简称GWT,读作/ˈɡwɪt/),是一个前端使用JavaScript,后端使用JavaAJAX framework,以Apache许可证2.0版本开放源始码。GWT透过编译器将Java代码编译成JavaScript,可让开发人员使用Java程式设计语言,快速建置与维护复杂但高性能的JavaScript前端应用程式,借此减轻开发人员负担。

Google Web Toolkit
原作者Google
首次发布May 16, 2006
当前版本2.10.0(2022年6月9日,​2年前​(2022-06-09
原始码库 编辑维基数据链接
编程语言Java
操作系统GNU/Linux, Windows, Mac OS X
语言Java
类型AJAX framework
许可协议Apache许可证 2.0
网站http://www.gwtproject.org/

2010年8月,Google买下Instantiations公司[1],并免费发布该公司旗下所有产品,当中包括GWT Designer。GWT Designer是Eclipse的插件,为GWT提供WYSIWYG所见即所得)的AJAX设计接口[2]。Google亦正在计划为GWT Designer增加UiBinder支持。

2014年10月30日,在GWT 2.7.0 RC1版本中,GWT Designer已弃用。[3]

2016年10月20日,GWT 2.8.0 版本正式发布。该版本支持Java 8和CSS3。同时正式支持JsInterop和GSS,前者可替换原先的JSNI,后者取代过时的CssResource。[4]

组件

Google Web Toolkit的主要组件包括:

GWT Developer Plugin
提供GWT开发模式(GWT Development Mode),将Java代码的执行结果即时反映到本机浏览器上,整个过程完全不需进行编译。在此模式下,对Java代码进行调试,就像直接对JavaScript进行调试一样迅速。
GWT Web UI class library
一套用于建立控件的自定接口与函数库
GWT Java-to-JavaScript Compiler
将Java代码编译成JavaScript代码的编译器,编译方式有三种:[5]
  1. Obfuscated:此乃默认模式。此模式将JavaScript进行代码混淆,例如全不跳行、全删空格、所有代码挤在一行、变量名称只用一两个字母等等。让代码难以阅读,减少泄露运作逻辑及被攻击的机会,并提高网络发送速度。
  2. Pretty:此模式的JavaScript代码经过美化,例如尽量使用有意义的变量名称,适当地跳行,易于阅读。此模式适合在编译后继续对JavaScript代码手动进行修改。
  3. Detailed:介乎以上两种模式之间。

历史

版本历史:

  • GWT 1.0 2006年5月17日
  • GWT 1.1 2006年8月11日
  • GWT 1.2 2006年11月16日
  • GWT 1.3 2007年2月5日
  • GWT 1.4 2007年8月28日
  • GWT 1.5 2008年8月27日
  • GWT 1.6 2009年4月7日
  • GWT 1.7 2009年7月13日
  • GWT 2.0 2009年12月8日
  • GWT 2.1.0 2010年10月19日
  • GWT 2.2.0 2011年2月11日
  • GWT 2.3.0 2011年5月3日
  • GWT 2.4.0 2011年9月8日
  • GWT 2.5.0 2012年10月
  • GWT 2.5.1 2013年3月11日
  • GWT 2.6.0 2014年1月30日
  • GWT 2.6.1 2014年5月10日
  • GWT 2.7.0 2014年11月20日
  • GWT 2.8.0 2016年10月20日
  • GWT 2.8.1 2017年4月24日
  • GWT 2.8.2 2017年10月19日
  • GWT 2.9.0 2020年5月2日
  • GWT 2.10.0 2022年6月9日

参见

外部链接

参考文献

  1. ^ Google Relaunches Instantiations Developer Tools - Now Available for Free. [2010-11-13]. (原始内容存档于2016-05-08). 
  2. ^ GWT Designer User Guide. [2010-11-13]. (原始内容存档于2012-02-25). 
  3. ^ Release Notes for 2.7.0. [2016-10-25]. (原始内容存档于2021-01-16). 
  4. ^ Release Notes for 2.8.0. [2016-10-25]. (原始内容存档于2021-01-16). 
  5. ^ Debug and Compile - FAQ. [2010-11-13]. (原始内容存档于2011-12-20).