是否有编写在 iPhone、BlackBerry 和 Android 上运行的应用程序的策略或至少是最佳实践?

我对 BB 和 Android 的开发环境一无所知,但我认为它们都支持 Java 应用程序。

我知道 iPhone 需要 ObjectiveC 部分(以及全新的 UI)。

有人这样做过吗?

有帮助吗?

解决方案

您可以查看 http://phonegap.com/

其他提示

一种适用于某些应用程序(如参考应用程序)的技术: 使用HTML / CSS / JavaScript 并编写使用平台的HTML查看器对象的小型客户端来阅读本地嵌入式Web内容。

编写在BlackBerry和Windows Mobile上运行的跨平台应用程序的一种技术是将其全部用HTML编写。我不得不使用在BlackBerry Browser和Pocket Internet Explorer上运行的HTML和CSS子集。我也使用了少量的JavaScript。

我写了非常小的观众,使用jar://(BlackBerry)和res://(Windows Mobile)URL来运行内部存储的HTML和图像。通过使用自定义版本的浏览器字段,我能够将所有HTML和图像文件作为BlackBerry应用程序的一部分嵌入。对于Windows Mobile,我能够在我的Windows Mobile应用程序中使用Pocket Internet Explorer作为嵌入式ActiveX。

注意 - 对于BlackBerry,我必须支持运行OS 4.2的旧设备。为此,我回收了许多RIM代码示例,例如SecondaryResourceFetchThread.java来拉取应用程序中嵌入的图像,并通过实现HttpConnection的自定义连接对象将其传递给我,我设计用于内部处理jar:// URL在我的BlackBerry应用程序中嵌入HTML /图像。弄清楚这有点棘手。对于Windows Mobile,它更直观。

还有其他方法可以满足我的需求,但它完美适用于医疗参考应用程序,我能够为BlackBerry和Windows Mobile设计单独的CSS文件,以便为两个移动设备重新格式化内容略有不同。 (这有点像过去测试Netscape与Internet Explorer的兼容性。)

这可能不适合您的情况,但如果您的应用程序是一个Web风格的“参考”应用程序,并且您知道如何做好HTML,这种方法可能会有效。

我们目前正在调查此事,我们发现:

Titanium

Kony Solutions

这些产品有很好的评价。 Titanium对于社区版是免费的。

另一个选项是 Rhodes ,这是一个Ruby框架。

http://j2mepolish.org 可能是不错的选择,但iphone只是在路线图中。但是已经支持android和BB以及所有其他j2me手机。

如果您正在编写游戏,请查看我的跨平台(iPhone,Android等)解决方案,名为Cuttlefish Engine,位于 http://www.cuttlefishengine.com

编写多平台应用程序时,您需要决定共享多少代码。2 个选项是

  • 一切。您使用(编写)跨平台 GUI 库和系统例程
  • 逻辑是跨平台的,但表示层是特定于平台的

第二种方法往往会提供更好的应用程序,但这是一项更多的工作(假设您不需要编写跨平台库)。

移动世界中棘手的事情是选择一种语言。现在你有

  • 爪哇:Android、黑莓、Java ME 手机
  • 目标C/C:iPhone、Windows 手机
  • JavaScript:掌上预

您可以将 java 交叉编译为 javascript,反之亦然。您还可以将 java 编译为 C 或使用可以从 C 调用的 javascript 引擎。我不认为你可以在 java/javascript 手机上运行 C。这让我建议用 Java/Javascript 编写代码。交叉编译(以及一般的混合语言)的缺点是使调试变得更加困难。

此外,您可以尝试移动社区框架(MCF)。这是一个在iPhone,Android,WinMobile,Symbian和BlackBerry上本机运行的跨平台框架。如果无法直接连接,MCF将在Wi-Fi Ad-Hoc网络中或通过专用代理服务器为您处理网络,位置和接近操作。它有简单的API,可以免费使用。这样,您就可以在每个平台上单独开发应用程序界面和逻辑,并使用MCF以您喜欢的方式连接应用程序的实例。

http://uvamobiltec.com 的更多信息

你总是可以在网上编写一个javascript应用程序,它应该适用于所有三个。当然,这不会安装在手机上。

Android有一个运行Javascript的webview。我相信其他平台也会这样做。如果您在javascript中编写了大部分逻辑,那么您可以跨平台重用该javascript。

另一个框架是 http://www.mosync.com/

它似乎支持所有主要平台。

Adobe Flex 和 Flash Builder 看起来也很有前途。您仍然应该考虑它的专有性,但是随着 视频 在他们的开发者中心网站上似乎值得。顺便说一下,最新版本目前支持Android。对 iOS 的支持预计将于 2011 年 6 月通过更新推出。

如果您想编写跨平台的网络应用,请 SenchaTouch Phonegap 是个不错的选择。

如果您更喜欢原生应用,最好的跨平台解决方案是 Titanium 。使用Titanium,您可以使用Javascript编写应用程序,并将JS编译为本机代码(Objective-C,Java ...)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top