常见问题解答 - 入门
安装和升级
GWT 的系统要求是什么?
GWT 旨在运行在满足以下要求的系统上
- Java: Oracle Java 2 Runtime Environment 1.5
- 操作系统: Windows Vista/XP/2000, Mac OS X 10.4+ (Tiger 或 Leopard), 或带有 GTK+ 2.2.1+ 的 Linux
- 硬件: 约 100 MB 的可用磁盘空间,512 MB 内存
如果您在运行 GWT 时遇到问题,并且您的系统满足上述要求,请在 GWT 开发者讨论组 上告知我们。
如何安装 GWT?
有关分步说明,请参阅入门: 快速入门 安装 GWT.
GWT 在我的国家可用吗?它支持我的语言吗?
GWT 在所有国家/地区都可用,并且应该支持大多数语言,但目前只有英文文档。
GWT 收费吗?
不,GWT 完全免费。事实上,所有 GWT 的源代码 都是根据 Apache 2.0 开源许可证 提供的。
GWT 会收集哪些类型的资料?
当您使用 GWT 的开发模式服务器或编译器时,应用程序会定期将您产品的唯一时间戳 ID 和版本号发送回 Google 的服务器,以便应用程序可以通知您新版本。时间戳 ID 是在您第一次使用编译器或开发模式服务器时生成的。作为此请求的一部分,Google 将记录时间戳 ID 和版本号。
GWT 开发者插件每天或根据相应浏览器的配置检查更新,并发送当前插件版本号。作为此请求的一部分,Google 将记录插件版本号。
我们不会记录关于您的 cookie 或个人信息,并且我们只会将记录的任何数据汇总使用以运营和改进 GWT。我们将在内部使用此信息来汇总确定开发模式服务器和编译器的使用量。
您可以随时选择不使用开发模式服务器并卸载浏览器插件。您可以使用带有标志“-XdisableUpdateCheck” 的 GWT 编译器直接将代码编译成 JavaScript。这样不会发送有关最新版本的 GWT 的请求。
当 GWT 发布新版本时,我是否需要升级我的应用?
我们将在 GWT 网站 上发布 GWT 的新版本。除非出现不可预见的情况,否则我们预计将继续在网站上提供所有以前的 GWT 版本。随着版本的过时,我们将在 GWT 讨论组 上不再积极支持它们,但我们将尽力保留旧版本和文档,尽可能长时间保留。
如何在升级 GWT 后让我的项目再次运行?
如果您正在进行项目,则在将 GWT 库从一个版本升级到另一个版本时,您可能会注意到编译和运行项目时出现问题。有时您可能会看到 GWT 编译器内部错误,或者您可能会看到以前从未见过的奇怪的运行时错误。
在提交错误之前,请尝试停止开发模式并清除您的编译器输出(通常位于目录 www/_<package>_
中)。然后,重新启动开发模式。但是,如果您仍然遇到问题,我们一定会想知道!
许可证
我可以使用 GWT 开发商业/企业应用程序吗?
可以!GWT 可用于非商业、商业和企业应用程序。所有 GWT 代码都根据 Apache 2.0 开源许可证 提供。
我可以将 GWT 二进制文件与我的产品一起重新分发吗?
GWT 已根据 Apache 2.0 许可证发布,因此您可以在 Apache 2.0 条款 的允许下分发二进制文件。请注意,GWT 中使用的一些库根据其他许可证提供,如 此处 所述,因此您也必须遵守其条款。
支持
GWT 有博客吗?
很高兴您问!我们的博客是 http://googlewebtoolkit.blogspot.com/
如果我有问题,应该联系谁?
您可以在 Google Groups 上的 GWT 开发者讨论组 上发布您的问题。GWT 工程和运营团队将参与该小组,并尽力回答出现的问题。
在哪里报告错误?
您可以在 GWT 问题跟踪器 中提交错误。在报告新问题之前,请务必搜索您的问题,因为其他人可能已经报告过该问题。如果您希望收到有关您问题的活动的通知,请为该报告加星标,您将在您的帐户电子邮件地址收到电子邮件。
在哪里提交改进 GWT 的建议?
如果您对 GWT 的改进有任何想法,请在 问题跟踪器 中搜索。如果没有找到,您可能需要先在 GWT 开发者讨论组 上提出建议。
您可以在 GWT 问题跟踪器 中提交增强请求。保存报告后,它将被标记为“缺陷”,即使您要提交 RFE(增强请求)。别担心!我们会审查提交到问题跟踪器的每个项目,并在收到增强请求时对其进行适当标记。
在哪里可以找到 GWT 源代码?我可以提交补丁吗?
根据 Apache 2.0 许可证提供的 GWT 源代码 在这里 提供。如果您有兴趣贡献补丁,请访问 改进 GWT 指南。
浏览器和服务器
GWT 支持哪些浏览器?
GWT 支持以下浏览器
- Firefox
- Internet Explorer 8, 9, 10, 11
- Safari 5, 6
- Chromium 和 Google Chrome
- Opera 最新版本
当出现新浏览器时,我的应用会崩溃吗?
通常情况下,不会。GWT 的设计方式是在用户级库中包含所有特定于浏览器的代码。此外,JavaScript 本身在不同浏览器之间的支持非常一致,因此当 GWT 编译器执行其 Java 到 JavaScript 编译时,它不需要担心为哪个浏览器生成 JavaScript。
也就是说,让新浏览器难以遵守的是 DOM API。对于向后兼容的浏览器,它可以正常工作。对于其他情况,更改用户级库很简单。只需要为所需的浏览器实现一个 DOMImpl 版本。在某些情况下,全新的浏览器可能需要更多的工作才能获得 GWT 的支持,但这将是例外情况,而不是普遍情况。
我可以将 GWT 与我喜欢的服务器端模板工具一起使用吗?
可以,您可以自由地将 GWT 与任何服务器端模板工具一起使用,例如 XSLT、Frontpage、Dreamweaver、WebObjects、PHP、Active Server Pages 或 JavaServer Pages,仅举几例。
使用 GWT 开发,你的 Java 客户端代码会被编译成等效的 JavaScript 代码,并加载到你的宿主页面中。生成的产物完全独立于你在 web 应用中选择的服务器端技术。
你可以继续使用你喜欢的服务器端模板工具,并将模板指令包含到你的宿主页面中,与你的 GWT 生成的 JavaScript 文件一起。你用来实现模板的服务器端技术对浏览器是不可见的,并且与没有你的 GWT 模块时的运作方式相同。