最近,我遇到了针对移动应用开发的Cross Platforms,仅举几例:
我很困惑是否真的值得花时间学习这些。有人可以想到开发可以在所有主要平台上运行的应用程序的无数优势,但如果我们的应用程序需要广泛使用该特定操作系统的API,那该怎么办呢?最重要的是,Android,iOS几乎每年都会发布新版操作系统,因此需要更新跨平台环境,从而开发更新的API !!
考虑一个案例,我们在我们的应用程序中使用Facebook API。现在,如果我们使用跨平台的移动开发环境,那么我们是不是会使用一个api来访问我们的主平台,即Android或iOS,然后使用子级api来使用Facebook?如果我们继续使用这些子级别的用法,那么从技术上讲,这并不会使硬件资源变得饥饿和耗时。此外,使用第三方API的灵活性也可能会降低。
我也对跨平台开发感到兴奋,但只是徘徊是否适合投入时间,因为这些跨平台也处于初期开发BETA阶段。
答案 0 :(得分:5)
要回答您的问题的“标题”,“跨平台移动开发是否值得信赖?”,这取决于您的应用程序的复杂性,但总的来说,我认为答案是'是'。如果您需要为Android,iPhone,Windows Phone 7和BlackBerry创建相同的应用程序,则需要创建相同的应用程序四次!此外,每种语言和API都非常不同,您不太可能找到可以为所有四种语言编程的开发人员。
关于您列出的框架,已经很好地概述了其中三个框架之间的差异:
Comparison between Corona, Phonegap, Titanium
你是对的,大多数是Beta,或者是早期形式。就个人而言,我建议学习HTML5 / JavaScript / CSS,通常这些是用于提供跨平台移动应用程序的语言。如果您对底层技术有很好的理解,可以将技能从一个跨平台的移动开发框架转移到另一个。
最近,我创建了一个开源项目http://propertycross.com,通过展示使用Sencha,Titanium,Xamarin等实现的相同应用程序,帮助选择跨平台移动框架......
答案 1 :(得分:0)
完全取决于您的应用要求。请注意,这些跨平台移动应用程序开发框架不支持所有电话功能。它们主要支持GPS,相机,联系人,存储,加速度计,指南针,短信,电子邮件等功能。
它们不支持NFC,SIM卡信息,硬件访问等复杂功能。
在所有提到的工具中,我将推荐使用PhoneGap工具。