原生与混合移动应用

时间:2013-10-04 14:04:26

标签: android ios

我为非编程特定问题道歉,但我希望有这方面经验的人可以帮助解决问题。

我基本上可以在iOS,Android,Blackberry和Blackberry 10上使用移动应用程序。

  • 该应用程序使用本地存储的数据库来存储(有时是大量的)数据。
  • GPS在某些情况下经常出现,包括应用处于非活动状态时的背景GPS。事实上,GPS是我应用中非常重要的一部分。
  • 日历API,用于将应用数据同步到设备的日历。
  • 使用推送通知。
  • 调用Web服务。
上层管理人员正在努力实现混合的一切,长期考虑开发成本。我完全理解他们的观点,对我而言,在维护时集中在我们的服务器上的所有东西(或混合的一些)都会更容易(我会假设)。

话虽如此,如果有的话,我对背景处理和GPS在混合版本中的效果有一些疑问。

本机和混合应用程序的常见优缺点是什么,尤其是在更复杂的应用程序中?我必须写一份报告,并将其提交给我的上级,概述这些要点,我只是想知道是否有人有经验(希望有人在多个平台上使用更多预付款API尝试本机和混合)。

2 个答案:

答案 0 :(得分:2)

即使使用优秀的框架,多平台也永远不会完全无摩擦。在重写两个应用程序时节省的时间用于修复平台和配置问题。即使有些功能可能不受支持或需要重写到应用程序的规格。

可接受的中间地带是Xamarin。这是昂贵的非原生的,但最无摩擦的经验。接下来,您将拥有基于C ++的框架,这些框架是面向图形的,特别适合在Android上进行调试。例如openframework,cocos2d-x和libgdx。在底部有基于Web视图的javascript垃圾,它只是给用户带来了痛苦的功能,而且不应该像Professionalgap和Titanium那样专业地使用。

答案 1 :(得分:0)

我发现跨平台仅对某些商业应用程序有用,仅用于演示目的。它是跨平台的一点,之后你需要为某些功能添加特定的原生插件(我认为日历就是其中之一)。此外,一旦你开始使用一个框架,就可以轻松地移动到下一个版本(就像为PhoneGap发布Cordova更新时)。

我不喜欢它们的另一个原因是应用程序看起来相同。您可以在iOS,Android和所有内容上获得相同的用户体验......大多数用户不喜欢这样。作为Android用户,当我看到左上角的后退按钮时,我几乎立即卸载了应用程序。

另一个原因 - 设备在其网络视图中不支持相同的功能。有些控件的行为与你期望的不一样。

另一个 - 并非所有设备都使用其GPU来呈现Web视图内容。这是什么意思?示例 - 如果您希望应用程序具有按钮或表格的圆角,这将导致应用程序的性能在滚动表格时降至10-15FPS。我在高级设备上看到过它(三星Galaxy S II仍然是市场上最好的)。

结论:您无法在Web视图控件中拥有完全正常运行的应用程序。我根本不推荐跨平台解决方案。