52、深入探索GWT的工作原理

深入探索GWT的工作原理

1. GWT应用程序的执行与加载机制

在GWT应用程序的加载过程中,代码会不断调用 module.nocache.js 文件中的 maybeStartModule() 方法。该方法会尝试执行JavaScript置换代码中的 gwtOnLoad() 方法,当成功执行时,GWT应用程序就正式启动并运行。

这里存在标准应用程序和跨脚本应用程序两种类型。跨脚本应用程序与标准应用程序的任务大致相同,但有两个细微差别:一是不加载 nocache.html 文件,而是加载 nocache.js 版本;二是不会自动启动应用程序,需要手动启动,这对于将GWT应用程序与其他代码混合使用的场景非常有用。

以下是一个简单的加载流程示意:

graph LR
    A[开始加载] --> B[调用maybeStartModule()]
    B --> C{能否执行gwtOnLoad()}
    C -- 是 --> D[应用程序启动]
    C -- 否 --> B
2. Java代码编译为JavaScript

尽管使用Java编写代码,但GWT编译器的输出是纯JavaScript代码,以便在用户的Web浏览器中执行。客户端代码使用Java 1.4定义的子集,主要原因是包对Web应用程序的适用性以及在JavaScript中表示Java面向对象概念的能力。而服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值