【问题标题】:Best performing JavaScript MVC framework for mobile development [closed]用于移动开发的最佳性能 JavaScript MVC 框架 [关闭]
【发布时间】:2012-04-02 04:44:51
【问题描述】:

当我说移动开发时,我的意思是既在浏览器中,又在编译到 PhoneGap 中。

我正在尝试比较 JS MVC 框架的性能数字。我已经用谷歌搜索过了,但是当你说 Mobile、JS 和 framework 时,你得到的只是 Sencha、jQuery Mobile、Titanium 等的链接。

我特指 MVC 框架,例如:

Ember
Backbone
Spine
Knockout
JavaScript MVC
Batman
Blossom
etc.

我很想看到包含移动浏览器以及 PhoneGap 中每个指标的性能指标的链接。

【问题讨论】:

  • 出于同样的目的,我一直在研究 sencha touch,它似乎提供了整个 MVC + UI 框架。我正在玩它,但要记住它似乎是一个不错的选择。我还检查了backbone.js,发现有些人对其进行了一些调整以使其与jQuery Mobile一起使用。

标签: javascript model-view-controller


【解决方案1】:

我还没有全部尝试过,但我已经对该主题进行了一些研究,并最终使用了 Backbone JS。到目前为止,我对它的简单性和强大功能感到非常满意。我非常喜欢能够通读源代码(仅缩小了 6kb!)并理解其内容。

我开始使用 a tutorial from Trigger.io(类似 PhoneGap 的原生应用程序包装器的制造商)开发基于 Backbone 的移动优化应用程序。我已经根据自己的目的对其进行了调整,并进行了一些重要的修改,例如使用 CSS 过渡而不是(慢)javascript 动画。

我创建了一个可扩展的 Backbone.View.MobileView 对象,它使构建移动优化应用程序变得快速而轻松。我一直想把它发布到要点上,但它仍然需要相当多的清理。如果你想要一个粗略的版本作为参考,我很乐意分享。

还有一点需要注意 - 我会不惜一切代价避免使用 jQuery Mobile。除了组合 jQuery 和 jQuery Mobile 框架的巨大开销之外,您会发现您的代码和样式每时每刻都会被覆盖。而且我发现在页面之间使用 AJAX 来回传递数据到服务器是一件非常痛苦的事情。

针对移动设备优化的应用程序是 Web 开发的狂野西部,尤其是在与类似 PhoneGap 的服务集成时。请与我们其他人分享您学到的知识!

祝你好运!

【讨论】:

  • "我会不惜一切代价避免使用 jQuery Mobile" 这不会让你不得不自己开发整个移动 UI 吗?对于每个设备的屏幕尺寸?看起来 jQuery Mobile 已经完成了很多工作。
  • 我不同意“不惜一切代价避免使用 jQuery Mobile”的说法。它不是适用于所有情况的解决方案,但它是某些情况的完美解决方案。它为您处理一切:用户界面、路由、渲染等等。
  • PhoneGap 的共同创建者 Brock Whitten 指出,jQuery Mobile 是在 HTML5 中创建移动应用程序时最容易犯的最大错误之一。 sintaxi.com/you-half-assed-it
  • 您好,如果您分享您修改过的 BackBone 版本会有所帮助,谢谢
  • 教程链接好像坏了。
【解决方案2】:

我建议你看看这个教程Using Backbone.js with jQuery Mobile
它解释了如何覆盖 JQM 路由系统以使用 Backbone.js 提供的路由系统来处理它(这要好得多)。
昨天我甚至发现了这个分析10 reasons why I switched to Spine.js,它给出了一些关于 Spine.js 和 Backbone.js 之间差异的观点。
然后,如果您喜欢指标,可以查看不同 JS Template Engines Performance 之间的比较
我理解使用 JQuery Mobile 的恐惧,因为在所有设备上的性能都不是很好,但据我所知,它是唯一一个适用于所有移动平台(不仅仅是 webkit)的一个,也是唯一一个在不受支持的情况下优雅降级的浏览器。
总之,我认为没有一个正确的解决方案,这取决于你想要达到什么目标,你的目标是什么,等等。

【讨论】:

    【解决方案3】:

    AngularJS 也值得一看。它是一个完整的 Javascript 框架,由一些 Google 员工创建,社区不断壮大。合作真的很有趣!

    【讨论】:

      【解决方案4】:

      我觉得spine.js和knockout.js挺好的

      不过两者都有点复杂

      告诉我你用的是哪一个

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-07
        • 2023-03-30
        • 2015-11-24
        • 2012-09-10
        • 1970-01-01
        • 1970-01-01
        • 2017-08-23
        • 2012-03-18
        相关资源
        最近更新 更多