GWT开发者指南:JAVA转JAVASCRIPT,核心概念与编译原理
需积分: 10 160 浏览量
更新于2024-07-21
收藏 712KB DOC 举报
"GWT理解帮助文档是一份详细的开发指南,旨在帮助新手快速掌握Google Web Toolkit (GWT) 的核心技术,包括基本概念、用户界面构建、远程过程调用(RPC)、测试集成、国际化处理、JavaScript本地接口以及GWT应用程序框架的定制。文档特别指出,目标读者应具备Java语言基础和J2EE三层架构的开发经验,适用于Web应用程序开发者。文档覆盖了GWT的编译过程,解释了如何将Java源码编译为JavaScript,确保跨浏览器兼容性,并介绍了模块化开发的概念。"
GWT(Google Web Toolkit)是一个开源的开发工具包,允许开发人员使用Java语言编写富互联网应用程序(RIA),并自动将其编译为优化的JavaScript代码。主要知识点如下:
1. **基本概念**:
- **JAVA到JAVASCRIPT编译**:GWT的核心功能是它的编译器,它将Java代码转换为JavaScript,使得应用程序能在各种Web浏览器上运行。
- **模块(Module)**:GWT项目通常由多个模块组成,每个模块代表应用程序的一部分,包含所需的类、样式和配置信息。
- **主机模式与Web模式**:在主机模式下,开发者可以快速测试代码,而Web模式则是最终用户使用的模式。
2. **GWT编译器**:
- **编译过程**:GWT编译器将Java应用程序编译为JavaScript,如果编译成功,程序在Web浏览器中的行为将与主机模式一致。
- **语言特性支持**:GWT支持大部分Java语言特性,如异常处理,但不完全兼容所有特性,例如,long类型的映射、多线程和同步机制、堆栈跟踪等。
3. **类型支持**:
- **固有类型**:byte, char, short, int, long, float, double, Object, String以及数组都得到支持。在JavaScript中没有64位整型,long会被映射到双精度浮点类型。
- **异常处理**:try-catch-finally结构及自定义异常支持,但堆栈跟踪在Web模式下不可用。
- **断言**:Java的assert语句在GWT中不生成JavaScript代码。
- **多线程与同步**:由于JavaScript的单线程性质,synchronized关键字在GWT中无效,相关类库方法也不可用。
4. **反射与效率**:
- **反射**:为了性能考虑,GWT在编译时进行类型安全的优化,因此反射API的某些部分可能不可用。
5. **其他特性**:
- **远程过程调用(RPC)**:GWT提供了方便的RPC机制,使服务器端和客户端之间能进行数据交换。
- **JUnit集成**:支持在GWT环境中进行单元测试。
- **国际化**:GWT提供了处理多语言应用的能力。
- **JavaScript本地接口**:允许直接访问JavaScript库和浏览器API。
- **自定义组件**:开发者可以创建自己的用户界面组件来扩展GWT的功能。
- **自定义应用程序框架**:GWT允许构建适应特定需求的应用程序架构。
这份文档是新进开发者入门GWT的宝贵资源,通过深入学习,可以帮助他们迅速适应GWT开发环境,实现高效、跨平台的Web应用开发。
2018-04-02 上传
712 浏览量
2010-04-11 上传
2010-04-11 上传
2019-07-13 上传
2015-04-22 上传
2012-10-16 上传
好姑娘向暖而生
- 粉丝: 13
- 资源: 3
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器