
获得徽章 9
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇沸点
赞了这篇文章
赞了这篇文章
赞了这篇文章
这两天帮业务代码优化 JS 产物体积,不得不说做 sdk 产物优化和业务产物优化完全是两回事。
写 sdk 时扣各种细节防止 benchmark 劣化,业务上可能加个需求就引入一个巨型lib(比如 echarts,threejs 等),还有各种满天飞的副作用和重复打包导致的 tree shaking 失效。不过也能理解,毕竟开发时间就放在哪里,完成需求是第一位的。
后者的体积优化,首先是抓大放小,先把体积大的 lib 减小 or 去掉,一般根据依赖关系,一些小的依赖也会顺势减少。
另一个是副作用的治理,把有副作用的lib和纯函数 lib 要做物理文件上的隔离,不要一个 index.js 文件把两类 lib 聚合在一起,这样往往是 tree shaking 直接失效,再迭代几版经手几个人,未来就没几个人敢动了。
总而言之,sdk 体积优化更依赖写法,业务代码更注重依赖关系的治理,两者一起努力才能早日实现碳中和目标。 #前端开发现状#
写 sdk 时扣各种细节防止 benchmark 劣化,业务上可能加个需求就引入一个巨型lib(比如 echarts,threejs 等),还有各种满天飞的副作用和重复打包导致的 tree shaking 失效。不过也能理解,毕竟开发时间就放在哪里,完成需求是第一位的。
后者的体积优化,首先是抓大放小,先把体积大的 lib 减小 or 去掉,一般根据依赖关系,一些小的依赖也会顺势减少。
另一个是副作用的治理,把有副作用的lib和纯函数 lib 要做物理文件上的隔离,不要一个 index.js 文件把两类 lib 聚合在一起,这样往往是 tree shaking 直接失效,再迭代几版经手几个人,未来就没几个人敢动了。
总而言之,sdk 体积优化更依赖写法,业务代码更注重依赖关系的治理,两者一起努力才能早日实现碳中和目标。 #前端开发现状#
展开
2
3
总有人在吵如果用移动端跨端框架,选 react native 好还是选 flutter 好,其实这是个zz问题而不是技术问题。
现在两个框架都迭代这么多年了,优点缺点都能列一堆,但适用场景都是一样的,那就是糊 UI,千万不要想不开想基于这两个框架整活(比如密集使用冷门 API,搞些高性能场景),其实两者优化好了都是半斤八两,因为上限很明显,就是原生嘛。
所以每次有人问我怎么选,我都是嘿嘿一笑,既然是zz问题,那就是人多人少,哪方话语权大选哪个呗。最后装模作样的写个调研对比文档,强调一下为啥这么选就得了,别入戏太深。反正后面都会进入狂暴模式:为啥这破框架这么难调试,是不是隔壁框架就没这么多破事? #前端开发现状#
现在两个框架都迭代这么多年了,优点缺点都能列一堆,但适用场景都是一样的,那就是糊 UI,千万不要想不开想基于这两个框架整活(比如密集使用冷门 API,搞些高性能场景),其实两者优化好了都是半斤八两,因为上限很明显,就是原生嘛。
所以每次有人问我怎么选,我都是嘿嘿一笑,既然是zz问题,那就是人多人少,哪方话语权大选哪个呗。最后装模作样的写个调研对比文档,强调一下为啥这么选就得了,别入戏太深。反正后面都会进入狂暴模式:为啥这破框架这么难调试,是不是隔壁框架就没这么多破事? #前端开发现状#
展开
2
1