PhoneJS相比于普通的backbonejs/HTML5应用有哪些优势?

4

我尝试使用PhoneJS,它很容易上手,提供了一个良好的框架。然而,我通常喜欢避免使用预建框架,因为它们会限制我的灵活性。我的两个主要关注点是:

  1. PhoneJS使用Jquery,而很多人推荐使用Zepto以获得更好的性能
  2. 我能否使用原生的trigger.io / phonegap插件?
  3. 一般来说,应该避免在移动应用程序中使用“大型”框架(出于性能原因)-这就是为什么有些人反对使用Jquery Mobile。 PhoneJS相当大。有没有任何关于PhoneJS性能的经验?
  4. 框架减少了灵活性-PhoneJS有多容易自定义/扩展?

http://www.codefessions.com/2012/08/performance-of-jquery-compatible-mobile.html - net.uk.sweet
有趣...你尝试过使用应用框架吗? - EugeneMi
1个回答

14

1. PhoneJs使用Jquery,但很多人推荐使用Zepto以获得更好的性能。

如果您决定使用Zepto,尽管某些基准测试表明它整体上并不比jQuery表现得更好,但很可能您能够将其替换为jQuery而不会遇到任何大问题。Zepto是一个jQuery克隆版,删除了处理旧浏览器的边缘情况的代码。由于您正在开发移动应用,我认为这不是一个问题。例如,Foundation 4框架允许您在两者之间进行选择。

2. 我能使用原生的Trigger.io/PhoneGap插件吗?

没有理由不能使用PhoneJS来构建你的代码,使用PhoneGap或Trigger.io来构建、打包和部署它。PhoneJS和PhoneGap / Trigger.io是旨在解决完全不同(但互补)问题的框架。事实上,PhoneJS页面特别提到使用PhoneGap打包应用程序。您肯定可以充分利用两个框架(PhoneGap或Trigger.io)中任何一个与PhoneJS一起使用所提供的API和插件。 作为经验法则,应该避免在移动应用程序中使用“大型”框架(出于性能原因),这就是为什么有些人反对Jquery Mobile的原因。PhoneJS相当大。有人有过PhoneJS性能方面的经验吗?
除了对下载时间的影响,如果您使用trigger.io / PhoneGap将代码打包为本地应用程序,则框架大小与性能质量之间不一定存在关联。据我所知,jQuery mobile 的主要问题是它生成的标记数量来呈现其 UI 组件(link)。话虽如此,我最近在使用 PhoneGap 打包的移动应用程序中使用了 jQuery mobile,性能很好。很可能我期望 PhoneJS 也是一样的。
请注意,任何关于框架性能的答案都可能相当主观,来自使用过它的人。如果您担心,最好的建议是下载框架,使用它来原型化您的应用程序功能的代表子集,并在您计划针对的最低规格设备上进行测试。
4. 框架降低了灵活性 - PhoneJS有多容易定制/扩展?
一个好的框架可能会在一定程度上限制您的灵活性,但我认为这是积极的。它将鼓励您对代码进行结构化处理,以使其保持一致、解耦和可维护性。当有人已经为您完成了所有艰苦的工作时,为什么要浪费时间重新发明轮子呢?
使用框架将使您免于做出许多关于文件和代码结构的乏味决策,并释放您的时间,以便您可以集中精力在实际问题领域内(即与您的应用程序独特相关的内容)创造性地解决问题。
PhoneJS由一组UI组件和Knockout MVVM框架组成,因此它大致类似于jQuery mobile和Backbone的组合。如果您不喜欢UI组件,则可以编辑代码以改进它们或选择根本不使用它们。通过查看文档,您可以了解到Knockout的灵活性,但是请参考我的第一点,如果您发现自己正在与它斗争,那么您可能无法充分利用它。
TLDR: 最能评估框架是否适合您的需求,包括性能和灵活性的人是您自己。下载它,查看代码,尝试一些功能原型,然后根据您的经验做出决定。

感谢您提供有关Zepto vs Jquery的意见。但我希望能够找到一些实际使用PhoneJS的人来进行讨论。 - EugeneMi
我不确定你是否需要一个实际使用过它的人(似乎也没有人提供)。请查看我的更新答案。 - net.uk.sweet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接