4

我计划使用 HTML、JavaScript 和 CSS 重写现有的 Silverlight 应用程序。这将是一个富 Internet 应用程序,仅连接到服务器以获取数据(基于 JSON 的 Web 服务)——因此不会有诸如 JSP 或 ASP.NET 之类的服务器端表示框架。该应用程序由大约 8 个屏幕组成,其中大部分采用选项卡式布局。问题是...

以模块化方式编写此类应用程序的最佳方法是什么?我想将各个屏幕编写为仅通过事件相互通信的独立模块。我还想使用某种 MVC 框架将表示层与模型分离。

关于我应该看哪些框架的任何想法?您有使用它们的良好体验吗?我开始研究Backbone.jsJavaScriptMVCSproutCore。我错过了任何值得考虑的事情吗?

在此先感谢您的时间。

PS 如果您想查看我正在尝试重写的应用程序,可以在此处获得在线演示- 这是一个为学习和比较技术而构建的真实交易应用程序。

4

3 回答 3

3

我还没有机会尝试 SproutCore,但我听到了一些关于它的好消息,并想在某个时候对其进行研究。我建议至少尝试 Backbone 和 Sproutcore,看看两者中哪一个更适合您的需求和您的编程风格。

我在 Backbone 上做了很多工作,你的建议听起来很容易与 Backbone 配合使用。我的主干应用程序遵循事件驱动架构,我发现它运行良好。它使代码保持干净和分离,并允许我通过绑定到我的对象引发的事件来轻松添加功能。

那里也有很多很棒的主干教程和截屏视频。这里有一些希望能给你一些你需要的信息(包括我自己的博客文章):

再说一次,不要只选择一个,然后再也不回头。如果不是额外的框架,至少在骨干网和 sproutcore 中做一些简单的试用应用程序是值得的。

希望有帮助。

于 2011-09-01T13:45:31.563 回答
2

使用 Sproutcore,您可以创建所谓的框架,从而分离您的应用程序。每个 SC 项目都有一个frameworks目录,您只需为您的自定义框架添加一个目录,并将框架包含在您的构建文件中。

使用 SC 至少将您的模型层分离到它自己的框架中并不是一个坏主意,用于松散耦合和测试目的(SC 很大程度上是 MVC)。根据它们的强大程度,将您的屏幕分成它们自己的框架可能是有意义的。这种方法的好处之一是如果需要,您可以在其他项目中重用您的框架。

SC 还包括一个健壮的状态图机制,因此使用自定义事件是很自然的,并且由于状态图,它相对容易确保仅当应用程序处于正确状态时才处理事件。

于 2011-08-31T14:23:34.257 回答
1

您是否尝试过 Relay 框架?您将各个屏幕编写为独立模块,并使用继电器的事件系统将它们链接在一起。

http://relay.github.com

于 2012-08-24T12:20:59.263 回答