xbo*_*nez 12 android extjs windows-phone-7 ios cordova
我需要在一些主要的移动操作系统上为公司开发应用程序,特别是iOS,Android和WP7.
我最初计划为三种不同的操作系统编写三个独立的应用程序 - 每个操作系统使用本机SDK.
但是,这样做有什么好处吗?有许多可用的跨平台工具 - Sencha,Phonegap,Rhodes等.他们创建的应用程序在设备上的"原生"程度如何?他们有什么样的硬件集成(相机,GPS,本地存储等)?
我没有时间限制,如果有任何优势,那么开发三个本机应用程序绝对没有问题.
编辑:如果重要,应用程序将同时具有在线和离线功能.
kab*_*uko 18
免责声明:我一直在跟踪您提到的跨平台工具,但从未使用它们构建任何东西.如果你仔细阅读这篇文章,你可能会猜到我目前主要是Android开发人员.
答案是:这取决于.本机应用程序当然有优势,但问题是您是否关心(或足够关注)这些优势会产生开发多平台的开销.由于您没有详细说明您计划构建的应用程序类型,因此我将简要介绍我所知道的内容.
我将假设你在谈论基于HTML的跨平台解决方案(如PhoneGap,Sencha和Rhodes),而不是像Corona SDK或Moai这样的跨平台游戏平台,也不是通过MonoTouch总是有趣的Mono 和Mono for Android.我也排除了不支持Windows Phone的Titanium.
我在本机和那些HTML跨平台解决方案之间看到的一些差距如下:
每个平台的用户都会对事物的运作方式产生一定的期望.iOS中的应用程序通常具有某些UI范例(左侧的后退按钮,圆形表/列表UI等等),Android中的应用程序可能有另一个(ActionBar例如类似但不完全)与iOS栏相同,或上下文菜单的长按项),Windows Phone用户还有另一个(图块和全景视图).如果生成相同的HTML UI,则可能无法利用它.那些熟悉的UI模式使应用程序对于通常不花时间学习多个平台的用户来说更加直观和舒适.
本机的另一个优点是性能,尤其是与UI相关的性能,即原始图形渲染功能或仅计算.如果你有简单的用户界面这可能无关紧要,但如果你有复杂的动画用户界面,那么有些事情可能最终不会那么顺利.在Android中,尤其如此,您拥有大量设备,包括一些相当低功耗的设备.
使用HTML跨平台工具的另一个缺点是不同的手机处理HTML/CSS/JavaScript的方式不同.这很有趣,因为这是一把双刃剑.一方面,HTML本质上是跨平台的,另一方面,你仍然有唠叨设备相关的问题.在Android中再次出现这种情况尤其如此,因为你有很多不同的设备,制造商喜欢WebView因为某些原因而修改s 的实现.你最终会遇到一些小错误,某些设备会做出奇怪的事情.如果你完全是原生的,那么你往往会有更好的兼容性(当然是以投入更多工作为代价).对旧版Android的支持也往往缺乏.
调试JavaScript并不是移动平台上最精彩的体验.您最终会在控制台上进行大量日志记录.这是可行的,但肯定不如逐行进入你的代码那么好.在这方面似乎有一些进展(例如,请参阅这个名为weinre的工具),但我还没有评论它有多好,因为我还没有深入挖掘它.
这种调试不仅更难,而且注意到错误也更难.除非您手动捕获并记录它们,否则JavaScript代码中的错误不会在您的日志中结束.你最终可能会默默地失败.
一般来说,你提到的大玩家都有相当不错的硬件支持.您提到的相机,GPS和本地存储等功能在应用程序开发人员非常重要的功能列表中非常重要,因此它们包含了这些功能.有关功能的完整列表,您可能希望访问每个功能的网站(例如,这里是平台的PhoneGap高级功能支持图表),但通常您认为的大型"手机功能"就在那里.即便如此,有一些更复杂的事情,据我所知,这些框架不做或不做,特别是与手机功能和更多平台相关的事情.线程就是一个例子.
| 归档时间: |
|
| 查看次数: |
1156 次 |
| 最近记录: |