我计划使用 HTML、JavaScript 和 CSS 重写现有的 Silverlight 应用程序。这将是一个丰富的 Internet 应用程序,仅连接到服务器以获取数据(基于 JSON 的 Web 服务)——因此不会有服务器端表示框架,例如 JSP 或 ASP.NET。该应用程序由大约 8 个屏幕组成,其中大部分采用选项卡式布局。问题是……
以模块化方式编写此类应用程序的最佳方法是什么?我想将各个屏幕编写为独立模块,仅通过事件相互通信。我还想使用某种 MVC 框架来将表示层与模型分离。
关于我应该查看哪些框架有什么想法吗?你有过良好的使用体验吗?我开始看 Backbone.js , JavaScriptMVC和 SproutCore .我是否遗漏了任何值得考虑的事情?
提前感谢您的宝贵时间。
附言如果您想查看我正在尝试重写的应用程序,可以使用在线演示 here - 它是为学习和比较技术而构建的真实交易应用程序。
最佳答案
我还没有机会尝试 SproutCore,但我听到了一些关于它的好消息,并希望在某个时候对其进行研究。我建议至少尝试一下 Backbone 和 Sproutcore,看看两者中哪一个更适合您的需求和您的编程风格。
我用 Backbone 做了很多工作,你的建议听起来很适合 Backbone。我的 Backbone 应用程序遵循事件驱动架构,我发现它运行良好。它使代码保持干净和分离,并允许我通过绑定(bind)到我的对象引发的事件来轻松添加功能。
那里也有很多很棒的 Backbone 教程和截屏视频。这里有一些应该有望为您提供一些您需要的信息(包括我自己的博客文章):
- http://lostechies.com/derickbailey/category/backbone/
- http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/ (在主干中引入事件驱动的应用程序)
- http://joeybeninghove.com/2011/08/16/backbone-screencast-introduction-views/
- http://peepcode.com/products/backbone-js ($)
- http://tekpub.com/view/mvc3/6 ($ 并且特定于 ASP.NET MVC 集成)
再说一遍,不要只选一个就决不回头。如果没有额外的框架,至少花时间在 backbone 和 sproutcore 中做一些简单的试用应用程序是值得的。
希望对您有所帮助。
关于javascript - 如何编写模块化的 JavaScript 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7257786/