我将开发一个跨平台的应用程序,它将发布在IOS和Android上,并使用网络连接与服务器通信。该应用程序必须快速、可靠和响应灵敏。所以我的问题是:如果我选择使用Adobe Flex来构建这个IOS和Android的应用程序,那么会有性能问题吗?如果没有,那为什么人们要使用xcode或者android sdk?使用Adobe Flex相比xCode和Andoid SDK有哪些劣势呢?
一般而言,如果您使用跨平台的“编写一次,构建多个平台”的工具,则可能会放弃利用某些(或全部)设备或平台特定功能的能力。实际上,您选择了最低公共分母的解决方案。也就是说,您只能使用所有目标平台可用的平台功能。
构建本机应用程序——也就是使用Xcode构建iOS应用程序并使用Android SDK构建Android应用程序——可以让您完全访问所有给定平台的特定功能和能力,从而确保在每个平台上提供最佳用户体验。
这是我的意见:本机应用程序更好,因为它们呈现给用户本机体验——一种对于他们作为该平台用户而言感觉熟悉的体验。当您选择使用跨平台工具时,您实际上正在选择在用户设备上提供不太理想的体验,但是您节省了一些时间(也许),以使您的应用程序上市。谁是赢家?
在我的工作中,我和老板有过一次关于这个问题的具体对话。我们故意使用本机iOS和Android应用程序,因为我们不想放弃平台特定功能。我们希望每个应用程序都能在其平台上提供最佳体验。我们明确同意不采用跨平台的解决方案。
如果您正在使用Air开发跨平台应用程序,您应该注意以下事实:
1)您无法访问本地功能(但是您可以使用Air Native Extensions来解决此问题)
2)性能比本机应用程序慢(但是您可以使用Starling框架在设备中使用GPU功率,从而大大提高性能!)
总之,使用AS3和Flex/Air SDK构建移动应用程序是您可以考虑的最佳解决方案,如果使用Starling,则性能比本机应用程序高得多!
我认为你不能在iOS上使用Adobe Flex。另一个值得研究的跨平台解决方案是HTML5。如果你有能力,最好的解决方案可能是实现两次,一次使用xcode适用于iOS,一次使用Android适用于Android。