现在的消费者不仅仅要求通过个人电脑访问互联网上的资源他们还需要通过别的方式来访问网站的设计者对此感到很苦恼他们的第一个本能的反映是通过一个现有的Web网站来创建多个导航路径很多Web开发者使用这种机制来解决不同版本的浏览器对HTML规范的支持程度不一样的问题(例如有的版本的浏览器能支持FRAME有的却不能支持)尽管这种方式比较容易实现但是由于不同的设备需要不同的网页显示方式所以Web站点的页面会随着访问设备的增加而呈现指数的增长这将会使网站的维护和管理变得很复杂所以Web开发者不得不寻求更好的解决之道
一XML和XSLT
XML 和XSLT已经成为解决浏览网页设备的独立性问题的最有效的方法Web开发者能使用XML和XSLT来创建基于静态的XML文档和从数据库返回的动态的XML数据流的网站网站设计者能创建XSL模板该模板应该接收一个XML数据流并将XML数据流转换成用来浏览网页的设备所能识别的HTML开发者设计网站并发送被相应XSL模板转换的HTML文件到客户浏览器而不用处理多路径问题
从资源使用的立场来说因为每个网页仅仅需要一个XML文件每种设备类型只要一个能处理XML文件的XSL模板所以这种创建Web站点的方法是很有效的但是如果从系统处理的立场来说因为当用户浏览网页时这些网页都要动态的生成而不是简单的从硬盘中读出就行了所以处理效率比较低
所不幸的是要实现上面的机制现在的设计者和开发者应该在XML和XSLT方面拥有更多的知识和经验正是由于这方面的原因导致了现在我们的现实生活中很少有能支持移动设备的网站和Web应用程序
二使用MMIT
微软试图用NET Framework和Microsoft Mobile Internet Toolkit (MMIT)来解决通过多种移动设备来访问网站的问题并且从一开始微软就提倡将Visual Studio NET和NET Framework作为为移动设备开发连接式和断开式应用程序的首要平台尽管支持断开式模型的工具尚处于beta测试之中但是在几个月以前就可以得到MMIT提供的支持创建连接式的应用程序的工具同时这些工具也将作为一种标准特性出现在Visual Studio NET和the NET Framework的下一个版本中
MMIT允许开发者创建支持移动设备的Web应用程序并且没有象XSLT带来的设备依赖性问题(因为每个设备需要它自己的XSL模板集)由于MMIT通过提供一套设备独立的控制器和一套设备适配器所以开发者能使用它的设备独立控制器来开发不依赖于设备的应用程序MMIT在Visual Studio NET的工具箱中放置了一些关于设备的控制器同时也提供了用于开发快速移动设备应用程序的一些模板一旦开发者完成应用程序的开发这些设备控制器就能发布到运行设备适配器的服务器上以便多个设备终端都能使用该设备控制器
当一个连接的移动设备请求一个使用MMIT控制器开发的网页ASPNET运行引擎查询该设备的浏览能力并且为其指定一个相应的设备适配器该设备适配器自动的将从控制器返回的值转换成设备能使用的格式设备适配器不仅处理显示它还为设备生成管理和返回输入值的标记语言代码例如开发者能创建一个单页面通过使用WAP它能被袖珍电脑或手机所浏览设备的使用者可以使用袖珍电脑的手写笔或手机的键来与网站进行交互ASPNET能识别设备适配器生成的代码的返回数据并进行相应的处理
三各种方法的优点和缺点
并不是说如果开发移动通讯就一定要使用MMIT其实使用老式的XML 和XSLT技术也是可以的实际上NET Framework中内置的对XML规范的支持使得用XML 和XSLT技术来创建支持多设备的方法比用MMIT更容易但是要开发连接式的Web应用程序你可能依旧会首先考虑使用MMIT
使用MMIT方法你可以为应用程序设计一个访问它的设备这样当新设备可以使用以后你通过简单的增加附加的设备适配器到ASPNET服务器中就可以使用该新设备了你也可以通过扩展现有的MMIT控制器来创建被现有的或将来的设备适配器所支持的设备控制器使用MMIT的另外一个关键性的好处是能利用ASPNET的内部状态管理系统开发者如果创建基于XSLT的移动通讯应用程序就必须开发和维护自己的状态管理方法