Kendo UI 支持开发Web应用,前面介绍的SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS开发移动是不是一个好的选择不在本文的讨论之中。Kendo UI Mobile提供了一种快速开发跨手机平台的方法(Kendo UI可以使得这种Web应用在界面上看起来和本地应用非常类似)。如果你的移动应用需要数据的支持,了解一些JSON方面计的知识也是必须的。
借助于PhoneGap 等工具可以HTML5打包成移动平台的本地应用,并支持使用JavaScript访问一些平台相关的功能,如GPS,Camera等功能,有兴趣的可以参考相关文档。

下面三点为构成Kendo 移动应用的几个组成部分:

  1. Application: Kendo 移动应用的主应用类,用来管理应用部分部分之间切换,应用页面历史,加载View以及其它一些重要的移动应用相关的任务。
  2. Layout: 定义移动应用UI的布局,类似于Web应用的MasterPage,主要可以用来定义不同View之间一些公用的部分,比如菜单。
  3. Views: 移动应用的每个页面,每个应用包含一个或多个页面。

Layouts 和 View 使用HTML来定义,而Application 为JavaScript。 下面的步骤给出了编写Kendo UI移动应用的基本步骤。

第一步: 创建HTML页面

Kendo UI移动应用可以使用简单的HTML页面来创建,这里我们创建一个简单的index.html 如下:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5     <!--TODO: Add CSS links-->
6 </head>
7 <body>
8  
9     <!--TODO: Add JavaScript referneces-->
10 </body>
11 </html>

第二步:添加Kendo UI Mobile的引用

添加Kendu UI Mobile CSS和Javascript的引用。

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9  
10     <script src="js/jquery.min.js"></script>
11     <script src="js/kendo.all.min.js"></script>
12 </body>
13 </html>

第三步:定义应用布局文件

Layout为应用UI的模板,应用所有的View的内容都使用模板来显示,一个Layout可以包含任意的内容,通常它包含有标题头和任务栏。比如下面的Layout:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9     <section data-role="layout" data-id="default">
10         <header data-role="header">
11             <div data-role="navbar">My App</div>
12         </header>
13         <!--View content will render here-->
14         <footer data-role="footer">
15             <div data-role="tabstrip">
16                 <a href="#home">Home</a>       
17             </div>
18         </footer>
19     </section>
20  
21     <script src="js/jquery.min.js"></script>
22     <script src="js/kendo.all.min.js"></script>
23 </body>
24 </html>

代码中使用data-role属性,这个属性用来建立HTML和Kendo UImobile 库之间的联系。因此

1 <section data-role="layout" data-id="default">

在应用初始化时,这部分定义将转换为Layout定义。 data-id为该Layout的id,后面定义的view 可以通过这个id来引用某个layout.
最后,为完整起见,这段代码还使用了NavBar和TabStrip两个用在移动应用中的UI组件。

第四步:构造View

创建好Layout之后,应用至少要创建一个View用来显示,大部分应用包含有多个View,这里我们创建一个简单的View如下:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9     <div id="home" data-role="view" data-layout="default">
10         Hello Mobile World!
11     </div>
12  
13     <section data-role="layout" data-id="default">
14         <header data-role="header">
15             <div data-role="navbar">My App</div>
16         </header>
17         <!--View content will render here-->
18         <footer data-role="footer">
19             <div data-role="tabstrip">
20                 <a href="#home">Home</a>       
21             </div>
22         </footer>
23     </section>
24  
25     <script src="js/jquery.min.js"></script>
26     <script src="js/kendo.all.min.js"></script>
27 </body>
28 </html>

View定义使用data-role属性“view”, data-layout定义使用那个layout.

第五步:初始化移动应用

前面定义了一些HTML元素,还没有使用任何JavaScript,使用下面一行代码,可以使得前面定义的HTML变得和本地应用类似:

1 <script>
2     var app = new kendo.mobile.Application();
3 </script>

