我正准备开发一个儿童读物应用程序。它将涉及许多插图和一些动画菜单,但就动画而言,没有什么比电子游戏更疯狂的了。我试图确定是否使用Phonegap和DOM或CocoonJs和Canvas。
我一直在阅读Phonegap会减慢一个在普通移动浏览器中运行良好的DOM应用程序,而CocoonJs会加快一个用Canvas构建的应用程序的速度。但后来我也读到CocoonJs现在有了一些新的东西,将在一定程度上支持DOM元素。
我的DOM测试应用程序在移动浏览器上运行良好,但由于苹果该死的开发者费用,我无法在iPad或iPhone的Phonegap上测试它。
有没有人有过类似这类项目的经验?我正在考虑用Canvas来做,只是为了学习经验。但如果有人有任何强烈的建议,你能让我知道你的想法吗?
谢谢大家!
还可以考虑Famo。它比CocoonJS更受欢迎,也有更强大的展示空间。以下是我的见解:
<标题> PhoneGap h1> 得住的,自由/开源软件。有很多资源。大量的插件,虽然是不同的和随意维护。例如,IAP和广告(很可能是插件)并不是核心内容,而是单独维护的。不关注性能,只关注x平台兼容性。- Pro: Popular, tried
- 职业:自由/开源软件
- 缺点:没有性能焦点
- 缺点:插件user-land质量不稳定
- Pro:理论上更好的性能
- Pro:统一的插件体验(广告,facebook, IAP) -最大的优势IMO
- 反对:价格
- 职业:性能
- 职业:自由?
- Pro:强大的展示(Yelp, AirBnB) 缺点:不是普通的web开发(不像CocoonJS,它允许你按原样放入PhoneGap应用程序)
我个人建议(针对你的情况)探索Cocoon的Webview+设置。
标题>标题>标题>CocoonJS是很好的,如果你想在移动设备上有一个好的性能,你也可以使用CocoonJS中的WebView,通过调用一个特定的函数,像这样:
<html>
<body>
<script src="CocoonJSExtensions/CocoonJS.js"></script>
<script src="CocoonJSExtensions/CocoonJS_App.js"></script>
<script src="CocoonJSExtensions/CocoonJS_App_ForCocoonJS.js"></script>
<script>
CocoonJS.App.onLoadInTheWebViewSucceed.addEventListener(function(pageURL) {
// Show the webview. By default, the webview is hidden.
CocoonJS.App.showTheWebView();
});
CocoonJS.App.onLoadInTheWebViewFailed.addEventListener(function(pageURL) {
console.error("Could not load the HTML file in the webview");
});
CocoonJS.App.loadInTheWebView("webview_index.html");
</script>
</body>
如果你在canvas中这样做,你可以稍后决定是使用PhoneGap还是CocoonJS。
我个人认为你的项目不需要使用CocoonJS,尽管这样做没有什么坏处。
CocoonJS的优势包括接近原生的性能。缺点是他们还没有公布他们的定价模型——我相信它目前是免费的,但你有一个强制性的CocoonJS启动画面。
dom vs canvas:取决于你的项目。我个人更喜欢画布,因为在移动大量对象时,它通常更快。但话说回来,你的项目听起来很静态;在这种情况下,您可能需要考虑使用dom(也有相当多的dom页面翻转教程)。
这是我为我的孩子做的一个canvas/PhoneGap项目,作为参考。
附带说明:你应该能够通过Xcode的模拟器用PhoneGap测试你的应用。
如果您选择画布路线,您可能还希望考虑(开源)ejecta:
http://impactjs.com/ejecta