零、前言

移动设备的突然爆发使移动应用开发成为程序员最热门的职业领域之一。多个平台共享的全球智能手机/平板电脑市场给移动应用开发者和公司提出了一个严峻的问题,因为每个移动平台都有不同的开发框架和编程语言来开发本地应用。

如何实现 WORA ( 写一次,跑哪里)?

显而易见的解决方案是 HTML5,它得到了所有最新浏览器的支持,并且非常支持开发丰富的用户界面。随着 PhoneGap 等平台的引入,基于 HTML5 的应用成为了一把双刃剑,PhoneGap 将原生操作系统 API 暴露给了用 HTML5/JavaScript 和 CSS3 开发的应用。它们可以使用一个代码库进行开发,并作为移动网站以及可以安装在不同平台上的移动应用进行部署,而不是开发本地应用,如果针对多个平台,则会产生多个代码库。业内大量理解 HTML、JavaScript 和 CSS 的网络开发人员的出现,推动了移动应用开发向 HTML5 方向的转变。随着企业和消费领域对越来越多移动应用的需求增加,不同类型的基于 HTML5 的开发框架浮出水面,并且仍在浮出水面!

来自 Telerik 的 Kendo UI Mobile 是发展最快的基于 HTML5 和 jQuery 的跨浏览器移动应用开发框架之一。KendoUI Mobile 通过提供开箱即用的自适应原生 UI 渲染,无需任何额外的编码,并支持 Kendo 基础应用开发框架,使自己与其他框架相区别。虽然其他移动开发框架只专注于用户界面部分,但剑道用户界面为端到端的客户端开发提供了支持。

随着世界越来越接近 HTTP 协议,网络应用编程接口(通过普通 HTTP 公开的服务)正在获得势头。ASP.NET 网络应用编程接口有助于构建强大的网络应用编程接口,这些接口可以被丰富的客户端使用,现在是首选.NET 开发人员构建 RESTful 应用。

这本书将向您介绍剑道 UI Mobile,并向您展示如何使用 ASP.NET Web API 作为服务后端来构建端到端的移动应用。

这本书涵盖了什么

第一章使用 HTML5 构建移动应用,帮助一个对移动应用开发世界比较陌生的程序员,踏上了使用 Kendo UI Mobile 构建端到端应用的旅程。本章详细介绍了不同类型的移动应用,如本地、混合和移动网站,介绍了剑道用户界面移动,并总结了移动应用的设计准则。

第二章构建你的第一个移动应用,向你详细介绍了剑道 UI 移动代码,并将开发电影票应用的一些屏幕,解释视图、布局、导航等等。从这一章开始,我们开始动手写一些非常酷的代码。

第 3 章服务层带 ASP.NET Web API,为您介绍微软最新的新增功能之一.NET 堆栈,ASP.NET 网络应用编程接口。我们将看到路由、参数绑定、内容协商、基于令牌的身份验证、授权,并编写一些将用于示例电影票应用的 API 方法。非微软背景的读者可以跳过这一章,也可以在自己选择的平台上编写具有相同功能的服务,或者使用我们在互联网上托管的服务。前端剑道 UI Mobile 客户端应用独立于后端 API 技术,只要接受并返回相同的 JSON 数据,就可以与任何服务平台协同工作。

第 4 章使用框架元素的集成,讨论了常见的剑道框架元素,如数据源、模板和 MVVM,它们在移动和网络应用开发中都有使用。然后,我们将通过构建用户帐户屏幕,讨论揭示模块模式和应用架构,开始与电影票应用的后端集成。

第五章探索移动小部件,为大家介绍剑道 UI 移动框架的核心——移动小部件。我们将深入探讨诸如列表视图、按钮、按钮组等小部件。使用所提供的 js 提琴示例,用户可以玩转示例代码。

第 6 章动作单、ModalView 和更多小部件,从上一章继续,我们将亲自探索更多剑道 UI Mobile 小部件。

第 7 章电影票应用–完全集成,通过与剑道 UI Mobile 小部件、框架元素和 ASP.NET Web API 服务的集成,完成了我们的电影票示例应用。

这本书是给谁的

这本书是为有网络开发背景的新手和专家程序员设计的,他们希望为企业和消费者领域构建移动应用或移动网站。要很好地利用这本书,需要对 HTML、CSS 和 jQuery 有基本的了解。

这本书你需要什么

要充分利用这本书,需要以下软件:

  • 剑道 UI 手机:免费试用或商业授权版(每位开发者 199 美元)
  • jQuery 1.8.1 :自由
  • 波纹仿真器:免费
  • MS Visual Studio 2010/2012 速成版,ASP.NET MVC4:这些都是可以免费下载的,只有当你是. NET 程序员并且有兴趣探索 ASP.NET Web API 的时候才需要。

惯例

在这本书里,你会发现许多区分不同种类信息的文本风格。以下是这些风格的一些例子,以及对它们的含义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“现在让我们在MoviesController.cs中创建一个动作方法,它调用GetMovieList BLL 方法。”

代码块设置如下:

public class TrailerBO
{
    public string MovieName { get; set; }
    public string VideoUrl { get; set; }
}

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

<!-- Movies main view --->
<div data-role="view" id="mt-home-main-view" data-title="Movies"
        data-init="MovieTickets.movieList.initialize"
 data-model="MovieTickets.movieList.viewModel"
        data-layout="mt-main-layout" class="no-backbutton">

任何命令行输入或输出都编写如下:

customEvent fired
customEvent fired with data: Kendo UI is cool!

新名词重要词语以粗体显示。您在屏幕上看到的单词,例如菜单或对话框中的单词,出现在文本中,如下所示:向左打开向右打开两个按钮放置在视图布局中的导航栏小部件上,可以单击这两个按钮打开抽屉小部件,如以下代码所示:

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或可能不喜欢什么。读者反馈对我们开发您真正能从中获得最大收益的标题非常重要。

要给我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>发送电子邮件,并通过您的消息主题提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参阅我们在www.packtpub.com/authors上的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码和图形

您可以从您在http://www.packtpub.com的账户中下载您购买的所有 Packt 书籍的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

可以从http://www . packtpub . com/sites/default/files/downloads/0922 ot _ coloredimages . pdf下载彩色图形

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表 提交 表格链接,并输入您的勘误表详情。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站上,或添加到该标题的勘误表部分下的任何现有勘误表列表中。通过从http://www.packtpub.com/support中选择您的标题,可以查看任何现有的勘误表。

盗版

互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>联系我们,我们将尽最大努力解决。