GWT揭秘JavaScript 的银弹_GWT揭秘JavaScript 的银弹试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 交互设计 > GWT揭秘 > JavaScript 的银弹

GWT揭秘——JavaScript 的银弹

1995 年底,Netscape 发布了 Navigator 2.0 版本,它加入了一个重要的特性:可以在页面中嵌入JavaScript 语言。在 Navigator 2.0 发布前,Netscape 将这种新语言命名为 LiveScript,但最终发布时却使用了 JavaScript 这个名字,因为 Netscape 想借助 Java 这门当时最炙手可热的语言迅速走红。Navigator 2.0 发布后,Web 程序员们立刻喜欢上了这门新语言。使用JavaScript 能够在网页中实现用户输入信息的校验工作,比如检查 E-Mail 的地址格式是否正确,核对密码和校验密码是否一致等。在当时那个网络带宽只有 28.8kBps 的年代,能在浏览器端验证这些信息,无疑是 Web 开发界的一次重大变革。在 JavaScript 出现之前,如果用户在浏览器端输入一个错误信息,往往需要等待10 多秒钟才能收到从服务器端发回的反馈,这对用户来说简直是不可接受的。JavaScript 出现以后,很好地解决了这个问题,Web 应用的用户体验有了一个质的飞跃,嵌有 JavaScript 的 Web 应用备受用户青睐。 1996 年 8 月,微软发布了 Internet Explorer 3.0。那时,微软在浏览器市场上还只是个跟随者。为了能兼容大量嵌入 JavaScript 的网页,Internet Explorer 3.0 也提供了对 JavaScript 的支持。微软将他们的语言命名为 JScript,以避免版权和商标上的麻烦。 微软为 JScript 加入了一些新的特性,但这导致 JavaScript 和 JScript 出现了兼容性问题。为避免这一问题 继续扩大, Netscape 把 JavaScript 语言规 范提交给 ECMA(European Computer Manufacturing Association,欧洲计算机制造协会),申请制定 JavaScript 语言标准。1997 年年中,ECMA 正式制定了 ECMA-262 标准。从此,JavaScript 又被称为 ECMAScript。 随着 PC 计算能力的增强,JavaScript 不再满足于完成验证用户输入这样的简单工作。2005年,AJAX 进入程序员的视野。AJAX 把页面的逻辑全部搬到了浏览器端,仅把数据留在服务器上。网页不再需要刷新,用户能够在浏览器中享受和桌面应用程序一样的流畅体验。 然而,事物总是具有两面性。JavaScript 作为一种动态语言,在验证用户输入和实现一些网页特效方面有得天独厚的优势。但是,对于开发需要多人合作的大型项目来说,它却存在着以下问题: 第一,动态语言的代码编写具有随意性和自由性。对于一个需要长期维护、多人参与的大型项目开发来说,JavaScript 在代码维护、团队合作、编码规约、技术交流上存在着诸多不利因素。 第二,动态语言的状态属性需要在运行时才能确定,IDE 无法完整地实现智能提示。 第三,JavaScript 是解释运行的,变量类型和函数参数的错误只有在运行时才能暴露。 第四,浏览器对于 JavaScript 执行错误的提示简单且含糊,这给 JavaScript 的调试和纠错工作带来了很大的难度。对于 IE 以外的浏览器来说,目前的 IDE 无法进行集成调试。 第五,JavaScript 作为一种非面向对象语言,只能模拟出面向对象的继承性和多态性。对于多人团队来说,至关重要的封装性是无法模拟出来的。在一个多人团队中,开发人员水平参差不齐。类库没有封装性,就很难保证类库的内部实现在运行时不被改变。在项目进行到后期时,这对项目团队来说将是一个严峻的挑战。 最后,JavaScript/CSS/HTML 在不同的浏览器上存在兼容性问题,开发人员要针对不同的浏览器分别进行开发、调试、测试等工作,工作量可想而知。 随着 AJAX 应用规模的扩大,JavaScript 渐渐成为 AJAX 应用的一个限制。 Google 是目前世界上最大的网络公司。Google 的在线产品都是基于 AJAX 技术开发的,它比谁都了解这一问题的严重性。2006 年 5 月,Google 推出 Google Web Toolkit(GWT)以解决这一问题。 GWT 是一个开源的 Java 软件开发框架,允许 Web 开发人员用 Java 语言创建和维护复杂的JavaScript 应用。GWT 由 JAVA 交叉编译器和一系列类库组成,能够将标准的 JAVA 项目编译成JavaScript。同时 GWT 还提供受控模拟运行环境(GWT Hosted Web Browser)用于调试 GWT 项目。使用 GWT 的好处在于: 使用 JAVA 语言进行项目开发,开发团队可以使用 OOAD(面向对象的分析和设计)的方法进行项目开发,OOAD 已被证明能够有效提高多人团队项目的开发效率。 使用 Eclipse 等集成开发环境来提高编码的效率,方便代码重构。 JAVA 是编译语言,开发人员在项目编译时就能发现一些潜在的类型错误问题。 开发人员可以方便地在 Eclipse 等集成开发环境中调试 AJAX 项目。 通过 JAVA 这一面向对象的语言,开发团队可以将功能模块或界面模块封装起来,然后以Jar 的形式分发给其他开发人员或团队。 GWT 支持 IE/Firefox/Safari/Opera/Chrome 等主流浏览器,帮助开发人员轻松完成跨平台开发这样的艰巨任务。 用 GWT 编写 AJAX 应用的好处不言而喻。可以预言用 GWT 开发 AJAX 应用必将取代直接使用 JavaScript 开发 AJAX 应用这一开发模式。如同 C 语言和汇编语言的关系,如果把 JavaScript 语言看成是浏览器的汇编语言,它存在着诸多不便之处,而 GWT 正是解决这些问题的“银弹”。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《GWT揭秘》其他试读目录

• JavaScript 的银弹 [当前]
• 为什么写这本书
• 本书面向的读者
• 如何阅读本书
• 1.1 安装 JDK
• 1.2 安装 Eclipse
• 1.3 安装 GWT 1.7 的 Eclipse 插件
• 1.4 安装 GWT 2.0 的 SDK 以及 Eclipse 插件
• 1.5 辅助工具
• 1.5.1 Internet Explorer Developer Toolbar
• 1.5.2 Firebug
• 1.6 小结
• 2.1 在 Eclipse 中创建项目
• 2.2 运行调试项目
• 2.3 JUnit 测试
• 2.4 发布网站
• 2.5 ANT 发布
• 2.6 小结