我正在选择用于构建 GWT 应用程序的 API。以下问题的答案将帮助我在一组库中进行选择。
- 用 GWT 重写的第三方代码是否比使用封装的 JavaScript 库的代码运行得更快?
- 如果底层 JavaScript 框架编写和调整良好,使用包装库的代码是否会具有与纯 GWT 代码相同的性能?
我正在选择用于构建 GWT 应用程序的 API。以下问题的答案将帮助我在一组库中进行选择。
虽然 JavaScript 库获得了很多编程眼球和关注,但 GWT 的优势在于能够对每个浏览器生成的 JavaScript 代码执行一些人类不可读的操作,以提高性能。
理论上,GWT 编译器所做的任何事情,JavaScript 编写者都应该能够做到。但在实践中,JS 库编写者必须维护他们的代码。查看 jQuery 代码。它显然没有针对每个浏览器进行优化。通过一些努力,我可以使用 jQuery 并将其仅用于 Safari ,从而节省大量代码并加快剩余的速度。
这是一场持续的战斗。JavaScript 库相互竞争,速度越来越快。GWT 变得越来越好,并且具有能够为每个浏览器编写难看的、不可维护的 JavaScript 的优势。
对于任何给定的任务,您都必须进行测试以查看军备竞赛当前将我们置于何处,并且可能会因浏览器而异。
在某些情况下,您没有其他选择。迁移到 GWT 时,您无法重写所有内容。
在第一步中,您可以将现有代码包装在一个包装器中,如果它成为性能瓶颈,您仍然可以将代码移动到 Java/GWT
GWT 中的代码优化肯定会比大多数 JS 开发者写的要好。而当浏览器发生变化时,只需修改 GWT 优化器,您的代码就会更好地适应 Js 技术的最新进展。
除非它是开源的(因此您可以修复错误),否则通常在使用它之前查看围绕第 3 方库的社区,并专门寻找有关错误的帖子 - 维护人员对项目的响应速度有多快。发布周期多长等。