模块化Javascript应用程序的当前最佳实践

时间:2011-11-07 13:40:57

标签: javascript mobile

不打算开始一场火焰战:)

我希望为移动设备构建一个模块化的JavaScript应用程序(绿色字段实现)。因此要求是它需要相对较轻的重量,支持基于运行时决策(如用户偏好)的子模块的延迟加载,并且具有最小的模板和模板。 MVC功能。与后端的通信可能将基于websocket API(如果它改变任何东西)。想想像www.twitter.com这样需要在Mobile Safari中运行的东西。

我对jQuery很有能力,我听说过很多新的javascript框架(backbone.js,require.js,zepto.js等),但还没有机会使用它们。我怀疑我是否有足够的时间与他们一起学习和原型,所以我正在寻找一些社区智慧,以确定当今最好的做法。

感谢。

2 个答案:

答案 0 :(得分:2)

在编写JavaScript应用程序时,良好的应用程序结构是您的朋友。我看了一下Spine和Backbone,但结果使用了JavaScriptMVC。主要原因:

  • 基于jQuery(所以你在网上找到的每个jQuery插件都会很好地集成)
  • 提供组织应用的默认方式(根据插件/ mvc架构
  • 宣传最佳实践(测试等......)
  • EJS作为模板引擎
  • 易于扩展
  • 非常好documented
  • 用于生成代码,压缩代码,JS依赖关系管理的内置生产力工具

也许您可以将它与jQuery mobile结合起来以满足您的需求。

它可能满足您的需求:

  • 模块化:为应用的每个模块创建插件/ MVC模块
  • 延迟加载:窃取(内置依赖关系管理系统)根据访问时间加载您的内容
  • 压缩:通过使用Google Closure编译器压缩production.js文件来最小化带宽。

答案 1 :(得分:2)

模块化javascript涉及两件事

  • 编写模块化代码
  • 加载模块化代码

编写模块化代码很简单。您所要做的就是松散耦合的代码,不依赖于全局状态,并将自身暴露为模块。

加载模块化代码需要使用模块加载器。你提到的require.js很受欢迎。或者您可以尝试更新近的内容,例如seajs

至于其他框架,你真的不需要它们,但是如果你不知道如何做JavaScript架构,那么我很想说你应该使用zepto和spine.js。