繁体   English   中英

如何编写模块化JavaScript应用程序?

[英]How to write a modular JavaScript application?

我打算使用HTML,JavaScript和CSS重写现有的Silverlight应用程序。 这将是一个连接到服务器的富Internet应用程序,仅用于数据(基于JSON的Web服务) - 因此不会有服务器端表示框架,如JSP或ASP.NET。 该应用程序包含大约8个屏幕,其中大多数采用标签式布局。 问题是...

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

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

在此先感谢您的时间。

PS如果你想看到我想重写的应用程序,可以在这里找到一个在线演示 - 它是一个真实的交易应用程序,用于学习和比较技术。

我还没有机会尝试SproutCore,但我听到了很多关于它的事情,并希望在某些时候进行调查。 我建议至少尝试一下Backbone和Sproutcore来看看哪两个更适合你的需求和你的编程风格。

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

那里也有很多关于骨干的很棒的教程和截屏视频。 这里有一些希望能为您提供所需的一些信息(包括我自己的博客文章):

再次,不要只选一个,永远不要回头。 如果不是额外的框架,至少在骨干和sproutcore中做一些简单的试验应用是值得的。

希望有所帮助。

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

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

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

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

http://relay.github.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM