创建移动Web应用程序

介绍

现今移动设备已成为我们生活中的一部分,我们当中的许多人已离不开它们。当这些移动设备连接到Internet时,移动设备的力量将无穷无尽。我们可以在任何时间地点给用户发送数据。典型的移动应用程序是在服务器上使用WML, WMLScript和WBMP开发的。

对于动态WML应用程序,开发者可以使用ASP, JSP, PHP等等。移动设备包括蜂窝电话、寻呼机、掌中浏览器、袖珍PC和车载PC。这些设备中少数支持WML,少数支持HTML,更少数支持同时支持WML和HTML。如果你想确保你的应用程序能在大多数的移动设备中使用,你必须以WML和有限的HTML创建应用程序。

最近Microsoft提出了一个革命性的应用程序开发平台—.NET 框架。.NET 框架包括用于Web开发的ASP.NET(下一版本的ASP)。基于ASP.NET的Web开发即支持传统的Web客户端如IE和Netscape,又支持移动客户端如Phone.com, Nokia 蜂窝电话和袖珍PC。ASP.NET应用程序可以在任何.NET支持的语言环境下如VB.NET(下一版本的VB),JScript, C++, C#等等语言环境下进行开发。在这篇文章中,我们将看到如何使用.NET Mobile Web SDK, ASP.NET和 VB.NET看法移动应用程序。

.NET介绍

在深入之前,我想给你简要地介绍一下.NET。.NET是一个由Microsoft在2000年专业开发者会议上提出的发展中的开发平台。下面的图表展示了.NET 框架应用程序开发的简单结构。



当一个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 paragraph标记符。


让我们看一看在Pocket IE中又会怎样:




再让我们看一看ASP.NET为Pocket IE生成的代码:

〈html〉
〈body〉
〈form id="ctrl1" name="ctrl1" method="post" action="Exp1.Aspx?631169274439268880"〉
〈div〉Hello, World!〈/div〉
〈/form〉
〈/body〉
〈/html〉

ASP.NET为Pocket IE生成HTML代码。的确,Mobile 控件有能力探测到所使用的浏览器并生成所支持的代码。所以,当在WAP模拟器中打开一个ASP.NET页面时得到的是WML代码。而在袖珍PC中打开时得到HTML代码。这样就给我们开发一次服务任何移动设备的能力。很Cool,不是吗?


移动应用程序设计概念


NET Mobile Web SDK提供了三个容器对象:MobilePage, Form 和Panel。MobilePage控件是移动应用程序的重要容器。一个单独的MobilePage可以有一个或多个Form控件。一个Form控件可以有0个或多个Panel控件。Panel控件用于给各种Mobile控件分组。


.NET Mobile Web SDK 中Mobile控件


Mobile控件可以被分为三个主要的组。它们是用户界面(UI)控件,验证(Validation)控件和功能(Utility)控件。用户界面控件是如Lable控件一样允许用户控制用户界面的一组控件。验证控件允许我们验证用户的输入如RequiredFieldValidator控件,这些控件在向服务器发送数据之前验证用户输入的数据。功能控件是诸如日历控件这一类的控件。


以下表格展示了以上各个类别的控件。


UI控件


控件名描述Command一个Command控件执行诸如提交信息之类的动作FormForm控件是一个或多个mobile控件的容器Image在移动设备中显示图象Label在移动设备中显示输出文本Link在窗体中创建一个超链接List在移动设备中显示一个选项列表MobilePage控制所有mobile控件的容器TextBox显示单行的文本框Textview显示多行的文本框


验证控件


控件名描述CompareValidator比较两个mobile控件CustomValidator自定义的检验器允许从控件中调用自己的检验过程RangeValidator限制检验器在一个范围内检测数据RegularExpressionValidator检测与控件指定的表达式不符的数据RequiredFieldValidator检测用户在这一区域输入的数据ValidationSummary显示一个所有发生的检验过程的报告


功能控件


控件名描述Call拨打一个电话号码Calendar显示一个日历AdRotator随机显示一个广告


自动分页是.NET Mobile Web SDK的优势之一。.NET远行时会处理目标设备的页面显示问题。对于不同的Mobile控件会采取不同的分页处理形式。例如,对于List控件,分页由该控件的PageSize属性处理。这个属性根据目标设备自动设置。当在运行时显示页面时,panel控件里的控件就会呆在一起。


一个简单的例子


让我们写一个简单应用程序,显示一个文本框接受输入并在下一个窗体中显示。


〈%@ Page Inherits="System.Mobile.UI.MobilePage" %〉
〈%@ Register TagPrefix="mobile" Namespace="System.Mobile.UI" %〉
〈Script language="VB" runat="server"〉
Sub Btn_OnClick(Src As Object, E As EventArgs)
‘move to the next mobile form
ActiveForm = frm2
‘display the name.
EnteredName.Text = "Your name is: " & YourName.Text
End Sub
〈/Script〉
〈mobile:Form id="frm1" runat=server〉
〈mobile:Label runat=server〉Your Name:〈/mobile:Label〉
〈mobile:TextBox runat="server" id="YourName" /〉
〈mobile:Command runat="server" id="btn" 〉Ok
〈/mobile:Form〉
〈mobile:Form id="frm2" runat=server〉
〈mobile:Label runat="server" id="EnteredName" /〉
〈/mobile:Form〉
在以上的代码中,创建了两个窗体。第一个窗体的id为frm1, 第一个窗体的idfrm2。之所以使用这个方法是因为Mobile Form控件不支持name属性,而支持id属性。ASP.NET运行时就是通过这样的方法来确认窗体的。在第一个窗体中,添加了一个lable控件,一个textbox控件和一个button控件。当点击button时,服务器端的VB子程序(Btn_OnClick)就被调用。这对于那些熟悉VB的人来说就象在家里一样亲切。在处理VB子程序的事件里,通过给frm2设置ActiveForm方法来跳到下一个窗体。然后访问定义在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


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的信息,请查看以下的相关链接。

