《Vue.js前端开发快速入门与专业应用》txt下载在线阅读全文,求百度网盘云资源

JavaScript012

《Vue.js前端开发快速入门与专业应用》txt下载在线阅读全文,求百度网盘云资源,第1张

《Vue.js前端开发》(陈陆扬)电子书网盘下载免费在线阅读

链接: https://pan.baidu.com/s/1gLVGnguvga7-MeAOvC3Rtg

提取码: 9bcc

书名:Vue.js前端开发

作者:陈陆扬

豆瓣评分:6.2

出版社:人民邮电出版社

出版年份:2017-2-1

页数:196

内容简介:

本书分为10章,包括简介、基础特性、指令、过滤器、过渡、组件、状态管理、常用插件、工程实例和Weex打包。本书从简单的单个实例和基础语法,到工程实例,将系统地讲述Vue.js在项目中的适用场景和具体操作。本书的特点在于案例详实,使读者体会到框架的优点和便捷之处,提升开发效率,最后能将Vue.js运用到实际项目中,避免纸上谈兵的尴尬。

React

React 和 Vue 有许多相似之处,它们都有:

使用 Virtual DOM

提供了响应式(Reactive)和组件化(Composable)的视图组件。

保持注意力集中在核心库,伴随于此,有配套的路由和负责处理全局状态管理的库。

相似的作用域,我们会用更多的时间来讲这一块的比较。不仅我们要保持技术的准确性,同时兼顾平衡。我们指出React比Vue更好的地方,例如,他们的生态系统和丰富的自定义渲染器。

React社区在这里非常积极地帮助我们实现这一平衡,特别感谢来自 React 团队的 Dan Abramov 。他非常慷慨的花费时间来贡献专业知识,来帮我们完善这个文件,直到我们都满意。

这么说,就是希望你能对这两个库的比较的公平性感到放心。

性能简介

到目前为止,在现实的测试中,Vue 是优于 React 的(通常至少快20%-50%,尽管在某些情况下还要更快)。我们可以提供一个到这个参照项目的链接,但是坦率的说,所有的参照在某些方面是有缺陷的,很少有像你所写的一个真实应用。那么,让我们详细了解下吧。

渲染性能

在渲染用户界面的时候,DOM的操作是最昂贵,不幸的是没有库可以让这些原始操作变得更快。

我们能做的最好的就是:

尽量减少DOM操作。Vue 和 React 都使用虚拟DOM来实现,并且两者工作一样好。

尽量减少除DOM操作以外的其他操作。这是 Vue 和 React的一个不同的地方。

假如说,在React中,渲染一个元素的额外开销是1,而平均渲染一个组件的开销是2。在Vue中,一个元素的开销更像0/vue/dist/vue.js"></script> 然后就可编写Vue代码并应用到生产中,而不用担心性能问题。

由于起步阶段不需学JSX,ES2015 或构建系统,所以建立应用花的时间会更少。

本地渲染

ReactNative能使你用相同的组件模型编写有本地渲染能力的APP(IOS或Android)。能同时跨多平台开发,对开发者是非常棒的。相应地,Vue和Weex会进行官方合作,Weex是阿里的跨平台用户界面开发框架,Weex 的 JavaScript 框架运行时用的就是Vue。这以为着不仅在浏览器,在 IOS 和 Android 上面也可以用 Vue 来进行开发。

在现在,Weex 还在积极发展,成熟度也不能和 ReactNative 相抗衡。但是,Weex的发展是由世界上最大的电子商务企业的需求在驱动,Vue 团队也会和 Weex 团队积极合作确保为开发者带来良好的开发体验。

MobX

Mobx 在 React 社区很流行,实际上在Vue也采用了几乎相同的反应系统。在有限程度上,React + Mobx 也可以被认为是更繁琐的 Vue,所以如果你习惯组合使用它们,那么选择 Vue 会更合理。

Angular 1

Due的一些语法和Angular的很相似(例如 v-if vs ng-if)。因为Angular是Vue早期开发的灵感来源。然而,Augular中存在许多问题,在Vue中已经得到解决。

复杂性

在 API 与设计两方面上 Vue.js 都比 Angular 1 简单得多,因此你可以快速地掌握它的全部特性并投入开发。

