使用ASP.NET开发移动通讯的几种方法
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控制器开发的网页,ASP.NET运行引擎查询该设备的浏览能力并且为其指定一个相应的设备适配器,该设备适配器自动的将从控制器返回的值转换成设备能使用的格式。设备适配器不仅处理显示,它还为设备生成管理和返回输入值的标记语言代码。例如,开发者能创建一个单页面,通过使用WAP它能被袖珍电脑或手机所浏览。设备的使用者可以使用袖珍电脑的手写笔或手机的键来与网站进行交互,ASP.NET能识别设备适配器生成的代码的返回数据并进行相应的处理。
各种方法的优点和缺点
并不是说如果开发移动通讯就一定要使用MMIT,其实使用老式的xml(标准化越来越近了) 和XSLT技术也是可以的。实际上.NET Framework中内置的对xml(标准化越来越近了)规范的支持使得用xml(标准化越来越近了) 和XSLT技术来创建支持多设备的方法比用MMIT更容易。但是要开发连接式的Web应用程序,你可能依旧会首先考虑使用MMIT。
使用MMIT方法,你可以为应用程序设计一个访问它的设备,这样当新设备可以使用以后,你通过简单的增加附加的设备适配器到ASP.NET服务器中就可以使用该新设备了。你也可以通过扩展现有的MMIT控制器来创建被现有的或将来的设备适配器所支持的设备控制器。使用MMIT的另外一个关键性的好处是能利用ASP.NET的内部状态管理系统,开发者如果创建基于XSLT的移动通讯应用程序就必须开发和维护自己的状态管理方法。