英语原文共 51 页,剩余内容已隐藏,支付完成后下载完整资料
KnockoutJS入门
欢迎来到KnockoutJS入门。这本书专注于让读者对KnockoutJS核心概念有扎实的理解,例如MVVM和数据绑定,并致力于通过现实生活中的应用程序开发方案。所有的关于Knockout的核心库中的组件都有详细介绍,并概述了一些策略,使读者在开发Knockout时最好的利用时间。
这本书包含以下几个部分:
- 所以,什么是Knockout呢?--在这一部分,你将会知道Knockout做了什么,还有你将如何从他的功能中受益。
- 安装。只需五个步骤,你将会知道如何准备开始利用Knockout开发。
- 快速入门。在这一部分,你将会学习使用Knockout搭建一个常用的业务工具--一个库存管理应用程序。
- 你需要知道的最顶级的功能--这一部分说明了Knockout大量的扩展点和繁多的实用程序来帮助你平顺的开发你的应用程序。
- 人们应该知道--Knockout的核心开发团队正在持续的添加功能点和资源来帮助开发者。在这一部分,你将了解如何访问Knockout社区来获取最新动态。
- 什么是Knockout
在本节中,你将知道Knockout有什么用处,以及如何从他的功能中受益。
Knockout是一个javascript库
Knockout的核心,是一个简单的javascript文件,能被网站和网页应用程序包含引用,以扩展javascript功能,以及增强用户的开发经验。默认情况下,knockout不会对你的应用程序有任何影响,除非你专门编写代码来利用它。理解knockout和其他javascript框架和库被网页和网络应用程序被引用的工作原理是很重要的。
Knockout是一个MVVM库
一个Knockout被创造出来的原因是是使MVVM开发模式应用在网站和网页应用程序中。MVVM是一种为了便于测试的目的,将不同对象类的用户接口逻辑和业务功能区分开的开发方式。
我们努力编写易于测试的代码有很多目的(这是整本书的主题),但最大的原因是利于代码的可维护性,并提高质量的保证。正如我以前学过编写易于测试的代码,因为这样,我发现我的代码更地道也更容易维护。如果有的话,利用MVVM开发方式能够使我在较短的开发时间内,开发更可靠的应用程序,这发生在我只是简单的使用DOM事件和无组织的HTML页面逻辑快。
上图展示了公共组件和MVVM架构的通信流。我们可以看到,模型,视图和viewModel是那些积木,你必须知道如何从MVVM模式中获益。MVVM的首要原则就是定义了业务模型。模型是一个对象,通常最直接地代表你是在工作业务系统一个真实世界的物体。它具有实际性的名称行为的属性和方法。如果你准备做一个汽车的模型,它可能有如下属性:
- 最大速度(数字)
- 轮胎规格(数字)
- 厂商名称(字符串)
它也可能有如下方法:
- 按喇叭
- 向前行驶
MVVM的第二个原则是视图。一个视图的HTML标记介绍了布局,元素(按钮,文本框),颜色,和视觉的部件等用户界面。它没有嵌入任何逻辑代码。它是完全声明的(所有需要的视图部分是在HTML标记中纯粹的描述)。
MVVM风格的第三部分是ViewModel。ViewModel提供了view和model之间的联系。如果你是在做一个关于显示汽车的ViewModel,它可能有如下属性:
- 汽车集合(数组)
- 选择的汽车(对象)
他可能有如下方法:
- 增加汽车
- 整理汽车
ViewModel真的可以让你保持业务逻辑在你的模型对象中,还有创造自己的用户接口需要的逻辑。这个术语是“关注点分离”,这点对或大或小的网络应用架构都非常有用。
MVVM最后的原则是绑定的概念。绑定是一种想法,将用户界面元素(如HTML元素)函数和对象的属性绑定到VIewModal的元素和属性上。举一个绑定的例子:比如需要将用户界面上,增加汽车的按钮和VIewModal中增加汽车的方法绑定在一起,甚至在用户界面上,有很多按钮需要绑定ViewModal中增加汽车的方法。
一个View作为在MVVM应用视图中,几乎总是在本质上的声明,绑定总是去查看声明。Knockout是没有什么不同,而且在HTML元素中大量使用HTML兼容的“data-bind”声明,
来使数据绑定生效。
Knockout美丽而坚实的MVVM库,使你可以集中精力开发业务逻辑和关键功能,应用程序或网站需要,而不是花费关键时刻编写代码附加/分离事件处理程序和手动更新文本框时的数据值的变化。
- 安装
在五个简单的步骤,你可以准备开始开发Knockout!
第一步,需要我干嘛。
至少你需要以下几步,保证自己跟上例子。
- 一个浏览器。
- 一个文本编辑器。
- 计算机上起码有2M的空间。
- 一个基本的网络服务器(下面解释)
在大多数操作系统中,只要你能安装,就可以进行Knockout的开发并使用上面列出的工具。
基于本指南,我们将使用谷歌浏览器作为我的网络浏览器。它是免费的,可以安装在windows和苹果操作系统中。你可以在如下地址找到它:http://www.google.com/chrome。我的文本编辑器的选择,实际上会照顾我需要一个文本编辑器和一个Web服务器。我将使用微软的WebMatrix开发工具。它是免费的,可以运行在Windows操作系统下。你可以在如下地址下载它:http://www.microsoft.com/web/webmatrix/。我将使用IIS作为Web服务器。它可以从http://www.microsoft.com/en-us/download/details.aspx?id=1038下载。如果你是苹果或Linux操作系统,有大量很好的文本编辑器和网络服务器在那里,你可以免费下载和安装。
第二步,创建一个起始网站。
现在,我们有我们的工具,我们需要为我们的应用程序创建一个工作台。我用这个词
“工作台”,我们将创建和编辑很多不同的文件,我们使用它的指南。有些会被简单的学习使用,而有些则会成为最终的应用程序。一开始,我通常建议在一个一目了然的地方(例如你的桌面)建一个文件夹来存储包含我们即将用到的所有文件。我的文件夹最终会像这样:
这个JS文件夹将会存储所有的javascript文件,这个CSS文件夹将会存储我们在Knockout应用程序中使用的所有CSS文件。我们有大量的方法来创建这个站点的结构,但我的最喜欢的方式就是访问和下载http://html5boilerplate.com/他们的入门网站。它提供了一个网站的结构(或者说模板),还包括很多的事情你不想去尝试和记住如何去做的事(比如为你的网站包含robots.txt这个文件)。
一旦你创建你的站点文件夹,请创建一个index.html 文件。出于遵循本指南的目的,我们将会看到如下的HTML代码:
这将会是开发我们应用程序的起点。我们已经为javascript文件合CSS文件留下了占位符,而且我们已经创建了一个“content”区域来放置我们主要的标记。
步骤3,下载Knockout
现在,好戏登场了。为了开发Knockout应用程序,我们显然需要先有Knockout的javascript库,为了达到这样的目的,最好的方法就是从Knockout官方网站上下载它:http://www.knockoutjs.com/。一旦你进入Knockout官方网站,只需要点击页面上方的连接“下载/安装”,然后跟随页面的说明就可以了。
为了跟随这个指南,我们将会使用Knockout2.1.0的调试版本文件,而且我们将会把这个文件放到我们之前创建好的JS文件夹中。
步骤4,开发主要的javascript应用程序
现在我们要创建一个javascript文件,将会存储我们应用程序的所有代码。我们将会创建一个app.js的javascript文件,然后将它放在我们网站的JS文件夹中。最开始,这个文件只会是一个空的JS文件,像下面这样:
既然我们已经下载了Knockout文件以及我们主要的JS文件也创建了,我们需要到index.html页面中去包含它们。在包含javascript文件时,我们只需要用到传统的HTML标签就可以了。下面的HTML例子说明了我们在页面底部应该如何引用我们的Javascript文件。
我们是因为一些原因才在页面底部引用这些javascript文件。第一个原因是,这样做可以使页面更快速的呈现在最终用户面前,因为那些视觉标记都会在javascript文件加载之前显示,因此当页面引用的javascript文件被下载和加载到浏览器缓存中时,页面才会显示到浏览器屏幕上。其次,Knockout是一个工作在元素对象模型(DOM)下的javascript库,为了达到这样的目的,浏览器需要在执行Knockout之前,先创建和渲染DOM元素中的内容。也有很多其他的理由存在解释了为什么要在HTML底部引用javascript文件,但这些讨论超出了这个指南的范围。所以,仅仅是为了一种最佳实践,我们把我们的javascript文件放在页面的底部,来尽可能的给我们的用户最好的体验。
第五步,启动应用程序
你在前面的截图中可以看到,WebMatrix(微软开发工具)已经选择了11790端口来为我的Knockout表单服务,而且这很可能取决于你正在使用的机器。现在显示的“Hello World!”是我们Index.html页面中简单的内容。很好,我们现在有一个起作用的Javascript应用程序了。
为了确保我们的javascript文件确实加载了并且没有出任何错,我们需要打开浏览器的调试工具来做一个小调查。在Chrome中,我可以打开调试器通过点击扳手图标(右上角)和去点击“工具|开发人员工具”。然后,浏览器的调试工具将您的浏览器窗口的下半部分中显示,如下面的截图所示:
如果我们点击调试器的“源”标签页,我们可以看到的JavaScript文件被页面加载了,还能看到页面其他的内容。在接下来的截图中,我们能同时看到App.js和我们刚下载的Knockout库文件,已经确定,页面正确载入了相关文件。同样需要重点注意的是,在页面上有没有任何的javascript错误。我们可以看到这并指出,调试器的右下角是没有任何错误的警报。如果我们确实有一些页面上的错误,在它里面你会看到一个红色的警告符号与错误的数量。
如果我们没有使用谷歌浏览器,你可以简单地在网上搜索浏览器的文档以确定它是如何在自己的调试程序处理,并显示JavaScript文件和错误(或开发工具)。
总结
你现在有了开发Knockout的工作空间。恭喜你!在这一章节,我们已经学到了以下几点:
- 查找、下载和安装开发Knockout(和一般的HTML/javascript)所需的基本工具。
- 在一个空的文件目录下创建一个网站。
- 下载和安装外部的javascript文件,例如Knockout,将它们引入网页中。
- 创建我们的javascript文件,并将它们引入我们的网页中。
- 基于开发和调试的目的,在本地建立一个网站。
- 快速入门
有些时候学习一个库的最好的方法就是用它来解决现实生活中的问题。在这一章节,我们将会学着去用Knockout来开发一个常用的工具--一个库存管理应用程序。
业务概述
在我们能够开始建立我们的应用程序之前,我们需要对业务需求有透彻的理解,关于我们的应用程序将要解决的事情。这个应用程序需要能处理以下的事情:
- 公司销售的每一个产品,都要跟踪库存数量和描述。
- 指定售价,成本,以及产品的现有数量。
- 当公司决定销售它们时,应用程序能够创造新的产品。
- 当公司决定停止销售老旧产品时,应用程序能够销毁它们。
第一步,定义一个命名空间
现在,在我们实际去开发我们的应用程序之前,有一个很重要的事情,那就是我们需要解决如何将我们应用程序的代码和逻辑与其余的浏览器的对象和本地的方法区别开。你也许会想,为什么我们要在这样一个小例子中去专注这些,因为这样做能够尽可能的展示javascript架构最佳实践。使用命名空间,即使在一个小的应用程序中,确保如果你的应用程序在第一次写的(有很多的代码库将)之后开始使用,它可以保持易于维护和与第三方代码(如
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[145989],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料