灵活性和模块化

Vue.js 是一个更加灵活开放的解决方案。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循 Angular 1 制定的规则,这使让Vue能适用于各种项目。我们知道把决定权交给你,是非常必要的,就是是为什么提供Webpack template,让你用几分钟,去选择是否用高级特性,比如热模块加载、linting 、

Css extraction 等等。

数据绑定

Angular 1 使用双向绑定,Vue在不同组件间强制适用单向数据流。这使应用中的数据流清晰易懂。

指令与组件

在 Vue 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元 —— 有自己的视图和数据逻辑。在 Angular 中两者有不少相混的地方。

性能

Vue.js 有更好的性能,并且非常非常容易优化,因为它不使用脏检查。

在Angular 1中,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环(digest cycle)可能要运行多次。 Angular 用户常常要使用深奥的技术,以解决脏检查循环的问题。有时没有简单的办法来优化有大量 watcher 的作用域。

Vue.js 则根本没有这个问题,因为它使用基于依赖追踪的观察系统并且异步列队更新,所有的数据变化都是独立地触发,除非它们之间有明确的依赖关系。

有意思的是,Angular 2 和 Vue 用相似的设计解决了一些 Angular 1 中存在的问题。

Angular 2

Augluar 2完全是一个全新的框架。例如,它具有优秀的组件系统,并且许多实现已经完全重写,API也完全改变了。

TypeScript

Angular 1面向的较小的应用程序,Angular 2已转移焦点,面向的是大型企业应用。TypeScript被引用,这对那些喜欢用Java或者C#等类型安全的语言的人是非常有用的。

Vue也适合企业应用,也可以使用TypeScript来支持官方类型和用户贡献的类型,尽管这是可选的。

尺寸和性能

在性能方面,这两个框架都是非常快。但是如果你查看第三方参照,就可以得出 Vue 2 比 Angular2 要快的。

在尺寸方面,虽然 Angular 2 使用 tree-shaking 技术和编译技术能使代码尺寸减小。

即便包含编译器和全部功能 Vue2(23kb)比起 Angular 2(50kb)还是小的多。但是要注意,用 Angular 的 App 的尺寸缩减是用 tree-shaking 移除了那些框架中没有用到的功能,当随着引入功能的增多,尺寸会越来越大。

灵活性

Vue 官方提供了构建工具,但没限制你如何构建。有人喜欢用统一的方式构建,也有很多开发者喜欢这种灵活自由的方式。

学习曲线

开始使用Vue,你使用的是熟悉的HTML、符合ES5规则的JavaScript(也就是纯JavaScript)。有了这些基本的技能,你可以快速地掌握它(指南)并投入开发 。

Angular 2 的学习曲线是非常陡峭的。即使不包括TypeScript,它们开始指南中所用的就有ES2015标准的JavaScript,18个NPM依赖包,4个文件和超过3千多字介绍,这一切都是为了完成个Hello World。而Vue's Hello World就非常简单。

Ember

Ember 是一个全能框架。它提供大量的约定,一旦你熟悉了它们,开发会很高效。不过,这也意味着学习曲线较高,而且不灵活。在框架和库(加上一系列松散耦合的工具)之间权衡选择。后者更自由,但是也要求你做更多的架构决定。

也就是说,最好比较 Vue.js 内核和 Ember 的模板与数据模型层:

Vue 在普通 JavaScript 对象上建立响应,提供自动化的计算属性。在 Ember 中需要将所有东西放在 Ember 对象内,并且手工为计算属性声明依赖。

Vue 的模板语法可以用全功能的 JavaScript 表达式,而 Handlebars 的语法和帮助函数语法相比之下非常受限。

在性能上,Vue 甩开 Ember 几条街,即使是 Ember2.0 的最新Glimmer引擎。Vue自动批量更新,Ember 当性能关键处需要手动管理。

Knockout

Knockout 是MVVM领域内的先驱,并且追踪依赖。它的响应系统和Vue相似。它对浏览器支持以及所有的表现也是让人印象深刻的。它能最低支持到IE6,而Vue最低只能支持到IE9。

