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