深入探索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面向对象概念的能力。而服
超级会员免费看
订阅专栏 解锁全文

1

被折叠的 条评论
为什么被折叠?