随着时间的推移,Knockout的发展已有所放缓,并且略显有点老旧了。比如,它的组件系统缺少完备的生命周期事件方法,尽管这些在现在是非常常见。以及相比Vue调用子组件的接口显得有点笨重。

如果你有兴趣研究,会发现它们在接口设计的构思理念上是不同的。这些通过各自创建的 simple Todo List 可以体现出来。或许有点主观,但是很多人认为Vue的API接口更简单结构更优雅。

Polymer

Polymer 是另一个由谷歌赞助的项目,事实上也是Vue的一个灵感来源。Vue的组件可以粗略的类比于Polymer的自定义元素,并且两者具有相似的开发风格。最大的不同之处在于,Polymer是构建于最新版的Web Components标准之上的,并且需要非凡的polyfills来工作(性能下降),浏览器本身不支持这些功能。相比而言,Vue不需要依赖polyfills来工作,最低到IE9。

在 Polymer 1.0版本中,为了弥补性能,团队非常有限的使用数据绑定系统。例如,在Ploymer中支持的唯一表达式只有布尔值否定和单一的方法的调用,它的computed方法的实现也不是很灵活。

Polymer 自定义的元素是用HTML文件来创建的,这回限制你的普通的JavaScript/CSS(和被现代浏览器普遍支持的语言特性)。相比之下,Vue的单文件允许你非常容易的使用ES2015和你想用的Css的预编译处理器。

当部署到生产环境的时候,Polymer建议使用HTML Imports加载所有资源。而这要求服务器和客户端都支持Http 2.0协议,且浏览器实现了标准。这是否可行就取决于你的目标用户和部署环境了。如果状况不佳,你必须用Vulcanizer工具来来打包Polymer元素。在这方面,Vue 可以结合异步组件的特性和Webpack的代码分割特性来实现懒加载(lazy-loaded)。这同时确保了对旧浏览器的兼容且又能更快加载。

对Vue和Web Component标准之间进行深层次的整合,也是完全可行的,比如Custom Elements、Shadow DOM的样式封装。然而现在在我们做出严肃的承诺之前,我们仍在等待标准成熟,进而广泛应用于主流的浏览器中。

Riot

Riot 2.0 提供了一个类似于基于组件的开发模型(在Riot中称之为”Tag”),提供小巧精美的API。Riot 和 Vue 可能共享一些设计理念。即使相比Roit重一点,Vue还是有很多显著优势的:

根据真实条件来渲染,Roit根据是否有分支简单显示或隐藏所有内容。

功能更加强大的路由机制,Roit的路由功能的API是极少的。

更多成熟工具的支持。Vue 提供官方支持Webpack、Browserify和SystemJS,而 Roit 是依靠社区来建立集成系统。

过渡效果系统。Riot现在没有提供。

更好的性能。Roit 尽管广告称用虚拟DOM,实际上用的还是脏检查机制,因此和Angular 1患有相同的性能问题。

以上所述是小编给大家介绍的Vue.js 2.0 和 React、Augular等其他前端框架大比拼,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

作者:匿名用户

链接:http://www.zhihu.com/question/39377015/answer/81017680

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

此榜单根据github上star数作为排名依据,一个人力量有限,如果收集有遗漏欢迎补充。

1、名称:Bootstrap

类别/语言:HTML、CSS、JavaScript

创建者: Twitter

人气:在Github上有91007 stars

描述:主流框架中毋庸置疑的老大,Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。

核心概念/原则: RWD 和移动优先制。

浏览器支持: Firefox, Chrome, Safari, IE8+ (你需要 Respond.js for IE8)

响应式: Yes

模块化: Yes

官网地址:Bootstrap · The world's most popular mobile-first and responsive front-end framework.

Github地址:twbs/bootstrap · GitHub

2、名称:html5-boilerplate

类别/语言:HTML、CSS、JavaScript

创建者:Paul Irish

人气:在Github上有32,349 stars

描述:HTML5 Boilerplate 帮你构建 快速, 健壮, 并且 适应力强 的web app或网站。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE8+,Edge,Opera

预处理器:None

响应式:Yes

模块化:Yes

官网地址:HTML5 Boilerplate: T

Github地址:h5bp/html5-boilerplate · GitHub

