0

对于非编程特定的问题,我深表歉意,但我希望有这方面经验的人可以帮助阐明一些问题。

我基本上有一个可在 iOS、Android、Blackberry 和 Blackberry 10 上使用的移动应用程序。

  • 该应用程序使用本地存储的数据库来存储(有时是大量的)数据。
  • 在某些情况下,GPS 频繁,包括应用程序处于非活动状态时的后台 GPS。事实上,GPS 是我的应用程序中极其重要的一部分。
  • 用于将应用数据同步到设备日历的日历 API。
  • 使用推送通知。
  • 调用 Web 服务。

高层管理人员正在玩弄混合一切的想法,并长期考虑开发成本。我完全理解他们的观点,对我来说,在维护方面将所有东西(或混合的情况下的一部分)集中在我们的服务器上会更容易(我会假设)。

话虽如此,我还是怀疑后台处理和 GPS 在混合版本中的工作情况,如果有的话。

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

请根据事实、参考资料和/或特定专业知识提供答案。

4

2 回答 2

2

多平台从来都不是完全没有摩擦的,即使使用好的框架也是如此。重写两个应用程序节省的时间用于修复平台和配置问题。甚至有些功能可能不受支持或需要重写为应用程序的规范。

可以接受的中间立场是 Xamarin。这是昂贵的和非本地的,但最无摩擦的体验。之后你就有了基于 C++ 的框架,这些框架是面向图形的,特别是在 Android 上调试起来很痛苦。例如 openframework、cocos2d-x 和 libgdx。在底部有基于 webviews 的 javascript 废话,它只是给用户带来痛苦的体验,剥夺了功能,不应该像 Phonegap 和 Titanium 那样专业使用。

于 2013-10-04T14:32:34.260 回答
0

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

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

另一个原因 - 这些设备在其 web 视图中不支持相同的功能。某些控件的行为与您期望的不同。

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

结论:您不能在 Web 视图控件中拥有功能齐全的应用程序。我根本不推荐跨平台解决方案。

于 2013-10-04T14:48:49.123 回答