当带有WAP(无线应用协议)功能的电话第一次涌入欧洲市场时,本书作者们就已经在一起工作了。和许多人一样,他们迫切地想得到一部Nokia 7110手机以便着手创建真正的无线Web应用程序。这真是快乐无比——一项新技术让数百万公众热切地期待从自己的WAP电话中可以访问到很有用的内容。本书作者们当时为一家从事Internet站点信用卡支付业务的公司工作,并且在英国创建了第一 个可以通过WAP电话进行信用卡支付的实用设备。
遗憾的是,移动Internet业务并没有像预料的那样繁荣起来。移动电话公司对这种新技术疑虑重重,并且用户所具有的使用移动Internet经验还不是移动电话公司所期望的。用户需要像PC机那样的小型Web浏览器版本,而不是体积小、速度慢而且色彩单一的文本浏览器。“WAP是垃圾”成为报纸常提到的一句话,很多公司对开设移动Internet业务都采取观望的态度。
也有令开发者感到惊异的事情。和许多开发者一样,作者很惊异地发现自己的WAP服务只能在Nokia浏览器上工作,而不能在Phone.com浏览器上正常工作。尽管这两种浏览器使用了相同的标记,但在不同浏览器上应用程序的可用性却完全不一样。作者重新设计了应用程序,使其在两种浏览器上都能够正常工作,这项工作充满了挑战性和乐趣,但是这样就减少了投入开发新解决方案的时间和精力。
幸运的是,移动Internet开始走向成熟。公众已经比较了解小型手持设备所具有的功能,WAP服务正在稳步增长。日本试图避免欧洲所犯的市场错误,因此i-mode服务获得了巨大成功,它拥有超过3千万的订户(这是个令人惊喜的数字)。但是,从开发者的角度来看,最有前途的是那些看到移动服务有利可图的企业的利润获得增长。PDA(便携式信息助理)和智能电话的功能越来越强大,价格也越来越便宜,它们为商业Web应用程序提供了优秀的平台。
不过,现在仍旧存在很多不同类型的平台。它们具有不同的屏幕尺寸,各自支持不同的HTML、cHTML和WAP标记语言(以及它们的不同版本),以及是否支持彩色和单色显示等等。幸运的是,软件公司开发的软件使开发者只创建一次应用程序就可以让软件对特定设备进行优化输出。作者认为所有这类产品中最令人激动的就是Microsoft Mobile Internet Toolkit了。
.NET框架是Microsoft最具雄心的开发项目之一。开发人员如何为Windows平台及万维网(World Wide Web,WWW)创建应用程序之类的书籍都得重写。Microsoft的.NET所提供的功能中最令人激动的部分之一是ASP.NET。使用此项技术,Web开发人员在编写解决方案时就不会再感到受到很大的束缚了。ASP.NET应用程序是成熟的.NET应用程序,它可以访问.NET框架的所有资源,并将标记作为输出结果。Mobile Internet Toolkit扩展了ASP.NET的能力,使开发移动Web应用程序变得更容易,并且运行库能使输出结果匹配很多种手持设备。
“适应性、能够自定义、可扩展性”是Microsoft的Mobile Internet Toolkit开发团队经常重复的一句口号,这句话说明了此工具包的优良性能。为使应用程序适应不同性能的移动客户端,可以方便地对应用程序进行自定义以便发挥特定设备的独有能力。同时,该产品是可扩展的,因此可以方便地创建新控件或为新的手持设备提供支持。
开发早期移动应用程序经常遇到挫折与挑战。使用Mobile Internet Toolkit开发应用程序所用的时间和过去相比非常短,并且开发完成后可以立即从很多种浏览器上访问此应用程序,这些浏览器支持HTML、cHTML和WML。
读者对象
本书适用于两种读者。第——类读者是已经具有开发手持设备应用程序经验的无线开发人员。他们可能刚刚进行Microsoft程序的开发并且可能没有用过Visual Studio.NET。第2章和第3章的内容主要就是针对这些人,这两章介绍了ASP.NET和Visual Studio.NET并且指导读者进行移动Web应用程序的开发。第4章说明了ASP.NET应用程序进行工作的基础知识,读者需要了解它是如何与移动Web窗体一起工作的。
第二类读者是已经具有.NET框架和Visual Studio.NET开发经验的人员。如果读者以前使用过ASP.NET,可以略读第3章以便了解Mobile Internet Designer,然后直接进入第5章学习使用移动控件工作。
无论读者具有何种知识背景,都需要他们熟悉面向对象程序设计。.NET框架以及所有以它为基础创建的内容都是完全面向对象的。和ASP.NET中的其他内容一样,Mobile Internet Toolkit控件是类对象,读者需要了解类、方法、属性和继承以便充分利用工具包和.NET框架。
读者用不着熟悉HTML或WML标记语言。熟悉一种编程语言更为重要,例如熟悉Visual Basic或Visual C#。这里要强调的是,所要编写的程序是用于输出标记的面向对象程序。如果未曾编写过设备定制标记,而要编写出功能完备的Mobile Internet Toolkit应用程序,这也是有可能的。如果想为特定手持设备自定义应用程序,熟悉一下HTML和WML会有所帮助。使用模板功能所能做的事情之一是向设备直接发送“原始”标记。当然,想要开发自己控件的高级开发人员必须完全熟悉设备所使用的标记语言。
本书所有示例代码都以C#语言编写,C#是一种与.NET框架同时开发的Microsoft新的主流编程语言。希望Visual Basic开发人员不会由于人们对C#的关注而感到倍受冷落。实际上,C#和Visual Basic代码的结构非常相似,并且除了明显的语言语法区别之外,C#示例对于Visual Basic.NET开发人员来说应该具有非常好的可读性。本书中所有示例都有C#和Visual Basic两种版本,但是第15章的后半部分和第16章的自定义控件示例却是Visual Basic(或.NET框架所支持的其他语言),而是因为作者来不及编写其他语言版本的代码了。
本书内容
第1章通过移动数据通信程序开发的简史,得出当前情况是如何形成的。第1章还介绍了移动Web应用程序开发人员所面临的挑战,并介绍了Mobile Internet Toolkit如何应对这些挑战。第2章继续前一章的主题,但主要关注ASP.NET,以及它为何优于Web开发人员以前所使用的工具。
第3章概要介绍了Visual Studio.NET,其重点是Mobile Internet Toolkit所具有的性能。这一章介绍了Mobile Internet Designer如何从Toolbox中拖动移动控件并将其放到移动Web窗体页面上,Mobile Internet Designer使用拖放方式的GUI编辑器设计应用程序。第4章介绍ASP.NET应用程序开发的重要基础知识。如果刚刚接触ASP.NET就需要重点阅读这一章,这章介绍了如何处理客户端和服务器之间的请求响应交互,以及移动设备用户的指令如何转换成服务器代码中所捕获的事件。
第5章到第7章介绍了各种标准移动控件。其目的是提供每种控件的简要说明,以使读者能够学会如何使用XML语法在移动Web窗体页面中应用控件,以及如何在代码中访问控件的属性和方法。每种控件都包含一个或多个示例应用程序以演示其使用方法。
第8章介绍Mobile Internet Toolkit的特性,它可以用来增强应用程序的显示效果。这些特性可分为3个不同的功能类别:样式、属性重写和模板。通过样式可以定义用于显示控件外观的颜色和字体,这将为那些支持这种功能的浏览器增色添光。属性重写用来自定义应用程序,这对特定型号或类型的客户端设备来说就可以为控件属性指定不同的值。模板具有强大的功能,可以用它来对列表控件的显示方式进行大量的自定义,或者可以用它来将设备定制标记插入到发送给特定设备的输出结果中。
第9章到第14章介绍Mobile Internet Toolkit开发人员可能用到的其他功能。其主要内容包括处理ADO.NET数据、使用Visual Studio.NET和移动设备仿真器测试和调试、典型设计示例以及如何国际化应用程序、处理状态管理以及打包和部署应用程序。
. 第15章到第17章介绍Mobile Internet Toolkit的可扩展能力。其中的大部分内容是针对高级开发人员的,只有第15章的第一部分涉及到用户控件,可以使用用户控件方便地为移动Web应用程序开发可重用的可视化组件。第15章的第2部分和第16章的全部内容介绍了如何编写自定义移动控件代码。第17章介绍如何使Mobile Internet Toolkit支持新设备。开发者可以一直等到Microsoft发布支持新设备的更新的程序,或者可以在本章的指导下自行添加支持功能。
使用本书示例
如果要使用本书示例,就必须安装Internet信息服务(Internet lnformation Services,IIS)。读者可
以在已经安装了Visual Studio.NET的本地机器上运行示例,也可以在专用服务器上运行示例。但无
论使用什么方式,都必须具有安装与运行安装程序及脚本的权限。
系统需求
运行示例程序需要以下软件;
● Visual Studio.NET或.NET框架SDK
● Microsoft Mobile Internet Toolkit
● Windows 2000或Windows XP Professional安装MSDE.NET框架示例数据库
第9章中的一些示例使用了公共数据库,公共数据库安装了.NET框架SDK QuickStart示例。不必在开发系统上安装SQL Server产品,因为.NET框架QuickStart示例的安装程序会在必要时安装一个名为MSDE的独立数据库服务。如果要安装MSDE Server和示例数据库,可以在C:\Program Files\Microsoft.NET\Framework SDK\ 文 件 夹 或 C:\Program Files\Microsoft Visual Studio.NET\Framework SDK文件夹下双击StartHere.htm,这样就会出现Microsoft.NET框架SDK欢迎页面。单击QuickStarts,Tutorials,And Samples链接。如果还没有安装.NET框架QuickStart示例,则显示页面给出安装示例所必须的两个步骤。首先单击Step1:Install The.NET框架Samples Database 。
数据库安装好之后,再单击Step2:Set Up The QuickStarts来安装所有的示例数据库,并安装.NET框架QuickStart指南。
使用配置脚本
示例中包含一个安装程序,这个安装程序可以将示例文件复制到硬盘中的一个目录下。运行安装程序后,就要运行下面的脚本来设置IIS中运行示例应用程序时所需的虚拟目录。
1. 打开Windows的[命令提示符]窗口。如果已经安装了Visual Studio.NET,则可以单击[开始][所有程序]