我想开发一个移动应用程序,能够访问它运行的移动设备的所有功能(相机,文件,电话和网络连接)。我打算构建一系列应用程序,每个应用程序都有特定的功能要执行,而不是构建具有大量功能集的单个应用程序。我的编程背景是C、C#和web应用程序。
做这件事最好的工具是什么?我已经研究了如何使用NetBeansIDE来创建一个使用LWUIT的Java应用程序--这看起来很有前途,但是有什么需要注意的吗?
我想以尽可能大的移动设备为目标。
发布于 2008-10-16 15:19:20
无论是在消费者市场还是商业市场,J2ME都是一条通向大众的道路。从消费者的角度来看,世界上大多数手机都支持J2ME。从商业角度来看,世界上大多数智能手机都支持J2ME。
诺基亚在全球智能手机市场(以及整个市场)占有40%的份额。紧随其后的是黑莓,市场占有率为13%。这两家公司的设备上都有J2ME的标准实现(尽管黑莓也有一个专有版本的Java )。最重要的是,大多数运行Windows Mobile的设备都带有JVM (我最近开发了一款游戏,最初针对的是索尼爱立信W810i,它在我的HTC Tilt的JVM上运行得很完美)。另外,Android有一个Java SDK,而您真正错过的唯一细分市场是BREW only手机和iPhone。
我不是J2ME的大支持者。我只知道,在过去的三年里,其他所有的移动平台都从我的生活中消失了,因为对于公司来说,只针对行业的J2ME部分是有经济意义的。
发布于 2008-10-21 22:08:10
您正面临着移动开发中常见的主要问题:只使用一种编程语言瞄准尽可能多的手机意味着使用J2ME,这并不能让您完全访问手机的所有功能。
大多数开放手机将支持J2ME,但不同的手机制造商以不同的方式实现它,并且在主板上存在大量的碎片化。不幸的是,大多数开放手机(可以安装第三方应用程序的手机)只允许您在J2ME中进行开发
唯一的好消息是,您只打算编写小型应用程序,这将大大减轻碎片问题。
J2ME在文件系统访问方面也有巨大的限制,完全缺乏电话应用程序接口,与系统应用程序管理的交互性非常差……
为了获得完整的功能,你总是需要使用你瞄准的开放平台的本地技术,无论是安卓,iPhone,塞班操作系统的几个变种,Brew,Windows Mobile或Palm OS手机。其中每一个都有自己的本地技术。
用许多不同的语言多次编写您的应用程序,代价高昂,既要有大量的目标手机,又要访问每个手机的全部功能。
我本人是Symbian/J2ME的老手,鉴于您所陈述的背景和目标,我怀疑您正在尝试学习移动技术。因此,我将厚颜无耻地介绍我的书,这本书是对Symbian开发生态系统的介绍:
http://www.amazon.com/Quick-Recipes-Symbian-Smartphone-Development/dp/0470997834/
祝好运
发布于 2008-10-16 08:00:09
如果您的主要目标是进入消费者市场,Java2Micro Edition (J2ME)可能是您最好的选择。所有流行的手机(诺基亚、索尼爱立信、三星)都安装了Java虚拟机。例如,如果你看看Google,你会发现他们所有的移动应用(比如Gmail和Google Maps)都是用Java开发的。
如果你的目标是企业客户,我认为微软.NET压缩框架是最好的选择。Windows Mobile操作系统在商业市场中占有重要地位,这主要是因为Outlook Mobile及其与Exchange的集成。
https://stackoverflow.com/questions/207690
复制相似问题