购买 Live 请点 这里css
如下都是我本身的理解,不是原话。html
本文只列举和解释名词,想听大神的观点仍是要买 Live 。前端
这篇文章主要是给两类人看:node
买了 Live 可是没有听清里面的一些英文的人。
想买 Live,可是怕买了 Live 听不懂的人。react
开场有一个 UDP 笑话。git
不少前端听不懂这个笑话。这个笑话跟另外一个笑话很像:github
A:「我给你们讲一个笑话:从前有个太监。」
B: 下面呢?
A: 「下面没了」
B: 哈哈编程
那么这个 UDP 的笑话是什么意思?随便搜一下你就知道:由于UDP没有TCP那些可靠的机制,在数据传递时,若是网络质量很差,就会很容易丢包。浏览器
因此这个笑话是关于丢包的……网络
我这么严肃地解释笑话是否是很尴尬……
不谈场景论好坏都是耍流氓。
你要作的应该是该用 Vue 的时候用 Vue,该用 React 的时候用 React,该用 jQuery 的时候用 jQuery。
你一个都没学会?算我没说。
至于如何挑选框架,只有老司机会选,你首先要变成一个老司机。
组件已是各类框架的共识,你必须知道什么是组件。组件的定义就是……一个很抽象的东西。个人理解是变形金刚合体的时候,有人组成头部,有人组成裆部,这些人就是组件了。
每一个组件能够由其余小组件组成。好比裆部能够分红柱状组件和两球状组件。
至于组件的严格定义,并无。
一个组件能够有多种形态,好比上面的柱状组件能够是硬直状态,也能够是疲软状态。(原谅我飙车了)。
展现型组件、接入型组件(如 container)、交互型组件(如 form)、功能型组件(如 router、transition)
Tutorial: JSX
JavaScript Templating
JSX 适合逻辑多的场景,模板适合逻辑少的场景。
把该放在一块儿的东西放在一块儿。
跟几年前的 HTML、CSS、JS 分离对应。
前端的关注点分离就是 HTML、CSS、JS 分离。
你说有啥,就有啥。
你让我干啥,我就干啥。
你以为谁的代码烂,你就能够说谁的代码是意大利面条。
给我一个 state(数据),我就造出一个 view(DOM)。
计算机科学领域的任何问题,均可以经过添加一个中间层来解决。
Virtual DOM 就是应用与 DOM API 之间的中间层。
Manual DOM manipulation is messy and keeping track of the previous DOM state is hard. A solution to this problem is to write your code as if you were recreating the entire DOM whenever state changes. Of course, if you actually recreated the entire DOM every time your application state changed, your app would be very slow and your input fields would lose focus.
virtual-dom is a collection of modules designed to provide a declarative way of representing the DOM for your app. So instead of updating the DOM when your application state changes, you simply create a virtual tree or VTree, which looks like the DOM state that you want. virtual-dom will then figure out how to make the DOM look like this efficiently without recreating all of the DOM nodes.
本身写一个 Virtual DOM 库并不难。
监听一个对象,当对象变化时,你能够作一些事情。
详情看 Slides
一个 Pure Component 就是一个无反作用的函数。
clickHandler 是全局变量,这很烦人。
全局变量借祸害。
总得来讲前端对状态管理尚未达成共识,但又没有特别大的分歧。
能够了解一下 Flux、Redux、MobX、Vuex 和 Rx.js(反正名字里都有一个 x)。
状态管理主要涉及 event、state 和 view 的变化的管理,主要分歧在于 event 与 state 变化的管理方式,各类方案皆有优劣,并且都没有对异步更新给出明确的范式。
由汤玛斯·孔恩提出。在1960年以后是指在科学领域和知识论行文中的思惟的方式。
就是思惟方式的意思。
路由就是映射。给路由一个 url,路由就能够还你一个页面
Ember.js 是一个老牌的 JS 框架。
What is meant by the term “hook” in programming?
ionicframework.com 一个让你用 JS 写 App 的框架。
解耦就是不相关的东西不要放在一块儿。
耦合性)
耦合性低不必定就是好的,反例之一就是 dependency hell
一种 CSS 命名方式,很容易被新手玩坏(不遵照规则)。
CSS Modules,新手也玩不坏。
不写 CSS,写 JS,已经有几十种方案了,选择恐惧症的死讯。
接下来是构建工具,请期待中篇和下篇。