3、名称:Meteor

类别/语言:HTML、CSS、JavaScript

创建者:immir

人气:在Github上有31,092 stars

描述:Meteor是新一代的开发即时web应用的开源框架,它能帮助你在最少的时间内完成开发。

核心概念/原则:响应式

预处理器: Less

响应式: Yes

模块化: Yes

官网地址:Meteor

Github地址:meteor/meteor · GitHub

4、名称:Semantic UI

类别/语言:HTML、CSS、JavaScript

创建者: Jack Lukic

人气: 在Github上有22,325 stars

描述: “基于自然语言有效原则的UI组件框架”

核心概念/原则: 语义,标签的矛盾性、响应式

浏览器支持:Firefox, Chrome, Safari, IE10+ (IE9 with browser prefix only), Android 4, Blackberry 10。

预处理器: Less

响应式: Yes

模块化: Yes

官网地址:Semantic UI

Github地址:Semantic-Org/Semantic-UI · GitHub

5、名称:Foundation

类别/语言:HTML、CSS、JavaScript

创建者: ZURB

人气: 在Github上有22,206+ stars

描述: “世界上最优秀的响应式前端框架”

核心概念/原则: RWD 、手机优先、语义的

浏览器支持: Chrome, Firefox, Safari, IE9+iOS, Android, Windows Phone 7+

预处理器: Sass

响应式: Yes

模块化: Yes

官网地址:Foundation | The most advanced responsive front-end framework in the world.

Github地址:zurb/foundation-sites · GitHub

6、名称:Materialize

类别/语言:CSS

创建者:Google

人气:在Github上有15,288stars

描述:Materialize是一个个基于材料设计的一个现代化的响应式前端框架。他们做了最繁重的工作,为您提供默认的样式,结合了您的自定义组件。此外,他们还改进动画和过渡,为开发人员提供流畅的体验。

核心概念/原则:响应式

预处理器:Sass

响应式:Yes

模块化:Yes

官网地址:Documentation

Github地址:Dogfalo/materialize · GitHub

浏览器支持:Chrome 35+, Firefox 31+, Safari 7+, IE 10+

7、名称:Pure

类别/语言:CSS

创建者: Yahoo

人气: 在Github上有13,161 stars

描述: “您可以在每一个web项目中使用的一组小的和响应式的CSS模块”

核心概念/原则:SMACSS,极简的.

浏览器支持:Firefox的最新版本, Chrome, SafariIE7+iOS 6.x, 7.xAndroid 4.x

预处理器: None

响应式: Yes

模块化: Yes

官网地址:http://purecss.io/

Github地址:yahoo/pure · GitHub

8、名称:Vue

类别/语言:CSS、JavaScript

创建者:尤雨溪

人气:在Github上有12,214 stars

描述:Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE9+,Android 4.2+,iOS 7+

预处理器:None

响应式:Yes

模块化:Yes

官网地址:vue.js

Github地址:vuejs/vue · GitHub

9、名称:Skeleton

类别/语言:CSS、JavaScript

创建者:Dave Gamache

人气:在Github上有10,622stars

描述:Skeleton 是一个小的 JS 和 CSS 文件的集合,可帮你快速开发漂亮的网站,适合各种屏幕设备包括手机。Skeleton 基于 960 grid 开发。它是一个 UI 框架。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE10+,Opera

预处理器:None

响应式:Yes

模块化:Yes

官网地址:Skeleton: Responsive CSS Boilerplate

Github地址:dhg/Skeleton · GitHub

10.名称: Amaze UI

类别/语言:HTML、CSS、JavaScript

创建者:云适配

最后更新时间:2015年12月

人气:在Github上有6425 stars

描述:国内首个开源HTML5跨屏前端框架,中文排版支持更优、本土化组件丰富。

并在2015年11月推出基于 React.js 的专属移动端 Web 组件库Amaze UI touch。

核心概念/原则:组件化、移动优先、轻量级、高性能。

浏览器支持: Firefox, Chrome, Safari, IE8+

响应式: Yes

模块化: Yes

官网地址:Amaze UI | 中国首个开源 HTML5 跨屏前端框架

Github地址:amazeui/amazeui · GitHub

