`

手机开发之C# VS J2ME

阅读更多
J2ME美好的write once,run anywhere的初衷,被各大手机厂商摧残的体无完肤,变成write once,debug everywhere(或者write once, port everywhere)。
在经历了2,3年头脑火热期后,J2ME developers终于意识到一个统一的J2ME JVM implementation的重要性。貌似IBM开始了一个J2ME标准制订的委员会,Sun也开始开源J2ME,希望不久的将来J2ME可以更加规范些。但各大手机厂商的态度很重要。看过太多的厂商口口声声说支持xxJSR标准,开放xx底层API,手机拿到手一看傻眼,JSR标准只支持一半,基本上无用。底层API只开放给自己的软件用,其它人开放的程序,对不起,没有permission。很多优秀的JSR,如PIM,MMS,等等,基本于我们无缘。模拟器里玩得很高潮,实际手机上一试,基本嗝屁!

SavaJe给了J2ME一线希望。SavaJe是直接的Java OS,而不是寄存于手机kernel OS上的一层JVM layer。在今年的JavaOne上大出风头。native执行J2ME程序的速度很快,也很酷。可惜没有得到大手机厂商的支持,月前据说烧了1个多亿的钱,目前运转有困难,融资又融不到,前景叵测。可惜。

Windows C#Compact Framework倒不同。只是因为MS垄断,但看起来至少在mobile方面,这个垄断挺好。
Windows Mobile (以下简称WM)在企业级的应用上,和MS的几个龙头产品的整合非常好。特别是outlook的整合,很受商业人士的青睐。他们最关切的不是技术上的优势和技术的领先程度,他们关心的是技术是否很好的为他们的商业发展服务。他们才不管MS的垄断与否。事实上,他们更希望一个统一的开发平台,所有的程序和数据可以很方便的整合。(虽然我是anti-MS,但他们商业应用上的优势不可否认)。WM上的POOM(Pocket Outlook Object Model)很好的结合了Outlook中基本(但很重要的)功能。另外一个摄像头的API,可以很方便的拍照片,视频聊天,拍video等等,开发者不需要写low level的摄像头驱动程序(J2ME这点做得很不够),直接调用摄像头API的功能,可以更专注于商业逻辑的开发。

零零碎碎说了一大堆,基本上目前J2ME处于低潮期,除非标准统一步伐加快,不然手机阵地这块会很快失守了。。。
分享到:
评论
11 楼 lordhong 2006-11-29  
J2ME自己玩玩还是很不错的,针对某款平台/手机开发的话,还是有很多乐趣的.  MOTO,SE的UIQ,S40,S60,这几个都还不错.  现在S40还是占据大概40%多的市场,嘿嘿.

GMAIL的J2ME CLIENT真不错,建议大家都去试试看!
10 楼 moniker 2006-11-28  
fishermen 写道
要工作了,手机互联网内容提供,说是作服务器软件开发,应该可以解除些手机游戏开发,本来想好好来准备下j2me,以后还可以去做着玩玩,看到上面有点心灰了、、

兄弟,别介啊。J2ME目前在游戏领域还是很牛的。再说了,什么好用学什么,大活人还能给尿憋死了?照你这么想,以前学COBOL的都得撞墙了。
9 楼 fishermen 2006-11-28  
要工作了,手机互联网内容提供,说是作服务器软件开发,应该可以解除些手机游戏开发,本来想好好来准备下j2me,以后还可以去做着玩玩,看到上面有点心灰了、、
8 楼 moniker 2006-11-28  
J2ME的现状:消费市场:非常强势,但内容太过单一。企业市场=0,且口碑非常差,不能不说说ORACLE,在自己的ORACLE ERP里集成了一个J2ME CLIENT,非但没起到任何好的作用,反倒成为业界的笑话——俺在印钞厂的一个客户有个笑话说,ORACLE ERP那个CLIENT,输入一个数据后,可以回去泡好茶再来看,还不一定完成了。ORACLE实在没有起到什么好作用。
7 楼 deepshadow 2006-11-28  
javame真的是write once,port anywhere.
归根到底就是sun把规范订的太是宽了,各个厂商实现起来是各不相同,给开发人员,包括手机应用的开发厂商带来了很多的问题.
楼主说得SavaJe倒真是一个不错的选择,如果能有厂商支持的话.但是有谁会放着自己辛苦开发的平台不用,而用一个新的OS呢?或许从小的厂商开始突破,是SavaJe的一个明智选择.
6 楼 lordhong 2006-11-28  
J2ME的implementation在各大手机厂商中fragmentation太大太大了,
引用

即使有一天手机替代了PDA我们也要看到JAVA在企业应用领域的成功,这一点在3G的前提下要想无缝的将企业应用于移动设备整合到一起J2ME还是着不可限量的优势的

这点我不同意。8) 除非你的"企业应用"是面对最广泛的用户群,也就是说consumer-oriented的话,那么J2ME是比较可靠的选择。但如果真正是企业应用,enterprise-grade,那么选择的就是单一的产品平台,因为容易开发和维护。500强的很多case study都是先确定一个平台,统一一款或者几款移动设备来部署,力求做到最佳的用户体验和最简单最稳定的系统整合。用J2ME只能是lowest common denominator,什么设备都可以用,这个用是最基本的勉强应用。
5 楼 whycloud 2006-11-28  
忘记说一点了
目前手机市场一片低迷,这和服务厂商有一定的关系,到目前有很多限制的条条框框,可以看到的应用绝大多数是游戏。还有目前移动百宝箱暂时停止对新游戏的发布,这些都给移动市场带来太大的影响
4 楼 whycloud 2006-11-28  
不具有可比性
这个问题在J2MEDEV上已经讨论很多次了
首先说C#开发移动设备的前提,目前看来是WM系统,而目前手机厂商的系统众多市场非常不明朗。而J2ME对于开发人员是比较保险的。之所以这样说的原因恨简单。各个系统可以不同,但目前恐怕没有哪各系统不在支持MIDP标准,WM下虽然支持的不好,但也算有对应的虚拟机,就连已经陨落的PALM系统也有MIDP2的虚拟机。另外对于各个手机厂商来说自己已经投入研发了系统,又为什么要在花钱安装MS的系统呢?而这部分费用无疑会被转移到最终客户身上。
目前的手机操作系统来看还是SYMBIAN占上峰。不论是其市场占有率,还是对开发者的资料公开率来说。个人认为LINUX在手机市场算是失败的恨彻底,对外公开的资料少的可怜,作为开发人员恨难为其开发软件。
有人说C#会靠着PDA市场挤进手机市场,目前看来依然不明朗,其实不只是MOTO一家有WM系统的手机,NOKIA也有,但两家目前采取的都是观望态度,并不在市场上主打。因为目前很多人的观念还手机就是电话。并非手机就是掌上电脑的替代品。
另外还要一点是潜在的,即使有一天手机替代了PDA我们也要看到JAVA在企业应用领域的成功,这一点在3G的前提下要想无缝的将企业应用于移动设备整合到一起J2ME还是着不可限量的优势的
3 楼 moniker 2006-11-27  
手机开发上,J2ME还没有成为真正重量级的竞争对手。原因是手机界的老大NOKIA在力推SYMBIAN,虽然SYMOS和其它各厂家自主的OS大多多多少少支持J2ME/KJAVA,但如楼主所言,标准是一个大问题。说白了,没有一个手机厂是真心实意想支持J2ME的。NOKIA不去说(SYMOS用C++开发),MOTO一直是三心两意,什么都想搞,SAMSUNG呢一是没能力,二是SAMSUNG有一半的应用是高通控制的,而高通一直想让BREW一统天下(因为3G是高通的天下嘛,BREW一统天下不算是做白日梦)。其实SUN如果想强推J2ME,MOTO应该是一个比较好的争取对象。但最近的态势看起来不象,MOTO收购了企业移动计算大厂SYMBOL,貌似要倒向MS的怀抱。

C#目前在手机上是一个潜在的竞争对手,因为一线厂商,只有MOTO有PPC平台和SMARTPHONE平台,其它都是象多普达之类的二线厂。但MS现在在PDA应用上具有无可压制的优势,因为PC平台上的程序移植到WINCE/PPC/SMARTPHONE PDA上,简直没有任何门槛。消费类应用上有HP IPAQ,企业应用上有SYMBOL、INTERMEC,原来的竞争对手PALM已经彻底完蛋了。在PDA应用上,J2ME的地位还不及在手机上……,尤其在企业应用中。ORACLE ERP里带的J2ME CLIENT已经成了笑话了。

C#的可怕在于,事实上PDA领域与手机领域是互相重合的,长远看来,必定会发生融合。IPAQ配块GPRS卡就能打电话,摄像头和WIFI在手机上和PDA上都在支持。而目前看来,MS在PDA上的先发优势还要强于NOKIA在手机领域的优势。如果MS在PDA和手机融合的过程中取胜,则J2ME将没有任何机会。因为在更有价值的企业市场上,LINUX和PALM都已经失败了,CompactFramework的已经无可动摇的占领了企业移动计算的天王山。
2 楼 zbird 2006-11-27  
没用过j2me。
用C#移植过一个程序到PPC上。
那次的开发体验巨好。
1 楼 lbfhappy 2006-11-27  
唉,看到这里真为J2ME开发感到可惜啊
其实JAVA语言挺好的

相关推荐

    用Javac#开发手机程序及移动应用

    本书主要介绍如何用Java和C#编程语言开发手机应用程序以及在移动通信中的应用,包括:J2ME核心类及MIDlet类;基于Java开发MIDlet程序;图形处理及低级事件处理;多线程编程;即时消息传送;I/O及网络编程;数据库...

    J2me实用教程,从入门到精通.doc

    在J2ME与其他移动开发技术的对比中,我们可以看到C++(如Symbian平台)和C#(如微软的Smart Phone平台)各有所长,但J2ME由于其广泛的设备支持和跨平台能力,依然保持着重要的地位。随着硬件性能的提升,J2ME能够更...

    结婚去哪度蜜月好 辑软件 基于J2ME的Java手机软件开发 Delphi,仓库管理系统毕业设

    猫扑网络进销存系统V4.5asp.NET源码 称重管理系统源码+开发文档 c#学生管理系统窗体源码 免注册即开即用的PDF编辑软件 基于J2ME的Java手机软件开发 Delphi,仓库管理系统毕业设计 五子棋c++控制台程序 Struts2.0培训...

    JAVA基于J2ME的手机游戏开发(论文+源代码).rar

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...

    在J2ME程序中制作Splash画面效果.zip

    C#是另一种编程语言,主要用于Windows桌面应用、游戏开发和移动应用(如.NET MAUI),其与J2ME的编程环境和机制有显著区别。在C#中,创建启动画面的过程类似,但会使用不同的库和API,例如Xamarin.Forms或Unity引擎...

    基于java的基于java的J2ME的手机游戏开发(论文+源代码).rar

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...

    javac#开发手机程序及移动应用

    ch01 Java手机程序设计入门 ch02 J2ME核心类及MIDlet类 ch03 MIDP用户界面对象 ch04 图形处理及低级事件处理 ch05 多线程编程 ch06 I/O及网络编程 ch07 数据库RMS编程 ch08 浮点数编程 ch09 多媒体及GAME ...

    游戏开发(PC及手机设备)

    J2ME,全称Java Micro Edition,是早期主要用于开发移动设备游戏的Java平台,虽然现在已被Android和iOS等系统取代,但对于理解移动游戏开发的历史和Java技术的应用仍有价值。 在PC游戏开发中,C++和C#是常见的编程...

    基于java的基于java的J2ME的手机游戏开发(论文+源代码+毕业设计).rar

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、...

    基于WebService技术的J2ME和_NET互连.pdf

    3. **J2ME客户端开发**:在J2ME设备上开发客户端应用程序,使用Java开发工具,如Eclipse或NetBeans,集成对WebService的支持库,以便能够调用远端服务。 4. **调用WebService**:J2ME客户端通过HTTP协议调用部署在...

    计算机毕业论文题目大全(asp asp.net jsp java vc c# vb php)

    8. **移动开发**:J2ME(Java Micro Edition)允许在移动设备上开发应用,如“J2ME手机游戏的开发-Beckham Goal”和“基于J2ME平台的掌上网络商店”的开发。 9. **网络应用**:许多论文题目涉及到网络通信、FTP服务...

    Google Android SDK开发范例大全 源码

    余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、JavaBeans、PHP、C#等程序语言,熟悉面向对象技术与Eclipse...

Global site tag (gtag.js) - Google Analytics