用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心移动开发

J2ME,CompactFramework,c++,我该如何取舍

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 15:49:38

进行基于.NET CompactFramework的开发有段时间了,渐渐地BOSS们发现仅位于Windows mobile平台的应用已经远远不够,我们内部也做过一次调查,参加调查的人数大概一百多人,仅有10%的人使用的是基于Windows mobile的手机,85%用的是S60 第三版,剩下的则是Linux及其他,如何让开发出来的程序能够顺利地跨平台,自然而然我们想到了java,公司里的一个java牛人立即用2天时间用J2ME做了个数据查询,并宣称在三个平台下能够顺利应用(Symbian,windows mobile,linux),在赢得一片称赞声之后,我不禁对这个跨平台性产生了疑问,真的能很好地跨平台吗?

J2ME我不是特别了解,从开发环境上看,感觉与.NET很像,java的一些特性跟c#也很像,入门确实很容易,各个J2ME规范之间的切换也很方便,不过从我接触的几个J2ME开发人员来看,他们基本上都是做手机游戏开发,针对的也是较低版本的机子,但这个做企业移动应用合适吗?

老实说,从公司现有的需求来讲,现在要做的是将windows mobile平台下的应用搬到Symbian下,因此我们可以选择的开发平台还有Symbian c++,c++的开发效率要低一些,但对细节能够照顾得很全面。下面是我参照我们组所总结的关于这几个开发平台的优劣。

一、J2ME

优点:
1、移植性好,使用J2ME技术开发的程序,只要手机支持J2ME规范就能够运行这个程序;
2、开发效率快,因为网络上相关资料很多,并且和手机操作系统关联性不大,所以程序的开发周期将被大大缩短;
3、入门快,java语言是一个很容易上手的语言,对于一个有过开发经验的人来说,这个门槛被大大降低了。
缺点:
1、功能有限,为了实现J2ME的移植性,J2ME无法实现一些系统功能,一些厂商的利益关系也造成了一些手机无法很好地支持J2ME规范;
2、速度比较慢,由于J2ME技术运行在JVM的基础上,再加上手机的硬件限制,所以运行速度会相对较慢;

二、Symbian C++

优点:
1、程序运行效率高,Symbian能够保证在它的平台下用c++开发出来的程序的高性能;
2、资料丰富,Symbian论坛与Nokia论坛上提供支持这方面开发的丰富的资料;
3、切换性好,对于Symbian的各个版本,只需做稍许微调就能够很好地在这上面应用。
缺点:
1、移植性差,用Symbianc++开发的程序无法移植到Windowsmobile及其他平台;
2、开发效率低,由于涉及到Symbian的相对底层,因此对这个平台要有一定的了解才能够进行;
3、门槛较高,c++语言的特性也造成了驾奴它的难度,因此对开发人员的要求会很高。

三、Windows Mobile(Compact Framework)

优点:
1、开发效率高,visualstudio200X或许是这个世界上功能最强大的IDE了,在加上c#的特性,因此用这个平台上用CompactFramework来开发应该是开发效率最高的;
2、文档齐全,微软的文档一向以全面著称,而且各种培训视频均能免费下载到;
3、入门容易,只要你拥有桌面开发经验或者.NET平台下经验,你就能很快地做出一个能在你的windowsmobile手机上跑得很溜的软件。

缺点:
移植性差,compactframework的特性造成了它移植到别的平台上的困难,虽然我在网上有看到一些关于它的跨平台,但效果却无法令人满意。

这其中有我一些很片面的看法,选择哪种开发平台还是得看具体的需求,总不能说在一个装Windows Mobile上的PDA上用J2ME死磕,或者相对低版本的手机上用.NET耗着。这篇文章旨在抛砖引玉,望高人多多指点,让我们都少走一些弯路。

评论:

2008-08-18 10:45 by zjfeiye

我有一个s60v3的和一个mobile的,我用软件的观点是,有各自平台下专用软件的(sis/sisx等),打死不用java,没有的尽量找替代的,找不到替代的,我会再回头看看少了这个软件行不行,不行才用java,我周围的人当中认同我的观点的不再少数。
所以开发各个平台的专用版本是王道,虽然麻烦点,但是至少能保证做出来的软件会有人愿意用。

2008-08-18 10:57 by redmoon

这里要看你们的应用是什么类型的,如果是企业应用,我觉得毫无疑问是WM,至于所谓的手机份额,不是一个问题,难道企业应用还不能确定终端是什么吗?
如果是大众应用,如peptalk,pica这样的,我建议多个版本并行,WM的CF程序,和S60的C++程序作为重点,JAVA客户端作为辅助。

2008-08-18 13:25 by Gray.dai

目前在做WM6。企业级应用

CF 2.0 + C++,这种组合目前看起来,可以兼顾开发效率和性能的问题。尤其是做底层,C++远比C#来得好使。

目前手上的一些PC项目,也基本上走得差不多的路子,混合语言编程。C++/Python,或者是 .NET/C++/Python。

希望能给楼主一个参考

来自:http://www.cnblogs.com/JustDI/archive/2008/08/18/1270067.html

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:7,390.62500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号