基本上我正在尝试创建一个易于在平台(Android,iPhone,平板电脑)之间迁移的故事书应用程序,并具有以下功能: - “读给我” - 听完讲述的故事,并在阅读时突出显示 - “自己读” - 以传统形式阅读本书。 - “自动播放” - 像电影一样播放,自动阅读和翻页。
例如Oceanhouse Media的故事书应用程序“All By Myself - Little Critter”故事书应用程序。
环顾四周,这些是我找到的选项:
混合:jQuery Mobile +(PhoneGap或者可能只是使用WebView)
OpenGL原生 - 对我来说可能太难了,因为我需要学习OpenGL +数学!而且不适合在平台之间迁移
ThirdParty SDK:Corona,Titanium或Unity
答案 0 :(得分:2)
不幸的是,这个问题还没有,实际上可能永远不会得到满意的答案。
从计算机的曙光开始,跨平台一直是一个问题,并将继续成为一个问题。
跨平台的唯一方法是将应用程序剥离到最小功能,因为您要添加的每个新功能都会使其更难(很多)或无法在另一个平台上工作。 / p>
示例Webview: - Android设备上的Javascript性能非常慢,所以不要期待它的好动画。 - 从html页面到原生Android的通信到最后都是错误的。
示例OpenGl: - iphone,android,blackberries不使用opengl的相同子集。我想对于一本书阅读器来说,这不是一个真正的问题,因为它们都具有相同的基本覆盖范围。但是你必须知道并编写每个平台的opengl启动代码,并解决与平台相关的错误。
示例thirdparty sdks:您必须知道,每次在您和本机平台之间添加第三方sdk时,实际上是将sdks的错误添加到本机错误中。当你开始尝试规避所有这些新错误时,通常会看起来很好。
现在回答你的问题:如果你真的想要跨平台路线,你需要记住,你将在此过程中失去一些功能。一旦你了解它,就更容易放手:)
我使用了Html + webview,它的确可以达到我的目的,但远非完美。 如果我不得不再做一次,我可能会尝试像adobe那样的第三方sdk,这将是最受支持的(这是钱的地方)但我听到一些朋友开发者为了实现他们想要的东西而奋斗很多。结果似乎很不错:http://www.youtube.com/watch?v=PBBNHEKIJkM
最后一句话:小心读出大声的功能,这可能是非法的:http://marilynnbyerly.com/texttospeechande.html
祝你好运。答案 1 :(得分:0)
您可以将项目与游戏项目进行比较:
给我看:音乐背景+用户互动+基于脚本事件的显示
自己阅读:用户互动+基于脚本事件的显示
自动播放:基于脚本事件的显示
在这种情况下,您的技术选择变得更容易评估:
混合开发将很难实现,因为事件所需的交互和控制水平会很高(例如暂停叙述,翻页等)
原生的opengl:更好的控制,但需要交叉环境和技术知识,这使得这种选择非常危险且难以实现
Thirdparty sdk:可能是最佳选择,它可以让您专注于用户功能而不是技术方面。 Unity非常清楚。