跨移动平台编程

cross mobile platforms programming

本文关键字:编程 平台 移动      更新时间:2023-10-16

我是移动开发人员的新手,我有兴趣开发适用于iOS、Android和Windows Phone 7的应用程序。我想写更少的代码。就目前而言,我认为C++可能很适合。

我所知道的是:即使在iOS的一个文件中,也可以将C++与Objective-C一起使用,并且我可以链接我的C++库。

在Android上通过NDK使用C++是可能的。所以我可以用c++编写我的大部分应用程序(除了一些非常特定的依赖于平台的部分),并通过某种公开的Facade调用我的应用程序,对吧?

windows phone 7可以做些什么?我知道它是基于.Net的。在.NET中,可以从c++win32dll调用代码。但是wp7呢?我不想把所有东西都重写成C#。

也许所有这些跨平台游戏都不是个好主意。是否存在一些关键的陷阱?也许最好只为iOS提供Obj-C,只为Android提供Java,只为C#提供silverlight和xna,并单独维护所有这些动物园?

经验丰富的移动开发人员请分享您的经验。

Windows Phone 7还不支持本机代码。看看这个问题了解更多信息:是否可以仅用标准C++为Windows Phone 7编程?

如果你想为这三个平台编写代码并重用你所写的很多东西,你可以用C#编写代码,并使用Xamarin的Mono在iOS和Android上运行你的代码。

注意,在Android上,C++并不完全受支持。更多的是关于纯C.

安卓系统上的C语言编程基本上是为游戏保留的。如果你不想用OpenGL制作你的UI,那就忘了用Java编写吧。无论如何,您都需要一个小型Java包装器。

iOS也是如此——如果你只使用OpenGL,你可以用C编写所有内容,而obj-C只能作为一个小的应用程序包装器。

从中可以看出,这主要是为游戏保留的。有可用的工具(例如。http://www.madewithmarmalade.com/)可以帮助您轻松开发openGL游戏)

平台之间的主要差异源于不同的UI框架。有一些工具可以帮助您克服这些差异,其中大多数是基于HTML5的,它们使用CSS来模拟原生UI。通常你必须牺牲大量的用户体验。

你必须明白,如果你想让你的应用程序在不同的平台上看起来完美,你就必须为每个平台单独和原生地编写UI。即使是UI设计也必须有所不同。iPhone和iPad需要很多很酷的动画,它们必须是完美的肖像&横向模式(包括旋转动画),使用导航栏、工具栏、拆分视图。。。安卓用户期待其他东西——一个不同的(菜单)工具栏,你需要将其移植到许多不同的屏幕分辨率,用户体验也会有所不同。

我建议从原生iOS开始,如果该应用程序有利可图(如果这是你的应用程序的原因),那么就为其他平台开发它。iOS应用程序总是能产生最多的钱。

看看phonegap。它声称是跨平台的,尽管我确信它将功能归结为一个共同点。

在目前现有的平台中,大多数都支持HTML5,javascript包括iOS、Android和WP7或即将推出的WP8也可能支持。

因此,建议使用HTML5和javascript编写应用程序。

通过使用为PhoneGap 等多个平台提供库的框架,可以在各个平台上部署相同的JavaScript HTML5应用程序

MoreverPhoneGap是免费使用的开源移动框架。

此外,您还可以参考以下链接,了解移动开发的前五大HTML5框架。

我在使用Titanium Appcelerator为iOS和Android开发应用程序方面有很好的经验。代码是用JavaScript编写的,并映射到本机调用,因此您可以获得本机外观。

PhoneGap有不同的方法。该应用程序是用HTML、CSS和Javascript编写的。优点是它支持更多不同的平台。包括iOS、Android和Windows Phone 7。

您看过Xamarin的MonoTouch和Android版Mono吗?http://xamarin.com/

他们说,你可以重复使用高达90%的应用程序逻辑,并通过访问所有本地平台API和设备传感器来创建设备用户体验/UI。