当一个ASP.NET的页面请求从一个Web客户端如IE或移动设备发出时,IIS会收集请求并把它传递给.NET 框架。如果ASP.NET的页面是首次请求,那么.NET 框架将把ASP.NET编译成中间语言(intermediate language,IL)。然后IL代码将被即时(Just-In-Time,JIT)编译器编译成本地代码。就象你所看到的,.NET 框架是整个ASP.NET应用的核心。.NET 框架将提供必须的资源和你所选择由于编译代码的语言编译器。
开发所必须的条件
要使用.NET开发移动应用程序,你必须下载和安装如下的组件。IE和.NET SDK可以从 Microsoft MSDN site 免费下载。
1. Windows 2000 Professional/Server/Advanced Server OS
2. Internet Explorer 5.5
3. .NET framework Beta 1
4. .NET Mobile Web SDK Beta 1
5. WAP模拟器
让我们开始吧!
要使用.NET开发移动应用程序,必须包含由.NET Mobile Web SDK提供(通过MobileUI.DLL文件)的 Mobile Web名域(System.Mobile.UI)。对于那些对namespace(名域)一词感到陌生的人来说,名域就象C++的头文件和Visual Basic的引用。名域将提供开发应用程序所要求的类。
使用.NET 框架开发移动应用程序是很容易的。
1. 创建一个ASP.NET页面
2. 包含Mobile Web Namespace--System.Mobile.UI
3. 用Mobile控件设计页面
就是那么简单。
Mobile 控件
Mobile控件是为开发移动应用程序而设计好的程序块。对于那些喜欢使用象VB和Frontpage等这样的集成开发环境(IDE)来开发GUI/Web的人来说,Mobile 控件就与HTML的按钮控件和VB的Grid控件相类似。Mobile控件通过提供程序员所需要的功能来简化程序的开发过程。
例如,如果你想画一个WML Card标记符,你可以使用Mobile Form控件。对于所有的WML标记符都提供了相应的Mobile 控件。Mobile 控件吸引人之处就在于,它们不仅限用于WML标记符;相反,它们超越了WML标记符,可以创建有用的Mobile 控件,如在WML无法实现的日历Mobile 控件。
让我们看一看一个显示Hello World!的ASP.NET页面例子。
〈%@ Page Inherits="System.Mobile.UI.MobilePage"〉
〈%@ Register TagPrefix="Mobile" Namespace="System.Mobile.UI"〉
〈Mobile:Form runat="server"〉
〈Mobile:Label runat="server"〉Hello, World!〈/Mobile:Label〉
〈/Mobile:Form〉
循序渐进理解ASP.NET页面
1. 在第一行里,给ASP.NET页面对象继承了Mobile Web名域。如果不这样做,ASP.NET就会遵循普通Web应用程序的页面处理程序。
2. 在第二行里,为Mobile Web名域注册了一个标记符前缀。你可以看到在剩下的代码中,对所有的Mobile 控件都使用Moblie这个关键字作为名域前缀。你可以使用任何你想的名字作为标记符前缀。
3. 在第三行里,创建一个Mobile窗体并把它的runat属性设置为server。
4. 在第四行里,创建一个Mobile label控件和Hello World文本。
5. 最后一行,关闭Mobile窗体标记符
运行以上例子,观看结果。
以上就是例子在Phone.com模拟器显示的效果。现在再让我们看一看ASP.NET生成的代码:
是不是很Cool?ASP.NET为我们生成代码,Mobile Form控件已经被转换为WML card标记符;同样地,Mobile Label控件被转换为WML pa
访问定义在frm2中lable控件并设置用户提交的值。
以下就是以上代码在Phone.com模拟器和Pocket IE模拟器中的显示屏幕:
以下是ASP.NET为Phone.com模拟器生成的代码:
就象你所看到的ASP.NET生成白药的WML代码来处理用户的文本输入并发送到服务器端。它同样也生成WML代码以在下一个WML card中显示用户输入的名字。
.NET Mobile Web SDK的优势与限制
这里有一些使用Mobile Web SDK的优势与限制。
优势:
1. 不需要检测浏览器和根据目标设备发送WML或HTML
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)2. 要学的只是ASP.NET和.NET Mobile控件,而不必学WML
3. Visual Studio.NET易用的编程模式拖放的应用程序开发
4. 支持服务器端事件处理
5. 支持自动分页
限制:
1. 只限在Microsoft产品和操作系统中使用
2. 当WML或HTML的新版本发布,你只有等Microsoft宣布它的新版Mobile Web控件的发布
支持的设备
.NET框架还在发展之中。目前,.NET Mobile Web SDK已经在如下的设备中进行了完全的测试:
内嵌Microsoft Pocket Internet Explorer 4.5的袖珍PC
Mitsubishi T250移动电话
Nokia 7110移动电话
Nokia 7110的Nokia WAP Toolkit 2.0 Beta 模拟器
.NET Mobile Web SDK在如下的准备中进行过有限的测试:
Samsung触点移动电话
Sony CMD-z5移动电话
Microsoft Mobile Explorer v 2.01 模拟器
l Phone.com UP.SDK 4.0模拟器
Phone.com UP.SDK 3.2 for WML模拟器
还有许多其他的支持设备,但是没有在.NET Mobile Web SDK条件下进行过测试。
总结
在这篇文章中展示了.NET Mobile Web SDK的性能和NET Mobile Web SDK如何支持不同的设备。也看到了一个使用.NET Mobile Web SDK生成移动应用程序的例子。想获得更多的关于. NET Mobile Web SDK的信息,请查看以下的相关链接。