PhoneJS相对于常规的backbonejs / HTML5应用程序有什么优势?

时间:2013-08-28 22:55:34

标签: html5 cordova trigger.io zepto phonejs

我尝试使用PhoneJS - 它很容易上手,似乎提供了一个很好的框架。但是,我通常更喜欢避免使用预先构建的框架,因为它们会灵活地限制我。我主要关注的是:

  1. PhoneJs使用Jquery,而很多人建议使用Zepto以获得更好的性能
  2. 我可以使用原生的trigger.io/phonegap插件吗?
  3. 根据经验,应该避免为移动应用程序使用“大型”框架(出于性能原因) - 这就是有些人反对Jquery Mobile的原因。 PhoneJS相当大。有没有人对PhoneJS表现有任何经验?
  4. 框架降低灵活性 - PhoneJS如何轻松定制/扩展?

1 个答案:

答案 0 :(得分:14)

1。 PhoneJs使用Jquery,而很多人建议使用Zepto以获得更好的性能

如果您已经开始使用Zepto,尽管certain benchmarks表明它的表现并不比jQuery整体好,但很可能你将能够在没有任何内容的情况下将其转换为jQuery。很难。 Zepto是一个jQuery克隆,其代码可以处理删除旧浏览器的边缘情况。由于你正在开发移动设备,我怀疑这不会是一个问题。作为示例,Foundation 4 framework允许您在两者之间进行选择。

2。我可以使用原生的trigger.io/phonegap插件吗?

没有理由不使用PhoneJS来构建代码,而使用PhoneGap OR Trigger.io来构建,打包和部署它。 PhoneJS和PhoneGap / Trigger.io是旨在解决完全不同(但互补)问题的框架。事实上,PhoneJS page特别提到使用PhoneGap的打包应用程序。您当然可以充分利用您决定与PhoneJS一起使用的两者(PhoneGap或Trigger.io)中提供的API和插件。

3。根据经验,应该避免为移动应用程序使用“大型”框架(出于性能原因) - 这就是为什么有些人反对Jquery Mobile。 PhoneJS相当大。有没有人对PhoneJS表现有任何经验?

除了对下载时间的影响,如果您使用trigger.io / PhoneGap将代码打包为本机应用程序,这不会成为问题,框架的大小之间不一定存在关联和表现的质量。据我所知,jQuery mobile的主要问题是它为呈现UI组件而生成的标记量(link)。也就是说,我最近在使用PhoneGap打包的移动应用程序上使用了jQuery mobile,性能还不错。我很可能期望PhoneJS会是一样的。

请注意,从使用它的人那里得到的关于框架性能的任何答案都可能是相当主观的。如果您担心,最好的建议是下载框架,使用它来构建应用程序功能的代表性子集,并在您计划定位的最低设备上测试它。

4。框架降低了灵活性 - PhoneJS如何轻松定制/扩展?

一个好的框架可能会在一定程度上限制你的灵活性,但我认为,这是一种积极的方式。它将鼓励您构建代码,使其保持一致,解耦和可维护。当有人已经为你做了所有艰苦的工作时,为什么要浪费你的时间重新发明轮子?

使用框架可以避免您对文件和代码结构做出很多无聊的决定,并节省您的时间,以便您可以专注于在实际问题域内的解决方案中具有创造性和灵活性(即你的应用程序独有的东西。)

PhoneJS由一组UI组件和Knockout MVVM framework组成,因此它大致类似于jQuery mobile和Backbone的组合。如果您不喜欢UI组件,则可以编辑代码以改进它们或选择不使用它们。通过查看文档,你会了解Knockout的灵活性,但是参考我的第一点,如果你发现自己正在与它作斗争,你可能没有充分利用它。


TLDR :在性能和灵活性方面,最适合评估框架是否适合您的要求的人是您。下载它,看看代码,玩它,自己原型化一些功能,然后根据你的经验做出决定。