这样一个简单的移动应用就出现了,Kendo UI缺省情况下使用iOS 界面(如上图),在手机上运行会根据手机平台的不同选择合适的界面风格,你也可以通过指定平台类型,比如:

1 <script>
2     var app = new kendo.mobile.Application(document.body,
3     {
4         platform:'android'
5     });
6 </script>

来测试你的应用在不同平台上显示,也可以根据平台的不同,对应用做些调整,比如:

1 <div data-role="layout" data-id="foo" data-platform="ios">
2     <div data-role="header">iOS App</div>
3 </div>
4  
5 <div data-role="layout" data-id="foo" data-platform="android">
6     <div data-role="header">Android App</div>
7 </div>

注意的是data-platform属性目前只支持在layout中使用。

Kendo UI开发教程(27): 移动应用开发简介的更多相关文章

  1. HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)

    Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...

  2. Xamarin开发教程如何使用Xamarin开发Android应用

    Xamarin开发教程如何使用Xamarin开发Android应用 如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和 ...

  3. Kendo UI使用教程:Bower Packages

    [Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...

  4. Kendo UI使用教程:CDN服务

    [Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...

  5. Kendo UI使用教程:入门指南

    [Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...

  6. web前端开发教程系列-1 - 前端开发编辑器介绍

    目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...

  7. pyqt开发教程-搭建环境和开发示例

    搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...

  8. web前端开发教程系列-4 - 前端开发职业规划

    前言 关于我:小天 1). 架构师,项目经理,产品经理 2). 中间件研发 3). VPCC 云计算基础平台管理 4). 智慧旅游 5). 智慧教育 6). 一次失败的创业体验(爱邂逅网) 一. 在开 ...

  9. web前端开发教程系列-3 - 前端开发调试工具分享

    前言 一. Bug出现的原因 1. 主观原因或者是出现这么多浏览器的原因 2. 另外客观原因: 二. 调试工具 1. Firebug 2. Chrome 3. IE11 4. IETester 5. ...

随机推荐

  1. lib32gcc1 : Depends: gcc-4.9-base (= 4.9-20140406-0ubuntu1) but 4.9.3-0ubuntu4

    运行:sudo apt-get update 然后重新安装lib32gcc1

  2. DDL\DML\DCL\DQL

    [DML] DML = Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言.具体是指是UPDATE更新.INSERT插入 ...

  3. Ubuntu网络频繁掉线解决方案

    年底了,实验室终于给配了个电脑(Ubuntu系统),博主欣喜若狂啊,然而装好后发现无线网频繁掉线,重启网络后能正常上网2~3分钟然后又掉线,再重启又能上网2~3分钟然后再掉线,博主那个不爽啊,于是各种 ...

  4. Week3(9月23日):例子更Powerful更完整了,哇咔咔

    Part I:提问  =========================== 1.控制器中动作方法的返回类型有哪些? 2.如果控制器代码如下,请问浏览器中如何输入什么路由访问? public clas ...

  5. 简单实用的下拉菜单(CSS+jquery)

    原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  6. 执行Git命令时出现 SSL certificate problem 的解决办法

    比如我在windows下用git clone gitURL 就提示  SSL certificate problem: self signed certificate 这种问题,在windows下出现 ...

  7. C#动态增加边框

    if (this.Width >= 600) { timer1.Enabled = false; } else { this.Width += 30; }

  8. STSR round#1

    乱搞玩出新高度.....#1

  9. MySQL中innodb引擎分析(初始化)

    MySQL的存储引擎是以插件形式工作的,这应该是MySQL的一大特色了吧! 依据<深入理解MySQL>的内容,5.1版本号时存储引擎的插件化都还不是彻底,确切的说是刚加入的特性.为MySQ ...

  10. 130825组队赛-Regionals 2012, North America - East Central NA

    A.Babs' Box Boutique 一道简单的dfs搜索题,需要两两比较,然后搜到底,得到最大值就行了.比赛时队友写的,我只负责debug..赛后自己写的.. #include<iostr ...