跨移动平台编程
cross mobile platforms programming
我是移动开发人员的新手,我有兴趣开发适用于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。
- 正在查找文档以获得PS4平台的C++中的设备信息
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 模板元编程:如何将参数包组合成新的参数包
- Qt Q串行端口未编程设备未关闭
- 模板元编程 - 尝试实现维度分析
- 我是编程新手
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- C++编程从外部文本文件定义数组大小
- 了解算法的性能差异(如果以不同的编程语言实现)
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 如何将可变参数模板转换为多个单个模板?(C++竞争编程调试模板)
- 使用虚幻引擎4编程的平台游戏中的偏转问题
- 使用动态编程解决的 C++ 平台
- 用于多平台大型软件开发的编程语言
- 如何在不同的目标平台上以编程方式智能注册 32 位 COM/DLL 组件
- 跨移动平台编程
- C++/QT中的线程化多核平台独立编程
- 使用Java原生代码或C++(QT,WxWidgets等)进行独立于平台的编程
- 移动编程入门.什么是一个好平台