React Hooks

前言

React Conf 2018 上 React 提出了关于 React Hooks 的提案,Hooks 作为 React v16.7.0-alpha 中加入的新特性引起了广泛的讨论,这篇文章主要描述了 Hooks 的基础使用,社区的一些讨论以及个人的一些思考。

基础使用部分来源于官方文档

讨论来源于社区以及官方仓库中的 RFC

Hooks 使用概览State Hook

下面这个示......

移动端离线包发布方案

最近做了一次关于移动端 web app 更新方案的分享,这篇文章基于这次分享展开。

keynote 下载: WepAppRelease.key

动态发布

现在 web 页面在移动端的地位越来越高,大部分主流 App 采用 native + webview 的 hybrid 模式,加载远程页面受限于网络,本地 webview 引擎,经常会出现渲染慢导致的白屏现象,体验很差,于是离线包方案应运......

Cordova 源码解析笔记

Cordova 是一个支持使用 html, css, javascript 来进行跨平台开发的开源框架,前身是 PhoneGap, 但是其与 ReactNative 不同,Cordova 是通过各平台内 webview 来进行 UI 展示,而非解释成 native code 的方式。

由于最近在使用 Cordova 进行项目开发,所以抽时间阅读了下 iOS 端源码并把相关解读记录下来。

......

JavaScript 作用域,引擎工作流程及优化

最近一直在写 React,抽空对一些 Javascript 概念及引擎工作方式学习总结一下。

作用域静态作用域与动态作用域

静态作用域通常称为词法作用域,采用词法作用域的变量叫词法变量,有一个编译时静态确定的作用域。(定义在词法阶段的作用域)。词法变量的作用域可以是一个函数或一段代码,该变量在这段代码区域内可见(visibility);在这段区域以外该变量不可见(或无法访问)。词法作用域里,......

移动端模块化架构设计

这篇文档以 iOS 开发为例,老项目开发中一般存在一些弊端:

耦合严重,互相引用,状态无管理随处可修改

耦合强导致的冲突问题不好管理

实现较臃肿,各种功能类的代码混合在一起

无法快速响应业务变化,比如添加或者删除一个功能,影响面较广

重复的功能实现,无复用且影响包大小

内存及多线程问题

所以,需要一个架构来保证稳定高效的协同开发,对代码进行有效的复用,有助于持续集成及按......

开源库 Block Tracker 学习

修改 selector IMP 映射来 hook 方法在开发中很常见,但是 hook 一个 block 实现以及使用场景都较为稀有。最近,腾讯星开源了一个 hook block 的方案 Block Tracker , 使用上看起来如下:

- (void)viewDidLoad {

[super viewDidLoad];

// Begin Track

BTTracker *tracker =......