概述
什么是GWT?
Google Web Toolkit(GWT)是一个用于创建RICH Internet Applications (RIA)的开发工具包。 以下是一些值得注意的功能 -
GWT为开发人员提供了在JAVA中编写客户端应用程序的选项。
GWT将用JAVA编写的代码编译为JavaScript代码。
用GWT编写的应用程序是跨浏览器兼容的。 GWT自动生成适合每个浏览器的javascript代码。
GWT是开源的,完全免费的,并被全球数千名开发人员使用。 它是根据Apache许可证2.0版许可的。
总体而言,GWT是一个构建大规模和高性能Web应用程序的framework ,同时使它们易于维护。
为什么要使用GWT?
基于Java,您可以使用Eclipse等JAVA IDE来开发GWT应用程序。
开发人员可以使用代码自动完成/重构/导航/项目管理以及IDEs.GWT的所有功能,它提供完整的调试功能。 开发人员可以像Java应用程序一样调试客户端应用程序。
GWT提供与Junit和Maven的轻松集成。
作为基于Java的,GWT对Java开发人员的学习曲线较低。
GWT生成优化的javascript代码,自己生成浏览器的特定javascript代码。
GWT提供的Widgets库提供了应用程序所需的大部分任务。
GWT是可扩展的,可以创建自定义小部件以满足应用程序需求。
最重要的是,GWT应用程序可以在所有主流浏览器和智能手机上运行,包括基于Android和iOS的手机/平板电脑。
GWT的缺点
虽然GWT提供了很多优点,但它有以下缺点 -
Not Indexable - GWT生成的网页不会被搜索引擎索引,因为这些应用程序是动态生成的。
Not Degradable - 如果您的应用程序用户禁用Javascript,那么用户只会看到基本页面而已。
Not Designer's Friendly - GWT不适合那些喜欢使用普通HTML和占位符来在以后插入动态内容的网页设计师。
GWT组件
GWT框架可分为以下三个主要部分 -
GWT Java to JavaScript compiler - 这是GWT最重要的部分,使其成为构建RIA的强大工具。 GWT编译器用于将用Java编写的所有应用程序代码转换为JavaScript。
JRE Emulation library - Google Web Toolkit包含一个模拟Java运行时库子集的库。 该列表包括java.lang,java.lang.annotation,java.math,java.io,java.sql,java.util和java.util.logging
GWT UI building library - GWT的这一部分由许多子部分组成,其中包括实际的UI组件,RPC支持,历史记录管理等等。
GWT还提供了一个GWT托管Web浏览器,它允许您以托管模式运行和执行GWT应用程序,其中您的代码在Java虚拟机中作为Java运行,而无需编译为JavaScript。