在Javascript中构建多页面应用程序的最佳方法

时间:2012-04-04 08:29:54

标签: javascript structure

作为一个转移到JS / jQuery的Actionscript程序员,我经常需要编写主要针对iOS的多页面应用程序,我想知道构建这些应用程序的最佳方法是什么。

大部分时间我的应用都是演示文稿,每个页面都有不同的行为(例如,第1页上的一些弹出窗口,第2页上的一组滑块,第3页上的一些拖放操作......你得到了图片),而且我经常要跟踪不同页面中的几个变量。

现在我这样处理它:我在一个名为my_app.js的脚本中有一组常用函数,而每个页面都有专用的pageX.js脚本来说明它的具体职责。我通过storage.js库存储持久值,并以某种方式设法将它们粘在一起并使其工作。

但是我认识到这种方法可能有很大的改进空间,所以我想知道经验丰富的开发者如何应对这种情况。

非常感谢,

地精

3 个答案:

答案 0 :(得分:1)

你所做的对于一个小应用来说似乎没问题,但正如另一位回答者所说,我会看一下MVC架构。我衷心推荐backbone.js,它非常轻巧,而且使用简单。

您可以轻松地为您需要的每种类型的视图创建一个控制器(例如,sliderController,dragDropController等),然后如果您需要,将这些控制器子类化('扩展')为特定于平台的(例如iPhoneSliderController,iPadSliderController, desktopSliderController等。)

如果我有关于此应用程序的更多信息 - 比如它背后的数据,用户通过拖动/滑动实现的目标 - 那么我可能能够为您可能需要的模型,视图和控制器提供更具体的布局。但希望这是一个很好的起点,如果你看看backbone.js文档,它应该给你一个好主意,如果它适合你的应用程序。

答案 1 :(得分:0)

你所拥有的结构听起来足够明智(常见的JS文件由特定于页面的JS文件补充)。听起来你的存储空间正确。

在您的情况下我会做的是关注您的代码在架构方面的结构。 Stoyan Stefanov的Javascript模式(O'Reilly)的第6章可能会颇具启发性。

我也可能会探索JS MVC实现,因为你的情况会很适合这种方法(很多观点)。

我意识到这只是分散的想法,但希望它可能会给你一些想法。

答案 2 :(得分:0)

以下是我组织内容的方式

 in /    
 modFOO.php  
 modBAR.php
 in /js/
 main.js
 resourceloader.php //this is a resource loader, so I can load multiple JS in a single request
 in /js/pages
 modFOO.js
 modBAR.js //javascript that for page modBAR
 in /css/
 main.css
 resourceloadercss.php //this a resource loader, so I can load multiple CSS in a single request
 in /css/pages/
 modFOO.css
 modBAR.css

通过这种设置,我确切地知道在哪里找东西,在哪里放东西。基于文件名modepic.css,我确切地知道放置文件的位置,以及(modepic的CSS文件)。