业务角度看AMD

原文作者: Dylan Schiemann

你可能已经读过了我们最近的博客AMD: The Definitive Source”。这篇博客详尽地介绍了了AMD(Asynchronous Module DeFinition)。AMD是一个颇具技术性的话题,但本文将着重为你介绍AMD对于你的业务有何价值。

AMD是一个旨在 高效开发模块化JavaScript库/应用程序的新兴事实标准。将JavaScript应用程序转化到AMD将给你的业务带来诸多优势。如果你在使用Dojo 1.7+,那你已经在使用AMD,享受它带给你的好处了。

在你的Web应用程序中使用AMD将极大地改善代码的可维护性,应用的性能、互用性。这些无疑会为你的业务来带以下优势:
1. 高效的开发
2. 更佳的用户体验
3. 技术上的领先

代码可维护性
AMD通过使用诸多最佳实践解决了在JavaScript和HTML5开发项目中出现的大量问题。JavaScript开发的技术门槛很低,这经常导致全局变量有意无意地被到处使用。旧版本的Dojo使用命名空间来解决这个问题,但命名空间并非最佳办法,它带来了性能上的影响并且具有唯一性。使用AMD解决方案,你在开发中将碰到更少的问题。

在比较大的项目中,不同团队分工开发一个应用程序/库的不同部分是很常见的。使用AMD可以创建出可复用模块,这些模块可以帮助各个项目组/团队节省合并代码的时间的,更方便地共享代码

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在这些技术和业务方面为我们带来了诸多优势。

许多公司有一个共同的目标:尽可能高效地留住客户,同时保证产品质量。 AMD正是为此而生,我们期待着它的进展。

扩展阅读

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...