精选文章

查看更多

青木 | 6周前 | 前端相关

企业微信Flutter与大型Native工程跨四端融合实践

跨平台开发框架是客户端领域的经典课题,几乎从操作系统诞生开始就是我们软件从业者们的思考命题。为了促进 Flutter 在 4 个端的成熟,企业微信研发团队也和 Google 团队针对电脑端 Flutter 稳定版的落地做了多轮技术沟通。终于在近期的版本实现同一个功能跨平台 4 端同步上线。企业微信每一个迭代都需要确保 iOS、Android、Windows、Mac 四个客户端平台的版本功能完全一致,版本发布时间一致。这是非常大的挑战。任何研发投入都是 X4 的,且由于系统差异,相同功能的研发周期和技术方案也会有明显差异。我们前期实现了逻辑底层架构 4 端统一,但是 UI 层怎么办?迫切需要更优的跨平台方案。但是要在历史的 Native 代码行数已经过千万级的超大型软件系统——企业微信上引入新的跨平台框架何其困难。 经典案例:Flutter 实现跨平台人事管理系统 人事管理是企业经营运作中“人财物事”的核心组成部分,而花名册和人员入转调离管理能力又是人事大板块中最为基础的部分,是企业的共性基础需求,也是后续更多 HR 应用的底层系统支撑能力。整体需求逻辑复杂,涉及新的交互页...

OOM | 6周前 | 浏览器前端相关

性能优化经验分享

背景 ---- 近期,开发 C 端 h5 页面时,发现首页白屏时间比较长,并且用户也多次反映了这个问题,优化这个首屏加载时间是迟早的事,所以在开始优化前先做一些必要的知识储备~ 性能指标 -------- 还在看那些老掉牙的性能优化文章么?这些最新性能指标了解下\[1\] FP & FCP 首次绘制 ,FP(First Paint),这个指标用于记录页面第一次绘制像素的时间。 首次内容绘制 ,FCP(First Contentful Paint),这个指标用于记录页面首次绘制文本、图片、非空白 Canvas 或 SVG 的时间。 FP 指的是绘制像素,比如说页面的背景色是灰色的,那么在显示灰色背景时就记录下了 FP 指标。但是此时 DOM 内容还没开始绘制,可能需要文件下载、解析等过程,只有当 DOM 内容发生变化才会触发,比如说渲染出了一段文字,此时就会记录下 FCP 指标。因此说我们可以把这两个指标认为是和...

渣渣辉 | 6周前 | React

深入理解 React Scheduler 执行过程

本章是手写 React Scheduler 源码系列的第二篇文章,第一篇查看哪些 API 适合用于任务调度。React Scheduler 是 react 提供的一个可以独立使用的包,可以单独使用。由于 React 官网对于这个包的用法介绍较少,因此本章全面介绍 react scheduler 的基本用法,熟练使用可以为后续手写源码奠定坚实的基础。 学习目标 scheduler 基础用法 高优先级任务如何插队 长任务如何切片 任务切片如何中途取消 任务过期 本章 demo 几乎涵盖了 Scheduler 所有的用法,如果能理清所有 demo 的输出顺序,那恭喜你已经掌握了 Scheduler 的用法 准备工作 新建 html 文件,用于测试 scheduler 的用法,如无特别说明,本节将使用下面的printA、printB、printC、printD、printE方法 <!DOCTYPE html <html lang="en" <head <meta charset="utf-8" / <title