TAT.heyli babel 到底将代码转换成什么鸟样?
In 未分类 on 2016年05月15日 by view: 8,495
4


原文链接

前言

将 babel 捧作前端一个划时代的工具一定也不为过,它的出现让许多程序员幸福地用上了 es6 新语法。但你就这么放心地让 babel 跑在外网?反正我是不放心,我就曾经过被坑过,于是萌生了研究 babel 代码转换的想法。本文不是分析 babel 源码,仅仅是看看 babel 转换的最终产物。

es6 在 babel 中又称为 es2015。由于 es2015 语法众多,本文仅挑选了较为常用的一些语法点,而且主要是分析 babel-preset-2015 这个插件(react 开发的时候,常在 webpack 中用到这个 preset)。

JavaScript 定时器与执行机制解析
In 未分类 on 2016年05月15日 by view: 22,672
16

Timer

从 JS 执行机制说起

浏览器(或者说 JS 引擎)执行 JS 的机制是基于事件循环。

由于 JS 是单线程,所以同一时间只能执行一个任务,其他任务就得排队,后续任务必须等到前一个任务结束才能开始执行。

为了避免因为某些长时间任务造成的无意义等待,JS 引入了异步的概念,用另一个线程来管理异步任务。

同步任务直接在主线程队列中顺序执行,而异步任务会进入另一个任务队列,不会阻塞主线程。等到主线程队列空了(执行完了)的时候,就会去异步队列查询是否有可执行的异步任务了(异步任务通常进入异步队列之后还要等一些条件才能执行,如 ajax 请求、文件读写),如果某个异步任务可以执行了便加入主线程队列,以此循环。

TAT.dnt 移动 web 开发调试工具 AlloyLever 介绍
In 未分类 on 2016年05月10日 by view: 9,398
8

简介

web 调试有几个非常频繁的刚需:看 log、看 error、看 AJAX 发包与回包。其他的如 timeline 和 cookie 以及 localstorage 就不是那么频繁,但是 AlloyLever 都支持。如你所见:

 

TAT.rocket 总结伪类与伪元素
In 未分类 on 2016年05月09日 by view: 38,568
14

熟悉前端的人都会听过 css 的伪类与伪元素,然而大多数的人都会将这两者混淆。本文从解析伪类与伪元素的含义出发,区分这两者的区别,并且列出大部分伪类与伪元素的具体用法,即使你有用过伪类与伪元素,但里面总有一两个你没见过的吧。

1. 伪类与伪元素

先说一说为什么 css 要引入伪元素和伪类,以下是 css2.1 Selectors 章节中对伪类与伪元素的描述

CSS introduces the concepts of pseudo-elements and pseudo-classes  to permit formatting based on information that lies outside the document tree.

 

TAT.dnt zepto/jQuery、AngularJS、React、Nuclear 的演化
In 未分类 on 2016年04月27日 by view: 8,996
23

写在前面

因为 zepto、jQuery2.x.x 和 Nuclear 都是为现代浏览器而出现,不兼容 IE8,适合现代浏览器的 web 开发或者移动 web/hybrid 开发。每个框架类库被大量用户大规模使用都说明其戳中了开发者的刚需。本文将对比 zepto/jQuery 到 Nuclear 的设计和演化的过程。

无框架时代

互联网的春风刚刮来的时候,人们当时利用三剑客制作网页。

【译】2016React 大会之 React 展望
In 未分类 on 2016年04月20日 by view: 7,662
4

译者按:2016 年 React.js 大会在今年 1 月份举行,2 月底放出了视频,本文翻译的是其中一个演讲 What Lies Ahead(自备梯子), 介绍了 React 目前的进展,以及未来的研发方向。

Hi, 我是 Ben,在 React 团队工作,今天我要介绍的是我们对 React 未来的构想。

当我们在考虑 “React 还有哪些改进空间?”“还有什么问题可以用 React 解决?” 的时候,我们都在尝试回答一个问题——React 如何帮助(开发者)开发极致的应用?这个问题有两个部分要考量。首先,一个极致的应用明显应该有良好的用户体验。同时,我们认为开发体验的地位也是举足轻重。所以今天我们要讨论这两个话题。

TAT.李强 Node 嵌入式数据库——NeDB
In 未分类 on 2016年03月30日 by view: 46,258
7

一、简介

NeDB 是使用 Nodejs 实现的一个 NoSQL 嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及 JSON 深度查询等。

NeDB 嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销,在运行时,也只需要较少的内存开销,使用精简代码编写,速度更快。其 API 是 MongoDB 的一个子集,可以通过这些接口轻松管理应用程序数据,而不依靠原始的文档文件。

具有简单、轻量、速度快等特点,由于嵌入式数据库存储总数据量最好要控制在 1GB 以内,所以适合在不需要大量数据处理的应用系统中使用(比如使用 nw.js 等实现的桌面应用程序、并发量不大的系统等)。

TAT.tennylv 移动 web 适配利器-rem
In 未分类 on 2016年03月27日 by view: 91,804
35

前言

提到 rem,大家首先会想到的是 em,px,pt 这类的词语,大多数人眼中这些单位是用于设置字体的大小的,没错这的确是用来设置字体大小的,但是对于 rem 来说它可以用来做移动端的响应式适配哦。

 

兼容性

TAT.dorsywang 从 Promise 的 Then 说起
In 未分类 on 2016年03月25日 by view: 6,570
4

Promise 让代码变得更人性化

曾经我一直在思考,为什么代码会比较难读。后来发现,我们平时要阅读的所有媒体:报纸、书、新闻,我们在阅读的时候,都是从上到下一直读下去的,然而,我们的在读代码的时候,经常要跳着去读,这种阅读方式其实是反人类的,如果我们能在读代码的时候,也可以从上往下一直读下去,那么,代码就会变得可读性提高很多。

探索 react-redux 的小秘密
In 未分类 on 2016年03月25日 by view: 11,491
7

一、前言

    自从 React 火起来后,笔者对这种组件化的开发模式实在太喜欢,瞬间成为了它的脑残粉。后面也用 React 做了一些项目,比如 http://buluo.qq.com/p, 采用的技术架构是 Reactjs + Reflux + webpack。不得不说前端的变化是日新月异,Redux 出来后,github star 嗖嗖的,用 Reflux 就显得很 low B 了,迎头赶上吧。 

这是 Redux 的架构图。
此处输入图片的描述

Redux 起源于 React,但它们并没有关系。它是独立的,支持 React、Angular、Ember 或者更多其他的框架。网上有非常多的文章去讨论 Redux,本文就不去讨论它的原理及使用方法了,不了解的同学请移步 Redux 中文文档

 

既然 Redux 与 React 没有什么关联,那要怎样搭配它们使用呢? 
官方提供了一个 react-redux 绑定库,来配合 React,它是怎么实现的呢? 
OK,本文就是来讲 react-redux 的。