我想知道使用除 Java 之外的其他任何东西进行移动应用程序开发有什么好处。
11 回答
我确实认为是的,Java 是最常用的设备语言,但有两个例外:
Windows 移动应用程序,通常使用 C++ 构建,但未来将更多地构建在 .NET 框架上。
iPhone 应用程序,使用 Cocoa 和 Objective-C。
Java 是最普遍的,仅此一点,它就是您的最佳选择。
您必须使用您打算支持的电话供应商将提供的任何内容。由于大多数提供 Java,但只有一些提供其他东西,如果您想支持一系列手机,您可能需要至少在其中一些手机上使用 Java。
您的客户(无论是内部客户还是外部客户)将需要决定支持哪些手机,然后您需要根据支持的手机做出决定。
您必须以不同的编程语言发布版本并非完全不可能,这可能会使代码重用更具“挑战性”。这一切都取决于您的要求。这个网站上没有人能告诉你他们是什么:)
这真的取决于你想要做什么。
Java虽然无处不在,但确实存在速度劣势。此外,它不像在桌面空间中那样“编写一次,随处运行”,因为不同的制造商,甚至不同的设备都安装了不同的 java 子集,每个子集都包含不同的 API。
使用本机代码将更有效,但更难移植。它提供了设备功能的更直接表示,而无需虚拟机 API 的沙盒。
或者,您可以使用像 C 这样的语言,它虽然不是严格可移植的,但可以在许多设备上实现,只需稍作调整,同时保留这种语言的许多速度优势。(S60/Symbian 上的 OpenC)、Palm 上的 C 等。
这取决于您对移动领域的未来的看法。如果 iPhone 和 iPod 一样流行,那么不,Java 可能不是最佳选择。
需要考虑的一件事是,在某些时候可能不再有 iPod Nano 这样的东西,也许 Touch 将是唯一可用的 iPod。在这种情况下,每一个 iPod 都将支持 Apple 的 iPhone OS,而 iPhone OS 移动设备的数量将远远超过 Java。
五年后,也许“Cocoa vs. Android”将是新的 Mac vs. PC。在这种情况下,Java 可能和 Cocoa 一样好。
我能想到的唯一原因是您不需要目标设备上的 Java 运行时。
例如,Palm 允许您使用 C 编写代码并直接与 ROM 中的操作系统例程对话。C 代码无需运行时直接编译为机器语言。
在为这样一个微不足道的问题提供推测性答案之前,还需要回答其他变量。想要开发什么样的电话应用程序。例如,您可以将 xhtml 用于不需要连接到手机核心功能的东西。当您需要连接到手机软件或硬件时,您可以使用 java、python、c++、windows mobile 或块 android 上的新手。
如果你想支持多部手机,Java 是最好的,但是 J2ME 是一个有限的环境。如果您正在进行自制开发,那么就为您自己的手机使用的任何东西进行开发,对于商业开发,Java 是最普遍的(并且有些公司可以将 Java 移植到其他平台)。
使用本机代码的优点之一是您更接近硬件,在手机上,这意味着您可能能够利用未暴露给运行 Java 应用程序的虚拟机的功能,承诺与典型的 Java Mobile 实现相比,Android 的一切都更加暴露
最好是去诺基亚、苹果微软或谷歌网站或whaterver,看看有哪些开发者工具和资源可用,然后选择你想为他们开发的工具和资源非常好,因为优秀的移动应用程序开发者可以帮助增加他们的市场份额.
取决于您要编写的应用程序。
如果它是一个简单的服务/数据提供者,我会通过 jqTouch、jQuery Mobile 或http://www.sencha.com/等框架使用 HTML 和 CSS, 因为它们将在大多数智能手机上运行,您可以将它们打包成二进制应用程序使用类似http://www.phonegap.com/ 这将允许使用 HTML5 进行滑动、GPS、本地文件存储
如果您需要数据库、运动感应、蓝牙、游戏类型的应用程序,那么您可以查看 http://monotouch.net/ http://monodroid.net/
这使您可以编写 c# .net 代码并部署到任何平台上,您应该涵盖 windows mobile、android 和 iPhone。
还有http://rhomobile.com/ 允许您使用 Ruby 为所有移动平台编写应用程序。