Kendo UI 支持开发Web应用,前面介绍的SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS开发移动是不是一个好的选择不在本文的讨论之中。Kendo UI Mobile提供了一种快速开发跨手机平台的方法(Kendo UI可以使得这种Web应用在界面上看起来和本地应用非常类似)。如果你的移动应用需要数据的支持,了解一些JSON方面计的知识也是必须的。
借助于PhoneGap 等工具可以HTML5打包成移动平台的本地应用,并支持使用JavaScript访问一些平台相关的功能,如GPS,Camera等功能,有兴趣的可以参考相关文档。
下面三点为构成Kendo 移动应用的几个组成部分:
- Application: Kendo 移动应用的主应用类,用来管理应用部分部分之间切换,应用页面历史,加载View以及其它一些重要的移动应用相关的任务。
- Layout: 定义移动应用UI的布局,类似于Web应用的MasterPage,主要可以用来定义不同View之间一些公用的部分,比如菜单。
- Views: 移动应用的每个页面,每个应用包含一个或多个页面。
Layouts 和 View 使用HTML来定义,而Application 为JavaScript。 下面的步骤给出了编写Kendo UI移动应用的基本步骤。
第一步: 创建HTML页面
Kendo UI移动应用可以使用简单的HTML页面来创建,这里我们创建一个简单的index.html 如下:
5 |
<!--TODO: Add CSS links--> |
9 |
<!--TODO: Add JavaScript referneces--> |
第二步:添加Kendo UI Mobile的引用
添加Kendu UI Mobile CSS和Javascript的引用。
6 |
<link href="css/kendo.mobile.all.min.css" rel="stylesheet" /> |
10 |
<script src="js/jquery.min.js"></script> |
11 |
<script src="js/kendo.all.min.js"></script> |
第三步:定义应用布局文件
Layout为应用UI的模板,应用所有的View的内容都使用模板来显示,一个Layout可以包含任意的内容,通常它包含有标题头和任务栏。比如下面的Layout:
6 |
<link href="css/kendo.mobile.all.min.css" rel="stylesheet" /> |
9 |
<section data-role="layout" data-id="default"> |
10 |
<header data-role="header"> |
11 |
<div data-role="navbar">My App</div> |
13 |
<!--View content will render here--> |
14 |
<footer data-role="footer"> |
15 |
<div data-role="tabstrip"> |
16 |
<a href="#home">Home</a> |
21 |
<script src="js/jquery.min.js"></script> |
22 |
<script src="js/kendo.all.min.js"></script> |
代码中使用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如下:
6 |
<link href="css/kendo.mobile.all.min.css" rel="stylesheet" /> |
9 |
<div id="home" data-role="view" data-layout="default"> |
13 |
<section data-role="layout" data-id="default"> |
14 |
<header data-role="header"> |
15 |
<div data-role="navbar">My App</div> |
17 |
<!--View content will render here--> |
18 |
<footer data-role="footer"> |
19 |
<div data-role="tabstrip"> |
20 |
<a href="#home">Home</a> |
25 |
<script src="js/jquery.min.js"></script> |
26 |
<script src="js/kendo.all.min.js"></script> |
View定义使用data-role属性“view”, data-layout定义使用那个layout.
第五步:初始化移动应用
前面定义了一些HTML元素,还没有使用任何JavaScript,使用下面一行代码,可以使得前面定义的HTML变得和本地应用类似:
2 |
var app = new kendo.mobile.Application(); |

这样一个简单的移动应用就出现了,Kendo UI缺省情况下使用iOS 界面(如上图),在手机上运行会根据手机平台的不同选择合适的界面风格,你也可以通过指定平台类型,比如:
2 |
var app = new kendo.mobile.Application(document.body, |
来测试你的应用在不同平台上显示,也可以根据平台的不同,对应用做些调整,比如:
1 |
<div data-role="layout" data-id="foo" data-platform="ios"> |
2 |
<div data-role="header">iOS App</div> |
5 |
<div data-role="layout" data-id="foo" data-platform="android"> |
6 |
<div data-role="header">Android App</div> |
注意的是data-platform属性目前只支持在layout中使用。
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- Xamarin开发教程如何使用Xamarin开发Android应用
Xamarin开发教程如何使用Xamarin开发Android应用 如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和 ...
- Kendo UI使用教程:Bower Packages
[Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...
- Kendo UI使用教程:CDN服务
[Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...
- Kendo UI使用教程:入门指南
[Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...
- web前端开发教程系列-1 - 前端开发编辑器介绍
目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...
- pyqt开发教程-搭建环境和开发示例
搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...
- web前端开发教程系列-4 - 前端开发职业规划
前言 关于我:小天 1). 架构师,项目经理,产品经理 2). 中间件研发 3). VPCC 云计算基础平台管理 4). 智慧旅游 5). 智慧教育 6). 一次失败的创业体验(爱邂逅网) 一. 在开 ...
- web前端开发教程系列-3 - 前端开发调试工具分享
前言 一. Bug出现的原因 1. 主观原因或者是出现这么多浏览器的原因 2. 另外客观原因: 二. 调试工具 1. Firebug 2. Chrome 3. IE11 4. IETester 5. ...
随机推荐
- iOS 8 强制横屏
最近用到视频播放功能:(Vitamio, 注:在Build Setting 里面的 Other Link Flag 添加-all_load) iOS 8的屏幕旋转比较坑, 使用以下代码可以强制旋转 - ...
- Android 应用内HttpClient 与 WebView 共享 Cookie
DefaultHttpClient httpclient=....; String toUrl="https://cap.cityu.edu.hk/studentlan/details.as ...
- CentOS 6 用SVN自动提交文件到web服务器
关于 svn 的安装 参考:[转]Linux(centOS6.5)下SVN的安装.配置及开机启动 经过两天的各种尝试总算解决了,总结如下: 1.在建立库时注意 要让库的名称和 要同步的 web目录名 ...
- 生成pdf文件
- 基于visual Studio2013解决C语言竞赛题之0515国名排序
题目
- 进入MFC讲坛的前言(四)
MFC的消息映射机制 MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快.为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息 ...
- Pencil OJ 01 开发的准备
操作系统 ubuntu-12.04.5-desktop-amd64.iso 基本应用 Node 0.12.7 MongoDB 3.0.4 Robomongo 0.8.4 Atom 参考资料 OJ hu ...
- Failed to retrieve procctx from ht. constr
给一个客户巡检时发生这样的少见的集群报错: [ OCRSRV][1220598112]th_select_handler: Failed to retrieve procctx from ht. c ...
- POJ2485——Highways
Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has no public h ...
- struct 和 class 不同点
在 C++ 里面 struct 和 class 没有本质的差别 仅仅是成员和继承方式的默认不同 struct 是 public class 是 private 我的个人建议是仅仅要须要实现成员函数的就 ...