-
Promise
PromisePromise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.new Promise( function(resolve, reject) {...} /* executor */ );executorexecutor是带有 resolve 和 reject 两个参数的函数 。Promise构造函数执行时立即调用executor 函数, resolve 和 reject 两个函数作为参数传递给executor(executor 函数在Promise构造函数返...…
-
ReactNative开发工具Expo
Expo介绍Expo是一个免费而完整的工作流程,用于为iOS和Android创建下一代应用程序。Expo使您能够仅使用JavaScript构建跨平台的本机应用程序。使用您喜欢的文本编辑器来编写功能强大的React Native组件,而无需打开Xcode或Android Studio。 除React Native组件外,您还可以访问Expo SDK,该库在iOS和Android上提供了多种本机API。 Expo还可以为您管理资产,处理推送通知,并构建最终的本机二进制文件以提交给应用商店。Ex...…
-
Redux
在数据为王的网络世界中,数据永远都是页面的核心,那么对于数据管理的模式,react采用的是单向数据流模式,单向也就是数据只能从一个方向流向另外一个方向而不能反过来,如果把dom想象成一颗树,单向数据流就是将数据自上向下的流动,为了让数据流到尽可能多的dom中,肯定要把数据尽可能放的高一点。这里的数据可以简单理解为state,而对于流到下面的数据,dom通过props接收。这样模式就很显而易见了,尽可能高的组件对state进行更新,子组件的props也会随即更新,数据单向流动,这时候如果想通...…
-
HTTP基础篇
HTTP起源20世纪60年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,它有四个分布在各地的节点,被认为是如今互联网的“始祖”。 然后在70年代,基于对 ARPA 网的实践和思考,研究人员发明出了著名的 TCP/IP 协议。由于具有良好的分层结构和稳定的性能,TCP/IP 协议迅速战胜其他竞争对手流行起来,并在 80 年代中期进入了 UNIX 系统内核,促使更多的计算机接入了互联网。1989 年,任职于欧洲核子研究中心(CERN)的蒂姆·伯纳斯 - 李(Tim Berner...…
-
ReactNative and Flutter
如今跨平台框架日益完善,在今年经济形势不好的情况下,企业为了缩减开发成本也越来越多的采用移动端跨平台解决方案,了解跨平台解放方案的对企业技术选型尤为重要。网上对于跨平台方案的技术比较文章很多,本文对于跨平台方案的讨论,仅从公司成本和产品层面出发,抛开了纯技术的问题。如下最热门的跨平台技术莫属ReactNative和Flutter,Facebook的ReactNative先于Flutter发布几年,生态较成熟,正如RN官网所介绍的,保证了和原生App一致的交互体验,但用过RN的都知道,正因为...…
-
函数式编程
编程范式编程语言发展到今天,出现了好多不同的代码编写方式,但不同的方式解决的都是同一个问题,那就是如何写出更为通用、更具可重用性的代码或模块。于是有了编程范式的兴起。范即模范之意,范式即模式、方法,是一类典型的编程风格,是指从事软件工程的一类典型的风格。函数式编程是最近比较火热的一种编程范式。函数式编程对于函数式编程来说,它只关心定义输入数据和输出数据相关的关系,数学表达式里面其实是在做一种映射(mapping),输入的数据和输出的数据关系是什么样的,是用函数来定义的。函数式编程原则 ...…
-
ECMAScript 2015
Arrows and Lexical ThisArrows are a function shorthand using the => syntax. They are syntactically similar to the related feature in C#, Java 8 and CoffeeScript. They support both expression and statement bodies. Unlike functions, arrows share ...…
-
VueJS中props和data的区别
props和dataprops和data都可以用来存储JS对象,修改它们都会触发重新渲染。从字面上理解,props是对象的属性,属性是不可变,如果改变了就不是原来的对象了,而是另一个的对象。data是对象的数据,借用其他响应式框架的说法应该是状态,状态是可变的,例如时钟对象的时针任意变化指向不同的值,它始终都是原来的那个时钟。这实际上引出了响应式框架里一个重要概念,就是无状态组件stateless和有状态组件stateful。区别 props ...…
-
JS规范 CommonJS AMD
CommonJS 规范CommonJS 是以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目,比如在服务器和桌面环境中。这个项目最开始是由 Mozilla 的工程师 Kevin Dangoor 在2009年1月创建的,当时的名字是 ServerJS。2009年8月,这个项目改名为 CommonJS,以显示其 API 的更广泛实用性。CommonJS 是一套规范,它的创建和核准是开放的。这个规范已经有很多版本和具体实现。CommonJS 并不是属于 ECMAScript...…
-
移动端渲染对比
通常我们开发界面都是通过框架提供的易用接口上手去开发 App。但是,一旦遇到性能问题,完全依靠搜索获得的不完整的、拼凑来的知识,大概率只能解一时之需,要想系统地解决问题,还是要知道这些库的实现原理。渲染原理我们看到的 App 界面,都是由 CPU 和 GPU 共同计算处理的。CPU 内部流水线结构拥有并行计算能力,一般用于显示内容的计算。而 GPU 的并行计算能力更强,能够通过计算将图形结果显示在屏幕像素中。内存中的图形数据,经过转换显示到屏幕上的这个过程,就是渲染。而负责执行这个过程...…