移动客户端iOS、前端开发。
ReactNative有Profiler的功能,能计算每个函数的执行耗时。为了尽量减少测量代码对函数本身执行的影响,ReactNative采用汇编实现Trampoline来实现该功能。本文主要记录该部分核心代码的解读,顺便记录阅读汇编代码的一些技巧。 ## 关键字 + [arm指令查询地址](http://infocenter.arm.com/help/index.jsp?topic=
> H5很重要,H5很重要,H5很重要,重要的事情要说三遍。VasSonic是腾讯开源的解决H5首屏渲染痛点的开源项目,本文通过解读代码来学习WebView的优化思路。 # H5的优劣 H5的优势很明显,跨平台、迭代快、开发体验好。H5的劣势同样明显,加载慢,用户体验差。业内大牛想尽各种方法来弥补H5的劣势,初级使用缓存、预加载等常用方案,高级如Hybrid、ReactNative、Wee
> 模块是每门语言构建复杂系统的必备特性,JavaScript自然也不例外。JavaScript当前流行的模块化标准有CommonJS、AMD、CMD、ES6等等,本文对这些标准做了简单梳理,努力做到应用时不懵逼,不乱用。 # 模块 现如今几乎每门语言都有自己的[模块化解决方案](https://en.wikipedia.org/wiki/Modular_programming),这是随着
Main Thread Checker(后面简称MTC)简单来说就是一个适用于Swift和C语言的小工具。当必须在主线程执行的API在非主线程被调用的时候, MTC会报错并暂停程序执行。该类API包括 **AppKit的接口**、**UIKit的接口**和**其他需要在主线程执行的API**等。 MTC的原理官网也说的比较明白了。在App启动的时候,加载动态库——**libMainThre
# 背景 最近在浏览React Native代码的时候发现有提到Main Queue和Main Thread的区别,很早就有阅读GCD源码的冲动,这回总算找到机会了。 阅读源码之前先给个结论:Main Thread 和 Main Queue是两个不同的东西。 + Main Queue IS bound to Main Thread. + Main Thread IS NOT bou
Growth Hacker在国内外的互联网界近几年都是比较火热的词,互联网巨头Facebook也许是践行Growth Hacker最好的公司。然而概念吵的火并不等于做的好,如何落地Growth Hacker其实是一件比较困难的事情。最近从twitter上挖到一篇文章,推荐了[MobileGrowthStack](http://www.mobilegrowthstack.com/the-mobile
Growth Hacker在国内外的互联网界近几年都是比较火热的词,互联网巨头Facebook也许是践行Growth Hacker最好的公司。然而概念吵的火并不等于做的好,如何落地Growth Hacker其实是一件比较困难的事情。最近从twitter上挖到一篇文章,推荐了[MobileGrowthStack](http://www.mobilegrowthstack.com/the-mobile
# 前言 weex的思想是多个平台,只写一套代码,而react-native的思想是多个平台可以写多套代码,但其使用的是同一套语言框架。 weex的目标在于抹平各个平台的差异性,从而简化应用开发。而react-native承认了各个平台之间的差异,退而求其次,在语言和框架层面对平台进行抽象,从方法论的角度去解决多平台开发的问题。 进一步浏览weex和react-native的代码之后,可