我尝试过使用PhoneJS --很容易就开始了,并且似乎提供了一个很好的框架。然而,我通常倾向于避免预先构建的框架,因为它们限制了我的灵活性。我主要关注的两个问题是:
发布于 2013-09-03 21:49:42
1. PhoneJs使用Jquery,而许多人则使用Zepto来获得更好的性能。
如果您开始使用Zepto,尽管certain benchmarks表示它的总体性能并不比jQuery好,但是很可能您可以在没有任何很大困难的情况下为jQuery提供服务。Zepto是一个jQuery克隆,其代码处理删除的旧浏览器的边缘情况。既然你是为手机开发的,我想这不会是个问题。作为一个例子,Foundation 4 framework允许您在两者之间进行选择。
2.我可以使用本机触发器.I/phonegap插件吗?
您没有理由不能使用PhoneJS来构造您的代码,使用PhoneGap或Trigger.io来构建、打包和部署它。PhoneJS和PhoneGap / Trigger.io是旨在解决完全不同(但又是互补)问题的框架。实际上,PhoneJS page特别提到了使用PhoneGap打包应用程序。您当然能够充分利用您决定与PhoneGap一起使用的两个API和插件中的哪个(Trigger.io或PhoneJS )。
3.根据经验,人们应该避免为移动应用程序使用“大型”框架(出于性能原因)--这就是为什么有些人反对Jquery。PhoneJS相当大。有人对PhoneJS的性能有任何经验吗?
除了对下载时间的影响(如果使用trigger.io / PhoneGap将代码打包为本机应用程序)之外,框架的大小与性能质量之间不一定存在相关性。据我所知,jQuery手机的主要问题是它为呈现UI组件(link)生成的标记量。尽管如此,我最近在一个使用PhoneGap打包的移动应用程序上使用了PhoneGap手机,性能很好。在所有的可能性,我期望PhoneJS将是相同的。
请注意,您从使用过框架的人那里得到的关于框架性能的任何答案都可能是相当主观的。如果你担心,最好的建议是下载这个框架,用它来原型你的应用程序功能的一个有代表性的子集,并在你计划瞄准的最低规格的设备上测试它。
4.框架降低了灵活性-- PhoneJS自定义/扩展有多容易?
一个好的框架可能在一定程度上限制了你的灵活性,但我认为,这是积极的。它将鼓励您构造代码,使其具有一致性、去耦合性和可维护性。当有人已经为你做了所有的艰苦工作时,为什么要浪费你的时间重新发明方向盘?
使用框架将使您不必对文件和代码结构做出许多无聊的决定,并且可以腾出时间,以便您能够集中精力在实际问题领域(即,在实际问题域中)的解决方案中保持创造性和灵活性。对于你的应用程序来说是独一无二的)。
PhoneJS由一组UI组件和Knockout MVVM framework组成,因此它大致类似于jQuery移动和主干的组合。如果您不喜欢UI组件,您可以编辑代码来改进它们,或者根本不使用它们。通过查看文档,您将了解Knockout的灵活性,但参考我的第一点,如果您发现自己正在与它斗争,那么您可能无法充分利用它。
TLDR:在性能和灵活性方面,评估框架是否适合您的需求的最佳人选是您。下载它,看一看代码,玩它,自己原型一些功能,然后根据您的经验作出决定。
https://stackoverflow.com/questions/18499630
复制相似问题