2011-11-07 74 views
2

不找当前的最佳实践模块化的JavaScript应用程序

我希望建立一个模块化的用于移动设备的JavaScript应用程序(绿色领域实现)开始flamewar :)。所以要求它需要相对较轻的权重,支持基于运行时决策延迟加载子模块(如用户偏好),并具有最小的MVC功能模板。与后端的通信可能将基于websocket API(如果它改变了任何内容)。想想像需要在Mobile Safari内部运行的www.twitter.com。

我能胜任jQuery,并且我听说很多新的javascript框架(backbone.js,require.js,zepto.js等),但没有机会使用它们。我怀疑我有足够的时间来学习和创建原型,所以我正在寻找一些社区智慧,认为现在被认为是最佳实践。

谢谢。

+0

基于意见的问题。 –

回答

2

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

  • 基于jQuery(这样你在网络上找到每一个jQuery插件只会整合很好)
  • 提供(根据插件/ MVC架构
  • 组织你的应用程序的默认方式促进最佳实践(测试等)
  • EJS作为模板引擎
  • 容易扩展
  • 非常好documented
  • 内置生产力工具来生成代码,压缩代码,JS依赖关系管理

也许你可以结合它与jQuery手机来满足你的需求。

它可能适合你的需要,因为:

  • 模块化:偷(内置的依赖关系管理系统)负载:你的应用程序
  • 延迟加载的每个模块创建插件/ MVC模块你的东西取决于他们被访问的时间
  • 压缩:通过使用Google Closure编译器压缩production.js文件来最小化带宽。
+0

JavaScriptMVC是一个巨大的臃肿框架。由于手机的限制,我怀疑你有能力使用它。 – Raynos

+0

@Raynos这是一个快速入门的好框架(如果我正确理解问题,这是一个要求)。脊柱需要额外的设置,如包括require.js等...此外,您不需要包括整个JavaScriptMVC的东西,但只是你需要的东西。但是,当然,从来没有尝试过移动设备。 – Juri

+0

他们的jQuery文件夹本身就是2MB的源代码:\它是一个庞大的框架,你不能将它加载到移动设备上,你需要一些轻巧灵活的东西。 – Raynos

2

模块化的JavaScript涉及两件事情

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

写模块化的代码更容易。你所要做的只是松散耦合的代码,它不依赖于全局状态并将自己公开为模块。

加载模块代码需要使用模块加载程序。你提到的require.js是流行的。或者你可以尝试一些更近似的东西,如seajs。至于其他框架,你并不真的需要它们,但如果你不知道如何做JavaScript架构,那么我会试着说你应该使用zepto和spine.js。

相关问题