对于传统的页面模型来说,数据的拉取+渲染模型如下:

1

在页面的head部分,使用jsonp预拉取cgi资源,然后在资源加载完成之后,检查预拉取的数据是否已经返回,如果已返回,则直接用该数据渲染(避免了先用缓存数据渲染再用cgi数据渲染导致的二次刷新),否则才用缓存数据渲染。

TAT.mandyluo 用Object字面量代替switch
In JavaScript on 2015年05月31日 by view: 2,537
10

有时候我们的代码有很多的条件判断,我们只能用switch语句来让代码更好看一点。

像上面介样子的代码,看起来是很头疼滴。而用switch语句,代码会更直观简洁。

Promise

Promise

Promise是ES6的新特性,在ES6之前各大浏览器、各种polyfill和各种js执行环境都针对Promise进行了自己的实现,不过实现上大同小异。

TAT.simplehuang React Native 之 JSBridge
In HTML5,JavaScript,Web开发 on 2015年05月10日 by view: 7,077
4

React Native综述:

在React Native中,JavaScript跟Object-C均有一个对应的中间件负责交互,源码中称为bridge,它们通过callback的形式进行传参,通过参数配置来触发OC的控件,从而达到以JavaScript来控制Native的目的。

React Native的设计理念:既拥有Native的用户体验、又保留React的开发效率。

React Native的口号:Learn Once,Write Anywhere.

 

TAT.老教授 复制粘贴的高级玩法
In JavaScript,Web开发 on 2015年04月26日 by view: 4,363
3

想做一个好用的在线编辑器,不管是地图编辑器、PPT创作平台还是通过拖拽快速创建活动页面的编辑器等等,必然要给用户提供各种快捷的操作方法。如非常常用的复制粘贴功能。

举个例子,在iPresst创作平台,我们的作品在好几页都要用到同一张图片,总不能每次都点击上传一次图片吧?右键复制粘贴或者直接按快捷键无疑是最符合用户预期的操作方式,然而我们编辑器用到的元素一般比较特别,而且我们复制粘贴的时候经常要做一些特殊处理,此时我们就需要覆盖浏览器给我们提供的复制粘贴功能了。

QQ20150426-1@2x

callback hell

(图片来源于互联网)

回调地狱

相信每一个JS程序员都曾被或者正在被回调地狱所折磨,特别是写过Nodejs代码的程序员。

 

TAT.felix React 初探
In JavaScript,经验心得 on 2015年04月20日 by view: 11,818
22

React 简单介绍

先说 React 与 React Native

他们是真的亲戚,可不像 Java 和 Javascript 一样。

其实第一次看到 React 的语法我是拒绝的,因为这么丑的写法,你不能让我写我就写。

但当我发现 React Native 横空出世后,它学习一次到处运行的理念非常诱人。React Native 可以写出原生体验的 iOS/Android 应用?那不就多了一门装逼技能?所以我们调研小组试了一下,感觉 "Duang" 一下,很爽很舒服。写 React Native 需要两门基础技能:React 语法 和 iOS 基础知识。

很爽很舒服,索性就研究一下,算是入门。 了解之后发现,React 真是有另一番天地,值得学习。

接下来总结以下我对 React 的理解,分享给大家。

 

ES6 Generator介绍
In HTML5,JavaScript,Node.js,Web开发 on 2015年03月30日 by view: 8,439
5

这主题主要是早期对 web audio api的一些尝试,这里整理一下以便以后翻阅,如有错误,诚请指正。

在真正进入Web Audio API 开发之前,需要先弄清两个概念:音频上下文(AudioContext)、音频节点(AudioNode);

Web Audio API 是一套以音频上下文(AudioContext)为基础的接口系统;基本上每一次的开发都需要第一个用到,

看下W3C对AudioContext的描述:

This interface represents a set of AudioNode objects and their connections. It allows for arbitrary routing of signals to the AudioDestinationNode (what the user ultimately hears). Nodes are created from the context and are then connected together. In most use cases, only a single AudioContext is used per document.

大意是一个AudioContext代表一系列音频节点以及节点之间的连接方式,它允许一个或以上的音频信号在经过任意的连接之后最终连接在音频播放设备节点上;节点都是可以通过音频上下文对象然后连接到了一起;通常一个文档中只需要一个一个音频上下文对象即可。