11、名称:UIkit

类别/语言:HTML、CSS、JavaScript

创建者: YOOtheme

人气: 在Github上有6,050+ stars

描述: “一个轻量级的和模块化的前端框架,用于快速开发和功能强大的web接口。”

核心概念/原则:RWD, 手机优先.

预处理器: Less, Sass

响应式: Yes

模块化: Yes

官网地址:UIkit

Github地址:uikit/uikit · GitHub

浏览器支持: Chrome, Firefox, Safari, IE9+

12、名称:Yui

类别/语言:CSS、JavaScript

创建者:Yahoo

人气:在Github上有3,200+ stars

描述:Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证

核心概念/原则:响应式

预处理器: None

响应式:Yes

模块化:Yes

官网地址:http://yuilibrary.com/

Github地址:yui/yui3 · GitHub

浏览器支持:Firefox, Chrome, Safari, IE10+,Opera

13.名称:kissy

类别/语言: JavaScript

创建者:淘宝前端

最后更新时间:2015年7月

人气:在Github上有2035 stars

描述:KISSY 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。

框架大小: 37 KB

核心概念/原则: 模块化,跨终端,高扩展性

模块化: Yes

官网地址:KISSY - A Powerful JavaScript Framework

Github地址:kissyteam/kissy · GitHub

14.名称:MUI

类别/语言: HTML、CSS、JavaScript

创建者:Dclould

最后更新时间:2016年1月

人气:在Github上有2012 stars

描述:MUI-最接近原生App体验的前端框架框架。

核心概念/原则: 多端发布、高性能

响应式: NO

模块化: Yes

官网地址:MUI-最接近原生APP体验的高性能前端框架

Github地址:dcloudio/mui · GitHub

15.名称:Arale

类别/语言: JavaScript

创建者:支付宝前端

最后更新时间:2015年7月

人气:在Github上有1252 stars

描述:Arale 是一个开放、简单、易用的前端基础类库。

框架大小:未知

核心概念/原则: 开放、简单、易用

浏览器支持:Firefox, Chrome, Safari, IE6+

响应式: Yes

模块化: Yes

官网地址:Arale - 随心构建互联网应用

Github地址:aralejs/aralejs.org · GitHub

16.名称:JX

类别/语言:Javascript

创建者:腾讯前端

最后更新时间:2015年12月

人气:在Github上有952 stars

描述:JX 是模块化的非侵入式Web前端框架,特别适合构建和组织大规模、工业级的Web App。

框架大小: 未知

核心概念/原则: 保持最优执行效率

浏览器支持: 兼容主流浏览器

模块化: Yes

官网地址:JX - 腾讯 Web 前端开发框架

Github地址:AlloyTeam/JX · GitHub

17.名称:GMU

类别/语言:HTML、CSS、JavaScript

创建者:百度前端

最后更新时间:2015年12月

人气:在Github上有940stars

描述:GMU是基于zepto的mobile UI组件库,提供webapp、pad端简单易用的UI组件! Web App。

核心概念/原则: 简单易用、轻量级

模块化: Yes

官网地址:http://gmu.baidu.com/

Github地址:fex-team/GMU · GitHub

18.名称:ZUI

类别/语言: HTML、CSS、JavaScript

创建者:蝉道

最后更新时间:2015年7月

人气:在Github上有616 stars

描述:开源HTML5前端框架

核心概念/原则:简单易用、轻量级、易于定制

浏览器支持:未知

官网地址:ZUI - 开源HTML5跨屏框架

Github地址:easysoft/zui · GitHub

19.名称:Clouda Touch.js

类别/语言:JavaScript

创建者:百度云

人气:在Github上有387 stars

描述:Touch.js是移动设备上的手势识别与事件库,也是在百度内部广泛使用的开发。

核心概念/原则: 无入侵设计、媲美原生的交互、极简的API

模块化: Yes

官网地址:Touch.js

Github地址:Clouda-team/touch.code.baidu.com · GitHub

20.名称:Arkui

类别/语言:HTML、CSS、JavaScript

创建者:豆瓣

人气:在Github上有129 stars

模块化: Yes

官网地址:arkui

Github地址:mockee/arkui · GitHub