时间: 2024-10-30 16:39:23

创建移动Web应用程序的相关文章

利用Web存储工具创建HTML5 Web应用程序

HTML5 提供了新的语义元素,还提供了恰当的使用应用程序缓存器.JavaScript worker.新版本的 XMLHttpRequest 和一种名为 Web 存储的工具创建 HTML Web 应用程序的方式.本文将探讨 Web 存储的强大功能,以及它成为一种优于 cookies 的存储方法的原因.通过本文您将了解基本概念.浏览器支持和 HTML5 Web 存储对象. Cookies 从 JavaScript 出现之初就一直存在,所以在 Web 上存储数据并不是个新概念.不过Web 存储是数据

winform-在vs2010里面创建C#web应用程序时出错崩溃重启

问题描述 在vs2010里面创建C#web应用程序时出错崩溃重启 只有在C#里面才出错,在VB里面是没问题的.新建其他项目没问题,如winformwpf等没问题. PS.重装了无数次,之前是专业版又换了旗舰版还是不行. 解决方案 检查下电脑是否感染了360等流氓软件,如果重装VS没用,建议重装系统,这是最简单和快速,并且确定100%有效的办法. 解决方案二: 真心不想重装系统,装过好几次了 解决方案三: 重新设置开发环境,在设置选项里设置好

Java 开发 2.0: 使用方便的 EC2--快速创建 CRUD Web 应用程序并在 Amazon Elastic Compute Cloud 上运行它

提供一个 EC2 实例来托管 Java Web 应用程序将非常简单.在这一期 Java 开发 2.0 中,我们将快速构建一个利用 Groovy.Spring 和 Hibernate(通过 Grails 框架)的 Web 应用程序并将其部署到一个 EC2 实例. 正如您从 "Java 开发 2.0:您也可以租用 EC2" 中了解到的一样,Amazon 的 Elastic Compute Cloud (EC2) 是一个用于托管(Linux®.OpenSolaris 甚至 Windows®)

ASP.NET+Atlas创建客户端Web应用程序

asp.net|web|程序|创建|客户端 提要 本文介绍了Atlas框架,并探讨它的客户端和服务器端类库及其编程模型.另外,本文还详细剖析了一个支持Atlas功能的示例Web应用程序. 一. 开发环境说明 本文中所提供的信息适用于下列技术:Asp.net 2.0,Asp.net Atlas CTP,Visual Studio Professional 2005和Visual Web Developer 2005. 二. 简介 Atlas是一个框架的代号,该框架对于客户端Web应用程序的开发方面

保护您用Ajax创建的Web应用程序

所有应用程序,包括这些使用 Ajax 技术构建的应用程序,很容易被用来危害网站和驱动网站的数据库.在本文中, 您将了解一些 Ajax 技术易受到的威胁以及如何预防它们. Ajax 在 Web 开发领域日益兴盛,受众多http://www.aliyun.com/zixun/aggregation/7155.html">开发人员热捧,这是因为它: 能够创建数据驱动网站所依赖的健壮 Web 应用程序 意味着提高网站速度和可用性 然而,这项被许多 Web 开发人员用来基于 Web 的应用程序模仿传

js 面向对象的技术创建高级 Web 应用程序_js面向对象

JavaScript 对象是词典 在 C++ 或 C# 中,在谈论对象时,是指类或结构的实例.对象有不同的属性和方法,具体取决于将它们实例化的模板(即类).而 JavaScript 对象却不是这样.在 JavaScript 中,对象只是一组名称/值对,就是说,将 JavaScript 对象视为包含字符串关键字的词典.我们可以使用熟悉的"."(点)运算符或"[]"运算符,来获得和设置对象的属性,这是在处理词典时通常采用的方法.以 下代码段 复制代码 代码如下: var

MVC 5 第一章 创建MVC 5 web应用程序_实用技巧

1. MVC 5 应用程序环境配置(参考本人机器配置)     Win7 x64 Enterprise     Visual Studio Express 2013 for Web or Visual Studio 2013 2. 创建一个简单的MVC 5应用程序    启动VS2013(以Administrator权限,防止权限访问错误) 点击File->New->Project创建Web Project 选择Web项目模板,点击ASP.NET Web Application,输入项目名称及

如何使用AJAX技术构建优秀的Web应用程序

一. 简介 异步JavaScript+XML(即Ajax),是一种创建交互式web应用程序的Web开发技术.这种程序使用JavaScript和XML从客户端提交服务器请求,且整个过程中仅需要交换少量的数据而不必提交整个web页面.因此,这样的程序将更快和更具响应性,并将成为新一代客户机-服务器系统的重要基础技术之一.你可以在站点http://www.google.com/webhp?complete=1&hl=en处看到一种良好的AJAX实践技术展示.在此页面中,如果你把任何字母输入到文本框内,

使用AJAX技术构建更优秀的Web应用程序

ajax|web|程序 一. 简介 异步JavaScript+XML(即Ajax),是一种创建交互式web应用程序的Web开发技术.这种程序使用JavaScript和XML从客户端提交服务器请求,且整个过程中仅需要交换少量的数据而不必提交整个web页面.因此,这样的程序将更快和更具响应性,并将成为新一代客户机-服务器系统的重要基础技术之一.你可以在站点http://www.google.com/webhp?complete=1&hl=en处看到一种良好的AJAX实践技术展示.在此页面中,如果你把