接触移动开发

IT商界

  近年来,由于无线移动通信业的蓬勃发展,无线通信技术渐渐成为当今世界上最热门和发展速度最快的技术之一。而作为无线世界中的移动通讯设备──手机,在中国的用户就已经超过2亿。加上目前手机的发展开始逐渐脱离单纯的通讯功能,人们开始寄望在手机的各种平台上实现更多的功能。如此巨大的市场和商机让广大软件开发商看到了“钱”途,而越来越多的程序员也开始从PC开发转向了移动开发……

  手机上的操作系统

  和手机数量相比,手机的应用软件却极其匮乏。手机生产商预装的应用软件、游戏软件等渐渐开始不能满足广大用户需要。许多有一定编程知识的手机用户开始设想自己开发手机软件。另一方面,与桌面电脑应用、企业应用的情况相比,移动设备的应用软件几乎是一片空白。所有移动设备的应用软件的设计、开发都需要重新进行。

  目前主要的移动设备应用软件集中在手机等设备上。在这方面,J2ME、BREW、Symbian OS(正式名称:EPOC)形成了三足鼎立之势。从诺基亚、摩托罗拉、西门子等手机生产商推出的新款手机来看,大多数手机都把J2ME作为其标准配置;诺基亚目前开始推出了几款基于Symbian操作系统的手机;中国联通目前也正在全国推行针对CDMA手机的BREW开发平台,以使CDMA充分发挥威力。除了前面三者,微软也凭借自己新一代手机操作系统──Smart Phone 2002开始入侵手机领域,但是它毕竟刚刚诞生,目前还没有几家厂商正式支持和使用它。

  对于这些开发平台,虽然J2ME已经形成了相当不错的发展势头,但Symbian的出现也获得了越来越多的厂商的大力支持,其开发工具也最完备。SymbianOS的正式名称是EPOC,是Psion Software推出的操作系统。EPOC操作系统包括早些年的16位操作系统EPOC16和新版的32位操作系统EPOC32。新版的SymbianOS支持多任务操作,该平台支持各种开发选择,包括C++、Java、OPL、WAP等。实际上,Symbian是爱立信、诺基亚、摩托罗拉、松下、Psion PLC等共同组建的公司,专门致力于EPOC的开发和发展的。在诺基亚的网站上有关于Symbian非常丰富的开发工具、软件、示例程序及技术文档,任何人都可以自由下载使用。从另一方面讲,诺基亚作为全球最大的手机厂商,它所力推的手机操作系统拥有较多的使用者。

  认识主流操作系统

  SymbianOS为移动信息设备提供了安全可靠的操作系统。它是为移动设备特别设计的,具有低功耗,内存占用少等特点,并且为GPRS、蓝牙、SyncML,以及最终的3G等新技术提供稳定的平台。另外它还是一个开放式的软件及通讯器平台,任何人都可以为支持Symbian的设备开发软件。这也意味着开发商具有更多可供选择的应用,同时拥有更大的市场(正是基于Symbian的开发拥有最多的支持和最大的优势,在后面的专题中,主要介绍基于Symbian OS的开发)。

  BREW是高通(QUALCOMM)公司的无线二进制运行环境(Binary Runtime Environment for Wireless)。包括世嘉(SEGA)、索尼、Bandai、JAMDAT、Sorrent、THO等在内的全球游戏和娱乐业巨头都已经积极投身到蓬勃发展的CDMA无线娱乐市场中。最新的BREW 2.0工具套件提供了一组丰富的Perl界面,使BREW开发者可以创建自动化的测试套件,将特定的应用程序作为目标。据最新消息,BREW将支持Sun公司的Java技术,以满足更多用户的需要。

  J2ME(Java 2 Micro Edition)是目前在移动设备及嵌入式领域最有影响力的技术,是基于Java的开发实现的。J2ME在设计其规格的时候,遵循着“对于各种不同的装置而造出一个单一的开发系统是没有意义的事”这个基本原则。你可以从Sun网站上下载到J2ME CLDC文件。第一个文件是j2me_cldc_-1_0-src.winsol.zip,它包括所有开发CLDC应用程序时需要的类库。除了包括类库以外,它还包括源代码以及Windows和UNIX下的可执行代码,用于MIDP规定的Java虚拟机引用的实现。对目前的大多数手机来说,J2ME是支持得最好的开发平台,拥有最多的开发者和支持者(当然,J2ME也存在一些问题,比如没有规范的标准,市场较混乱等)。

  此外,也有一些其他的手机操作系统。比如Smart Phone 2002是微软公司推出的手机操作系统,但是目前还没有见到有相应的手机产品正式上市,所以在本专题中笔者不打算详细介绍Smart Phone 2002。另外,摩托罗拉等将推出基于Linux的手机操作系统,也支持相当多的操作功能。

  你可以做移动开发吗?

  前面讲了手机开发所使用的技术,这些技术需要一定的软硬件平台的支持,就像是在PC上一样,不同的软硬件就对应了不同的开发工具。如何选择手机,当然这要由消费者来选择了。但是好的技术支持是衡量一个手机质量的重要因素,作为开发者,自然是把开发的重点对准最大的用户群的。如何选择开发工具是手机开发爱好者关注的问题。

  那么如何选择编程语言及开发工具,以及我们又怎么快速从PC开发转向手机开发呢?

  对于有一定Java基础的朋友来说,采用J2ME平台做开发是一个明智的选择,毕竟Java语言容易使用,可以说是目前移动设备开发的主流。对于对C++熟悉的朋友,可以考虑学习在SymbianOS下的开发,这方面,诺基亚的SDK配合VC、C++Builder等开发工具来进行开发,开发者入门也极其简单,而且可以充分发挥C++语言的优势。在中国,选择BREW也不失为一个好的开发解决方案,毕竟中国联通已经把基于BREW的开发作为其CDMA的重头戏了,在国外基于BREW平台的开发也拥有相当多的拥护者。

  手机开发相对于PC的开发来说,可以说是简单得多,即使你没有PC编程经验,也可以在短时间内熟练掌握手机开发的要领,写出不错的程序来!

  当然,手机开发不同于PC开发,手机的硬件配置有限,不能像PC软件那样占用大量的硬盘空间,使用大量的内存。所以,软件不可以太大,也不可能占用太多内存。这样说来,我们几乎不能把现在的PC系统上的软件移植到手机上(虽然Java有一定的移植性,但要真正做到还是很困难)。所以要对手机进行编程,必须熟悉特定的手机操作系统和开发工具。