Your Docusaurus site did not load properly.

A very common reason is a wrong site baseUrl configuration.

Current configured baseUrl = / (default value)

We suggest trying baseUrl =

📝 没 2 年 React Native 开发经验,你都遇不到这些坑

卤代烃

卤代烃

微信公众号@卤蛋实验室

React Native 开发时,如果只是写些简单的页面,基本上按着官方文档 reactnative.dev就能写出来,但是 React Native 的 API 有几百个,没有一定的开发踩坑经验,面对一些新的需求时确实会抓不到重点。

本文总结了我个人开发 React Native 中遇到的问题和一些冷门的 API,如果有有缘人看到这篇文章并解决了实际问题,那就最好不过了。

⚡️ React Native 启动速度优化——Native 篇(内含源码分析)

卤代烃

卤代烃

微信公众号@卤蛋实验室

Web 开发有一个经典问题:「浏览器中从输入 URL 到页面渲染的这个过程中都发生了什么?

据我考据这个问题起码有十年历史了。在日新月异学不动的前端圈子里,这个问题能一直被问,就是因为因为它是个非常好的问题,涉及非常多的知识点,平时做一些性能优化,都可以从这个问题出发,分析性能瓶颈,然后对症下药进行优化。

不过今天我们不谈 Web 的性能优化,只是借助刚刚的那个那个经典问题的分析思路,从 React Native 的启动到页面的第一次渲染完成,结合 React Native 的源码和 1.0 的新架构,探索 React Native 的启动性能优化之路

🤔 移动端 JS 引擎哪家强?美国硅谷找......

卤代烃

卤代烃

微信公众号@卤蛋实验室

mobile_JSVM_Header

在一般的移动端开发场景中,每次更新应用功能都是通过 Native 语言开发并通过应用市场版本分发来实现的。但是市场瞬息万变,Native 语言在开发效率上存在一定不足,并且从 APP 版本更新应用市场审核发布 再到 用户下载更新,总会存在一定的时间差,这样就导致新的功能无法及时覆盖全量用户。

为了解决这个问题,开发者们一般会在项目里引入一门脚本语言,提速 APP 的研发流程。在移动端应用比较广泛的脚本语言有 Lua 和 JavaScript,前者在游戏领域用的比较多,后者在应用领域用的比较多。本篇文章主要是想探讨一下移动双端(iOS & Android)的 JavaScript 引擎选型。由于个人水平有限,文章总会有遗漏和不足的地方,还请各位大佬多多指教。

🙈 如何隐藏你的热更新 bundle 文件?

卤代烃

卤代烃

微信公众号@卤蛋实验室

前段时间我们公司的一个大佬从一些渠道得知了一些小道消息,某国民级 APP 因为 Apple App Store 审核人员检测出 React Native 热更新的内容,被拒审了三个月。我们的热更新平台和出事的 APP 原理相似,所以也存在着拒审危险。那么我们就要想一些办法,隐藏热更新 bundle,不被审核人员发现。

其实这个问题蛮复杂的,因为它不单纯是一个技术问题,还涉及到各种复杂的商业利益,在诸多的限制条件下,你很难去找到一个最优解。而且这个问题也比较敏感,我也只能大致讲一下我的思路,具体的代码实现本文也不会提供。

郑重声明:若有人按本文思路隐藏热更新数据导致应用拒审或下架,本人概不负责

📎 从回形针的互动视频谈谈交互教程的发展

卤代烃

卤代烃

微信公众号@卤蛋实验室

本文原来是知乎上的一个回答,反响还不错,所以完善了一些细节重新整理发布一下

2020 年 12 月 17 日,回形针工作室上新了一款新产品——「一个人工智能的诞生」互动教学视频,因为从高中开始就接触了 MOOC,对在线教育这块儿一直很感兴趣,所以第一时间就跟进体验了了一下他们的体验课——「识别数字」

🍶 为什么你的 Charles 会抓包失败?

卤代烃

卤代烃

微信公众号@卤蛋实验室

作为一名 Web 开发工程师,天天都会和网络打交道。Charles 作为一款网络抓包工具,几乎成了 Web 开发的标配。

本文是我深度使用 Charles 后总结而成,不同于其它介绍 Charles 的文章,这篇文章不会详细介绍 Charles 的各个功能(例如 remote 和 rewrite),而是专注于分析一个问题:什么情况下 Charles 会抓包失败?