最近一段时刻,移动设备开发越来越多的成为了程序员社区的论题。移动设备首要包括智能手机和PDA,是嵌入式开发中很重要的一个方向。在智能手机范畴被大多数手机厂商支撑的J2ME无疑是领头羊,跟着多普达推出了515手机,根据微软CE渠道的SmartPhone也逐步成为重视焦点。一向不温不火的PDA商场,也在职业应用范畴有所收成,Pocket PC因为其开发与Windows渠道的共同性而得到了开发人员的喜爱。
在长时刻重视程序员论坛的进程中,我发现因为Windows CE开发的独特性,加之多个版别并存、缺少中文参阅资料,所以论坛上充满着许多相同的入门问题。我期望在这儿能够为刚转入Windows CE开发的程序员清楚一些概念,将现有的Windows CE版别与开发东西之间的联系给咱们解说清楚,在最终介绍一下,关于Windows CE开发的中文书本和国外网站的状况。
Windows CE与渠道开发
Windows CE是微软为嵌入式设备打造的操作体系,而嵌入式设备可谓多种多样,这就要求CE操作体系有必要是可定制的,所以微软将Windows CE规划为模块化的操作体系。说简略点,咱们能够把Windows CE想像成一盒积木,你能够用积木建立出任何物体,但不必定要把一切的积木都用上。
Windows CE建立出来的物体便是渠道,是习惯某种有固定规范的嵌入式设备的操作体系子集,最著名的渠道便是Pocket PC了,是供给给没有键盘的掌上电脑运用的渠道。因为渠道和硬件的共同性,所以有时分咱们也用渠道的称号来称号整个体系——硬件与操作体系的总和。
咱们也能够自己开发渠道,开发东西是微软供给的Platform Builder,Platform Builder的版别号是和Windows CE的版别号共同的。
更多程序员关怀的是应用程序的开发,而应用程序开发是针对特定渠道的,咱们在开发之前有必要装置方针渠道的SDK,才能够开宣告习惯方针渠道的开发东西。
Windows CE开发环境总述
初学者别的一个比较模糊的概念是版别的问题,现在市面上能够见到Windows CE的两代产品,它们的内核别离根据Windows CE 3.0和Windows CE.NET(即4.0)。
微软将本年刚问世的Pocket PC 2003和Smart Phone 2003统称为Windows Mobile 2003,咱们大多数时分仍是习惯地沿袭老称谓。
而市面上常常见到的Pocket PC 2002是根据Windows CE 3.0的渠道,而Pocket PC 2003则是根据Windows CE.NET的渠道,需求留意的是,Pocket PC 2003的内核是Windows CE.NET 4.2。而SmartPhone2003也是根据Windows CE.NET的。SmartPhone的开始版别是2002,根据Windows CE 3.0的,可是微软没有推出SmartPhone2002的中文版。
明晰了渠道与CE之间的联系,解说渠道与开发东西之间的联系就很简略了。微软供给给应用程序开发者的东西包括:Embedded Visual Tools 3.0,其间包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Visual C++ 4.0和Visual Studio.NET。
开发东西的版别号是与Windows CE的版别号对应的。EVC3.0和EVB3.0是用来开发根据Windows CE 3.0渠道的应用程序的,比较常见的渠道有:Pocket PC 2002、Pocket PC 2000、Palm-size PC、HPC。而EVC4.0是用来开发Windows CE.NET渠道的程序的,首要包括Pocket PC 2003和SmartPhone 2003。
Visual Studio.NET针对嵌入式设备开发需求SDE的支撑,而VS.NET 2003中包括了SDE,不需求别的装置。Visual Studio.NET开发的程序需求方针渠道支撑.NET Compact Framework。现在支撑.NET Compact Framework的渠道有Pocket PC 2002和Pocket PC 2003。这儿需求留意的是SmartPhone 2003是不支撑.NET Compact Framework的。
EVB开发入门
微软现已宣告EVB不再支撑Windows CE.NET,所以EVB的最终版别是3.0。但因为EVB的易上手性和快速开发的特色,在VS.NET横空出世之前,它成为Windows CE渠道上快速开发的不贰之选。现在EVB依然合适Windows CE 3.0渠道上小型应用程序的快速开发。假如您不是专职的Windows CE程序员,而仅仅需求在Windows CE渠道上开发整个体系的一部分,那么EVB能够让您用很短的时刻开宣告您想要的程序。
EVB的开发环境的建立也是非常简略,您能够从微软的网站上下载EVT 2002,其间包括了EVC 3.0、EVB 3.0和Pocket PC 2002 SDK和SmartPhone 2002 SDK。依照提示将EVB和Pocket PC 2002 SDK装置好后就能够进行开发了。SDK中包括模拟器,在没有实践设备的状况下,能够运用模拟器来调试程序。
这儿需求留意的是,开发环境和模拟器之间是经过网络连接协议进行通讯的,所以开发所用的核算机上有必要有一个活动的网络连接。假如没有,能够装置微软的虚拟网卡,详细进程请参照我在CSDN专栏里的文章《在无网络的环境下运用模拟器》。
EVB的开发环境与VB相似,因为Windows CE应用程序需求在模拟器或许实践设备上调试,所以咱们有必要挑选程序的输出方针。假如您挑选了Emulation,在您按下运转(或F5)后,EVB将主动发动模拟器,并把程序下载到模拟器中。
因为新的Windows CE.NET将不再支撑EVB,微软主张EVB程序员运用VB.NET开发新的程序,而关于原有的EVB程序也给出了搬迁途径,关于这方面的论说,您能够参阅MSDN的文章《Moving from eMbedded Visual Basic to Visual Basic .NET》。
EVC开发入门
无论是Win32渠道仍是WinCE渠道,Visual C++都是一个强壮的开发东西。而EVC也是WinCE上的干流开发东西。EVC支撑MFC类库的子集,能够给开发者供给最强壮的支撑,也使Win32渠道上的VC程序员能够很简略地搬迁到WinCE渠道上。但因为MFC类库需求一个DLL,所以对某些存储空间有限的嵌入式设备来说,这是个很大的担负,所以SmartPhone就不支撑MFC。
说这么多,让咱们来创立一个EVC的工程。是不是和VC很像,需求提示咱们留意的是,因为嵌入式设备支撑的CPU品种许多,咱们在挑选创立工程类型的一起,也要把该工程所支撑的CPU类型挑选好。创立工程的进程和VC是相同的。当然不同的渠道支撑的工程类型是不同的,比方Pocket PC 2003有支撑MFC和API的两种工程,而SmartPhone 2003则只要支撑API的一种工程。