单页应用程序开发的库/框架(截至2013年)

时间:2013-06-19 21:12:11

标签: javascript jquery-mobile single-page-application

在我的公司,我们基于 jQuery Mobile 构建了一些内部移动网络应用程序。现在我们正在转向更严肃的东西,而JQM已被排除,因为它太慢了。 (我们尽最大努力配置它,但最终它都是徒劳的。即使在四核移动设备中也需要1秒才能处理按钮点击。)

但是我喜欢使用ajax加载伪页面的方式。由于我们有许多开发人员熟悉JQM的单页方法,我现在正在寻找以类似方式工作的替换。我想知道截至目前(2013年)是否存在满足以下大部分要求的库或框架:

  • 它将每个“页面”的html交换进主要的页面。
  • 它提供至少一个与生命周期相关的事件(例如:onPageLoad,onPageShown,onPageHidden等)
  • 每个“pseudopage”的单个html文件。
  • 完全基于Javascript。


奖励积分。如果出现这样的话会很好:

  • 它提供了一种将参数传递给“页面”控制器或初始化回调的标准方法,或者一些内置机制来帮助初始化或重新创建状态。 (我不希望每个开发者以不同的方式这样做。)
  • 它处理了后退导航,也许允许参数返回上一个“页面”。
  • 允许选择是在每次显示时重新创建“页面”,还是在最后一个状态下显示它。


但我真的不需要:

  • 强制性的复杂MV *东西。我们将使用ORM并且会有DAOs但我们不希望被强制编写适配器以遵守框架对模型的概念。
  • 模型更改时对视图的更新。
  • 模板(视图应为HTML5,不需要预处理工具。)
  • 内置小部件(设计人员已经足够jQuery Mobile并且他们将使用不同的东西,可能是Bootstrap)。

(但我不介意它是否有任何这些,只要它们是可选的)

我认为自己做这件事并不是很困难,但我想在重新发明轮子之前听听你的建议。 PagesJS目前看来是个不错的候选人。

1 个答案:

答案 0 :(得分:0)

我终于制作了自己的jQuery插件。它管理页面交换和文件的ajax加载,在显示每个页面之前和之后触发自定义事件。收到的评论不超过150行。不过,我保留了参数传递的东西。