由于工作的关系,有一部分工作需要和PDA开发打交道,让我渐渐地进入了移动开发的领域。相对于桌面应用来说,PAD应用的开发算是比较前卫的工作了。说它前卫,主要是由于其范围没有PC应用广,实现技术比PC应用难,开发群体比PC开发少。为了能和大家进行广泛的开发交流,我就做个引子吧,希望大家能踊跃地参与。
作为开篇,我还是希望能从基础说起,能让大家能由浅入深地了解、学习PDA开发。
平台
Windows Mobile是微软公司操作系统产品线上重要的一环。与Windows 9x/NT/XP/2003相比,Windows Mobile作为完整产 品线出现在公众面前的时间非常短,但它的发展却异常迅速,而在这一发展过程中,开发人员提供了绝对关键的推动力。现在,越来越多的开发人员(特别是.NET 开发人员)希望能尽快进入Windows Mobile的开发领域。
因为Windows Mobile平台构建于微软的Windows CE系列操作系统之上(当前正式商用版本为Windows CE .NET 5.0),而Windows CE操作系统具有非常良好的模块化特性,因此开发人员,特别是手机设备厂商,可以通过微软提供的Platform Builder及eMbedded Visual C++(以下简称为eVC)非常方便地定制自己所需的操作系统。
绝大多数的开发人员并不需要去构建一个全新的、个性化的系统,他们只需要关心如何构建能够运行在Windows Mobile设备上的应用程序。为此,微软按主要智能设备自身硬件设备特性的不同以及用户体验的差异,定制出了Windows CE .NET 4.x系列操作系统的两个主要分支,分别安装在不同的Windows Mobile硬件设备中,从而也就构成了我们通常所说的Pocket PC和Smartphone。以下内容中的Windows Mobile开发,除特指之外,均表示Pocket PC/Smartphone开发。
开发工具
常用的开发工具有eMbedded Visual C++(以下简称为EVC)、eMbedded Visual Basic 、VisualStudio.net,在VisualStudio.net2003中集成了Compact Framework1.0(以下简称.NET CF)。非常适合开发Pocket PC2002上的应用,而且其本身也集成了Pocket PC2002的模拟器,能非常方地进行调试工作。当然,现在VS2005出来后,支持CF2.0,且自带Pocket PC2003模拟器,同时提供了更多更丰富的组件。
不过现在还是有一些WinCE.net的核心功能没有被封装CF.net中,所以有时需要进行底层平台调用,在vs2002的CF中不支持,不过到了VS2005开始提供了强大的平台调用功能
如果需要进行数据库方面的开发,可能你会需要使用Microsoft SQL 2000 Windows CE Edition(又称为SQL Server CE),目前版本是2.0,该数据库放在移动设备上,作为一个文件访问 ,同时也提供了一些辅助程序,如SQLServer CE的查询分析器,而且该数据库可以很好地和SQLServer进行数据同步。
当然,如果你觉得上面提到的还不够,比如你还想拥更丰富的组件,可以到网上找找,现在有很多开源的,基于CF的组建库可以免费使用,这里笔者推荐一个个人认为比较好的网站,上面也有开源的开发框架 Smart Device Framework1.4,网址是 http://www.opennetcf.org
常见应用及方案
应该说移动设备的应用,应用范围也随着其处理能力的增强开始变的越来越广。从个人助理,到企业应用几乎都能看到它的影子。
对于个人开发来说主要是集中在日程管理、邮件等简单的信息管理,对于企业来说,可能依赖其做少量的数据处理和移动办公,或者是进行实时的数据采集等等。
由于受到其处理能力和存储能力的限制,很多时候我们都会利用现有的其他技术来扩展PDA的功能。如可能我们需要利用PDA的移动定性为我们完成实时的数据采集,但采集的数据需要及时通过和后台的大量数据进行对比分析来得到反馈,所以我们这时需要扩展其存储能力,常用的方式就是通过一个Webservice和后台的数据库进行通讯,让PDA的所有数据交互通过Webservice进行,PDA上不做数据存储(其实它也没那个能力来存储)。再者,可能我们需要缓存部分数据到PDA,然后定期和数据库服务器同步数据,这就要用到SQL Server CE了,他可以很好的通过SqlServer CE 客户端代理和服务端代理和进行数据通讯。
作为开篇,我还是希望能从基础说起,能让大家能由浅入深地了解、学习PDA开发。
平台
Windows Mobile是微软公司操作系统产品线上重要的一环。与Windows 9x/NT/XP/2003相比,Windows Mobile作为完整产 品线出现在公众面前的时间非常短,但它的发展却异常迅速,而在这一发展过程中,开发人员提供了绝对关键的推动力。现在,越来越多的开发人员(特别是.NET 开发人员)希望能尽快进入Windows Mobile的开发领域。
因为Windows Mobile平台构建于微软的Windows CE系列操作系统之上(当前正式商用版本为Windows CE .NET 5.0),而Windows CE操作系统具有非常良好的模块化特性,因此开发人员,特别是手机设备厂商,可以通过微软提供的Platform Builder及eMbedded Visual C++(以下简称为eVC)非常方便地定制自己所需的操作系统。
绝大多数的开发人员并不需要去构建一个全新的、个性化的系统,他们只需要关心如何构建能够运行在Windows Mobile设备上的应用程序。为此,微软按主要智能设备自身硬件设备特性的不同以及用户体验的差异,定制出了Windows CE .NET 4.x系列操作系统的两个主要分支,分别安装在不同的Windows Mobile硬件设备中,从而也就构成了我们通常所说的Pocket PC和Smartphone。以下内容中的Windows Mobile开发,除特指之外,均表示Pocket PC/Smartphone开发。
开发工具
常用的开发工具有eMbedded Visual C++(以下简称为EVC)、eMbedded Visual Basic 、VisualStudio.net,在VisualStudio.net2003中集成了Compact Framework1.0(以下简称.NET CF)。非常适合开发Pocket PC2002上的应用,而且其本身也集成了Pocket PC2002的模拟器,能非常方地进行调试工作。当然,现在VS2005出来后,支持CF2.0,且自带Pocket PC2003模拟器,同时提供了更多更丰富的组件。
不过现在还是有一些WinCE.net的核心功能没有被封装CF.net中,所以有时需要进行底层平台调用,在vs2002的CF中不支持,不过到了VS2005开始提供了强大的平台调用功能
如果需要进行数据库方面的开发,可能你会需要使用Microsoft SQL 2000 Windows CE Edition(又称为SQL Server CE),目前版本是2.0,该数据库放在移动设备上,作为一个文件访问 ,同时也提供了一些辅助程序,如SQLServer CE的查询分析器,而且该数据库可以很好地和SQLServer进行数据同步。
当然,如果你觉得上面提到的还不够,比如你还想拥更丰富的组件,可以到网上找找,现在有很多开源的,基于CF的组建库可以免费使用,这里笔者推荐一个个人认为比较好的网站,上面也有开源的开发框架 Smart Device Framework1.4,网址是 http://www.opennetcf.org
常见应用及方案
应该说移动设备的应用,应用范围也随着其处理能力的增强开始变的越来越广。从个人助理,到企业应用几乎都能看到它的影子。
对于个人开发来说主要是集中在日程管理、邮件等简单的信息管理,对于企业来说,可能依赖其做少量的数据处理和移动办公,或者是进行实时的数据采集等等。
由于受到其处理能力和存储能力的限制,很多时候我们都会利用现有的其他技术来扩展PDA的功能。如可能我们需要利用PDA的移动定性为我们完成实时的数据采集,但采集的数据需要及时通过和后台的大量数据进行对比分析来得到反馈,所以我们这时需要扩展其存储能力,常用的方式就是通过一个Webservice和后台的数据库进行通讯,让PDA的所有数据交互通过Webservice进行,PDA上不做数据存储(其实它也没那个能力来存储)。再者,可能我们需要缓存部分数据到PDA,然后定期和数据库服务器同步数据,这就要用到SQL Server CE了,他可以很好的通过SqlServer CE 客户端代理和服务端代理和进行数据通讯。