凹凸实验室

其他

不一样的"代码拆分"+"预加载"实现应用性能及体验兼得

https://github.com/AwesomeDevin/route-resource-preload/tree/main/packages/webpack-plugin[2]react
2023年8月25日
其他

实践指南-前端性能提升 270%

cover一、背景—当我们疲于开发一个接一个的需求时,很容易忘记去关注网站的性能,到了某一个节点,猛地发现,随着越来越多代码的堆积,网站变得越来越慢。本文就是从这样的一个背景出发,着手优化网站的前端性能,并总结出一套开发习惯,让我们在日常开发时,也保持高性能,而不是又一次回过头来优化性能。先来看看优化的成果,Lighthouse
2023年4月13日
其他

从组件化角度聊聊设计工程化

近几年围绕业务中台化的场景,涌现出了许多低代码平台。面对多组件、多页面、跨平台的复杂场景,如何保证整体的用户体验一致性,减少用户认知和负担,提升用户使用效率,便成为业务迫切需要解决的问题。本文从组件化角度聊聊设计工程化是如何解决模块化与规模化的问题。近几年围绕业务中台化的场景,涌现出了许多低代码平台。面对多组件、多页面、跨平台的复杂场景,如何保证整体的用户体验一致性,减少用户认知和负担,提升用户使用效率,便成为业务迫切需要解决的问题。从传统软件工程的思路出发,组件化是解决复杂模块的抽象、复用及统一的常用解决方案。那么对于中台设计来说,是否也能借鉴软件工程学的思路来解决设计遇到的模块化与规模化的问题呢?这便是近几年设计工程化所讨论并尝试解决的问题。设计工程化源于
2022年11月17日
其他

元宇宙探索之路

0);gl.enableVertexAttribArray(vPosition);gl.clear(gl.COLOR_BUFFER_BIT);gl.drawArrays(gl.TRIANGLES,
2022年3月31日
其他

Deco 智能代码体验版正式上线啦,快来体验设计稿一键生成代码~

可以使前端工程师不需要花大量精力关注设计稿,大大节约了开发成本,为输出更多的多端页面提供了有力的支持,也为业务降本增效带来了巨大动力。在过去的一年里,Deco
2022年1月26日
其他

探索 Design Token

前言—近几年中台化业务兴起,各个业务团队为了能快速响应业务需求,提升研发效能,引入「设计系统」来解决模块化和规模化的问题。回顾一下什么是设计系统,设计系统是由设计语言和模式库构成,在设计原则的指导下,通过统一的协作语言和科学的管理方法组织起来,并创建体验一致的用户界面的系统。设计语言:设计系统的基础,与品牌识别和情感有关,包含颜色、字体、图标等基础设计原子;模式库:一系列由设计原子组成的可复用的组件、模板等;作为「设计系统」执行方的设计师与前端工程师,日常工作分别是在两个差异化较大的工作流中进行的。常规流程是设计师在设计工具(Sketch、Figma)中完成页面设计后,前端再参照绘制好的原型稿和标注稿,在代码环境中还原视觉稿
2022年1月13日
其他

Deco 编辑器开放性技术架构解析

https://github1s.com/eclipse-theia/theia/blob/HEAD/packages/core/src/browser/widgets/widget.ts
2021年12月16日
其他

超基础的机器学习入门-原理篇

怎么找这样一个函数呢,让我们从线性模型入手。线性模型形式简单,易于建模,但是蕴含着机器学习中一些重要的基本思想,许多功能更为强大的非线性模型都可在线性模型的基础上通过引入层级结构或高维映射而得到。
2021年12月2日
其他

requestAnimationFrame 执行机制探索

https://medium.com/@paul_irish/requestanimationframe-scheduling-for-nerds-9c57f7438ef4[17]jake
2021年11月11日
其他

给小程序再减重 30% 的秘密​(京喜小程序首页瘦身实践)

代码),拆分生成公共文件,替换原引用以实现共用。标准和工具—在开始正式介绍瘦身实践之前,我们先来明确一下代码包体积的衡量标准和统计方式吧。小程序上传代码以代码包尺寸为准,所谓
2020年12月4日
其他

你可能不知道的Animation动画技巧与细节

适用于关键帧动画,第一个参数将两个关键帧细分为N帧,第二个参数决定从一帧到另一帧的中间间隔是用开始帧还是结束帧来进行填充。看下图可以发现:steps(N,
2020年10月22日
其他

Flutter 性能优化系列之打造高性能 widget

widget。原文链接:https://medium.com/flutter/building-performant-flutter-widgets-3b2558aa08fa”所有无状态和有状态
2020年10月14日
其他

Design Tokens —— 设计与开发碰撞的火花

设计稿的更新无法及时在开发者的代码中体现,一是因为开发首先需要拿到新的设计稿,再根据标注甚至肉眼判断区别后更新代码;另一方面,设计稿中看似简单的改动可能导致较大范围的代码改动,例如字体大小等。
2020年8月19日
其他

Webpack原理浅析

的库,通过这个库,我们可以非常方便的创建一个发布订阅模型的钩子,然后通过将函数挂载到实例上(钩子事件的回调支持同步触发、异步触发甚至进行链式回调),在合适的时机触发对应事件的处理函数。我们在
2020年8月4日
其他

京喜小程序的高性能打造之路

当小程序占用系统资源过高,就有可能会被系统销毁或被微信客户端主动回收。应对这种尴尬场景,除了提示用户提升硬件性能之外(譬如来京东商城买新手机),还可以通过一系列的优化手段降低小程序的内存损耗。
2020年3月26日
其他

Taro 2.0:拥抱社区,拥抱变化

在这个时刻在变化的时代稍显佛系,且对于一个时刻想要突破自己的技术团队来说,常规性质的维护工作,显然无法安抚我们躁动的心,毕竟人的梦想,是永远不会停止的,所以我们决定启动一系列的颠覆式重构设计。
2020年1月9日
其他

GMTC | 《小程序跨框架开发的探索与实践》演讲全文

等,再加上快应用、网易、360、京东等,小程序的赛道越来越拥挤,开发人员需要适配的小程序平台越来越多,因此,各大小程序开发框架也纷纷进行了多端适配。
2020年1月2日
其他

京喜首页(微信购物入口)跨端开发与优化实践

开发,也是第一次将它落地到实际的业务项目中,所以大部分时候都是伴随着各种未知的坑不断前行,所以这里也友情提示一下,对于从未使用过的技术,还是需要一些耐心的,遇到问题勤查勤问。
2019年12月4日
其他

2019年,是否可以抛弃 CSS 预处理器?

input[type="text"],input[type="password"];:--text-inputs.disabled,:--text-inputs[disabled]
2019年11月12日
其他

决战性能之巅 - Taro H5 转换与优化升级

'@tarojs/taro-h5';Taro.initPxTransform({});_setStorage();_getStorage();到这里,虽然过程比较艰辛,但我们对
2019年3月5日