跨平台移动开发做了哪些工作? [关闭]
Posted
技术标签:
【中文标题】跨平台移动开发做了哪些工作? [关闭]【英文标题】:What work has been done on cross-platform mobile development? [closed] 【发布时间】:2008-09-09 14:18:23 【问题描述】:是否有针对 iPhone
、Blackberry
和 android
的任何有据可查的或开源项目?还有其他平台更适合这种努力吗?
请注意,我特别询问的是客户端软件,而不是 Web 应用程序,尽管有关跨多个移动平台使用 Web 应用程序的困难的任何信息也很有趣。
【问题讨论】:
【参考方案1】:html5 标准支持发布独立的HTML5 应用程序。本质上,HTML5 应用程序是 HTML5、javascript 和 CSS 文件的捆绑包,它们将在桌面或设备的浏览器。您可以像任何其他程序一样分发它们,包括在 iPhone 的 iStore 上销售它们。
目前对此的支持不完整,但可能会在未来一两年内得到极大改善。
Google for HTML5 应用程序以获取信息和资源。 HTML5 的一个很好的介绍是在线书籍"Dive Into HTML5" by Mark Pilgrim。这是一项正在进行中的工作,但已经足够完善,可以派上用场。
【讨论】:
我认为您不能向 App Store 提交所谓的 HTML5 应用程序。哦,它叫 App Store,而不是 iStore。 这里列出了用于创建 HTML5 应用程序的工具:***.com/questions/5063117/…【参考方案2】:对于这个问题,有 2 个 [新的] 解决方案:
rhomobile
和
phonegap
【讨论】:
希望将 Appcelerator (appcelerator.com) 添加到此列表中。 对于丰富的游戏/应用,想加Corona SDK【参考方案3】:我认为跨平台移动成功的最佳机会是网络。只需为您想要实现的目标编写一个very simple Web 应用程序。它应该可以在诺基亚 S60 浏览器、Iphone 和 Android 上运行。
这已经是很多移动设备了...
【讨论】:
+1。为了获得 App Store 的魅力(和销售),您可以使用 Web 浏览器控件创建一个 shell 本机应用程序来调用您的 Web 应用程序,至少在 Android 和 iPhone 上是这样。 googlegeodevelopers.blogspot.com/2010/02/… 嗯,这在很大程度上取决于你的应用应该做什么。用您的应用程序拍照并进行一些图像识别怎么样?您无法使用针对所有移动设备的 web 应用执行此操作。 您可以使用带有临时权宜之计的相机 API,例如 Phonegap。否则,dev.w3.org/html5/html-device 的实现即将推出。 此外,在手机上渲染网页视图可能比使用原生 SDK 功能慢得多。【参考方案4】:Appcelerator、PhoneGap(被 Adobe 收购,加上现在标准化为 Apache Cordova)、Intel XDK(以前称为 appMobi)和 Rhodes(被摩托罗拉解决方案收购)都是开源并创建混合应用程序(原生包含 html ui、可以添加一些本机控件)。
如果它是一款游戏,那么对于可用于商业开发的免费引擎,您唯一的专业选择就是 Unity3D。对于 2D 游戏,也可以使用 cocos2d-x。此外,Vuforia 可用于 AR 和 LiquidFun 用于物理。
【讨论】:
【参考方案5】:XMLVM(通过Coke and Code)和EdgeLib目前似乎是最成熟的选择。 EdgeLib 主要面向游戏开发者,根据 Coke and Code 的说法,XMLVM 开发者很难联系。
【讨论】:
自 2011 年以来,这些网站都没有任何更新,所以我认为这是 2014 年第四季度的过时答案。【参考方案6】:iPhone 使用 Objective C、具有 RIM 功能的 Blackberry Java SE 和 Android 另一个自定义版本的 Java。我可能会看到如何将后两者结合起来,但没有在 iPhone 上运行 Java 应用程序的功能(无需越狱)。
到目前为止,我看到的最好的选择是 Qt 之类的东西,它将在 Windows CE 上运行,几乎可以肯定很快将在 Symbian、一些 Java 平台和三个主要桌面操作系统上运行。
【讨论】:
鉴于以上 2/3 的设备使用 webkit 进行浏览,Web UI 不是更有希望吗?我也怀疑任何试图为触摸屏和非触摸屏设备(大多数黑莓设备)提供单一用户界面的应用程序。 您可以:编写一个编译器,将 Java 编译为 obj-c 或直接编译为 native(很像 monotouch 为 C# 所做的),或者为每个应用程序提供一个 java vm。不过,就最近的苹果 sdk 许可证而言,这两种方法可能都不允许使用。 @nos:他们只是在上一个版本中恢复了该政策。【参考方案7】:redfivelabs 为 S60 平台实现了 .Net compact 框架
来自 Appcelerator 的Titanium Mobile 看起来很有趣。您使用 HTML 和 Javascript 开发您的应用程序并上传到他们的服务器,然后将其编译成目标平台(当前为 iPhone 和 Android)的本机应用程序
【讨论】:
【参考方案8】:对于 iPhone,目前没有开源这样的概念,因为 Apple iPhone SDK NDA 禁止发布代码。他们还禁止在任何非 Apple 网站甚至非 Apple 讨论论坛上发布有关 iPhone 开发的代码。一旦 NDA 到期(会永远吗?),我们将开始拥有开源 iPhone 应用程序。
【讨论】:
【参考方案9】:这里还没有提到惊讶的 MoSync。
更新(2014 年 1 月至今): 项目 is abandoned。
【讨论】:
【参考方案10】:我开始使用一个非常酷的跨平台 SDK,名为 EdgeLib。它允许您使用简单的 API,您可以将项目编译到各种平台:Windows Mobile Pocket PC、Windows Mobile Smartphone、Symbian Series 60、Series 80、Series 90、Symbian UIQ、Gamepark Holdings GP2X、Gizmondo 和 Windows 桌面. 我知道 iPhone、Blackberry 和 Android 不在该列表中,但开发人员提到这些平台在他们的路线图上。
【讨论】:
gizmondo 的目标不应该是一个问题吗?它从来没有成功过,他们的 CEO 也入狱了。如果不是销售/营销/流行语 bs,为什么这对 EdgeLib 来说是一个引人注目的目标。 Luke...您知道 Gizmondo 的硬件和软件细节吗?它领先于时代。【参考方案11】:EdgeLib 看起来很有希望,并宣布了 iPhone beta,但尚未开放。
【讨论】:
【参考方案12】:jQuery Mobile Alpha 2 ReleasedNimblekitSenchaPhonegapAppcelerator
【讨论】:
【参考方案13】:好吧,黑莓实际上并没有 Java SE,他们有 Java ME,还有 很多 RIM 提供的附加库。安卓也是如此。您将在移动设备上看到的唯一跨平台应用程序可能是用严格的 Java ME 编写的,它可以在大多数设备上运行。然而,就像不同浏览器之间的 JavaScript 一样,Java ME 在不同设备之间也有一些怪癖,因此可能需要更改源代码。
【讨论】:
【参考方案14】:我找到了一个用于 dat 的游戏引擎 MoMinis 游戏可供分发,并在 Android、Blackberry、Symbian 和 J2me 设备上受支持。 MoMinis 游戏包括各种休闲游戏——包括街机、益智、时间管理、策略和大脑训练手机游戏。
mominis
【讨论】:
【参考方案15】:Phonsai 是“无需编码”的跨平台移动开发市场上的新产品 它是自己动手的移动开发和内容管理的混合体 您可以自定义所有应用程序。没有模板。 它是SaaS。完全基于 web,带有 java web start。 使用 2000 款手机型号。 非常简单的 GUI,无需编码。只需复制和粘贴。 它具有创建、发送和报告模块。 最后,它内部有 4 个仿真器,因此它是一个所见即所得的概念。 您可以通过http://phonsai.com 联系Phonsai
【讨论】:
【参考方案16】:我们有一个名为 RAMP 的跨平台移动开发平台。它涵盖了从 midp 1 到 Android 的功能手机和智能手机。该平台主要针对安全的商业应用程序,但它是可插拔的,因此您几乎可以用它做任何事情。
有关更多信息和平台访问权限,请查看:
virtual mobile tech
【讨论】:
【参考方案17】:Symbian OS 上的 S60 有很多有趣的项目正在发生,这些项目与桌面/服务器语言相关,以移动应用程序。一些有趣的:-
Python:sourceforge 红宝石:ruby-symbian Mozilla:mozilla S60Webkit:S60browser POSIX:openc_cpp
【讨论】:
以上是关于跨平台移动开发做了哪些工作? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
移动开发 - 原生 VS 跨平台 VS JavaScript [关闭]