原文作者:
Dylan Schiemann
你可能已经读过了我们最近的博客 “
AMD: The Definitive Source”。这篇博客详尽地介绍了了AMD(Asynchronous Module Definition)。AMD是一个颇具技术性的话题,但本文将着重为你介绍AMD对于你的业务有何价值。
AMD是一个旨在
高效开发模块化JavaScript库/应用程序的新兴事实标准。将JavaScript应用程序转化到AMD将给你的业务带来诸多优势。如果你在使用Dojo 1.7+,那你已经在使用AMD,享受它带给你的好处了。
1. 高效的开发
2. 更佳的用户体验
3. 技术上的领先
代码可维护性
AMD通过使用诸多最佳实践解决了在JavaScript和HTML5开发项目中出现的大量问题。JavaScript开发的技术门槛很低,这经常导致全局变量有意无意地被到处使用。旧版本的Dojo使用命名空间来解决这个问题,但命名空间并非最佳办法,它带来了性能上的影响并且具有唯一性。使用AMD解决方案,你在开发中将碰到更少的问题。
使用AMD来进行功能侦测,可以方便地为你的应用程序针对移动平台进行优化或是移除对过时的浏览器的支持。此外,对于不同浏览器的支持逻辑通过高效、易维护的方式被保存起来,一旦不再需要这些支持,可以很容易地移除这部分代码。
应用程序性能
AMD和附带的应用程序优化工具可以将你的应用的代码变得更小,直接提高性能。(参见
business benefits of improving performance)代码更小意味着更少的网络带宽开销,更快的页面加载时间以及用户满意度的提高、用户数的增长。AMD的异步本质使得并行加载模块变成可能,进一步提高了应用的性能。
借助于AMD,一个典型的Dojo应用的代码大小可以减少25%-90%,加载速度提高5-10倍的例子也比比皆是。
互用性
Dojo Toolkit的初衷是提供一系列工具和库来帮助开发者更高效地进行Web应用开发。从未想过挑起不同JavaScript Toolkit之间的战争或是强制用户只使用Dojo一个工具包,放弃其它丰富多彩的模块。我们一直笃信用户拥有自由选择最适合自己项目的技术/模块的权利。
AMD可以很好地解决不同工具包之间的冲突。使得混用不同工具包中的模块变得更加简单。比如你可以在一个jQuery应用中使用dgrid模块或是在Dojo的应用中加入些MooTools的功能。但还是建议在一个应用中完全加载多个不同工具包时需要慎重,因为这很可能带来性能上的影响。整个Dojo已经变得更加模块化,你可以从中获得微工具包所带来的好处,同时这些模块又是经过充分测试,符合你的期望的。
AMD已经被许多大型公司、组织所使用,如IBM,BBC和Twitter等。我们期待今年使用AMD的主流网站数能呈指数增长。
总结
许多公司有一个共同的目标:尽可能高效地留住客户,同时保证产品质量。 AMD正是为此而生,我们期待着它的进展。
扩展阅读