蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
向强大的SVG迈进
SVG 的应用十分广泛,得益于 SVG 强大的各种特性。 利用 URL.createObjectURL(svg) 取出 URL。 由于微信编辑器不允许嵌入 标签,利用SVG SMIL 可进行微信公众号极具创意的图文排版设计,包括动画与交互。…
手把手教你写个小程序定时器管理库
凹凸曼是个小程序开发者,他要在小程序实现秒杀倒计时。于是他不假思索,写了以下代码: 可是,凹凸曼发现页面隐藏在后台时,定时器还在不断运行。于是凹凸曼优化了一下,在页面展示的时候运行,隐藏的时候就暂停。 问题看起来已经解决了,就在凹凸曼开心地搓搓小手暗暗欢喜时,突然发现小程序页面…
蒲公英 · JELLY技术周刊 Vol.11 Lighthouse 测试报告生成
文章分享了网易云音乐前端性能监控平台使用 Lighthouse 的实践经验,介绍了 Lighthouse 的测试流程、内部模块实现以及性能指标计算等。文章循循善诱,使用清晰明了的架构图和简单易懂的代码例子,剖析了 Lighthouse 从建立链接、搜集、审计评分到主要性能指标的…
前端也要懂物理 —— 惯性滚动篇
我们在平时编程开发时,除了需要关注技术实现、算法、代码效率等因素之外,更要把所学到的学科知识(如物理学、理论数学等等)灵活应用,毕竟理论和实践相辅相成、密不可分,这无论是对于我们的方案选型、还是技术实践理解都有非常大的帮助。今天就让我们一起来回顾中学物理知识,并灵活运用到惯性滚…
蒲公英 · JELLY技术周刊 Vol.10 为什么你还不使用 TypeScript
蒲公英 · JELLY技术周刊 Vol.09 StackOverflow - 2020 开发者年度报告
技术问答社区 StackOverFlow 的年度报告,本次报告统计了来自于全球各地共 65000 名开发者。有几项数据令人震惊: 美国开发者是全球最勤奋的开发者,平均每周工作 41.8 个小时(可以推算出此问卷的中国样本很少)。 在大多数情况下,使用网络字体并不需要延迟网页渲染…
京东小程序 Taro 开发对比原生开发测评
Taro 已经 100% 支持转换京东小程序,受到了很多同学的关注。当中有欢呼雀跃的声音:“一键转换为京东小程序,终于可以准时下班啦”。也有对 Taro 不太了解的同学提出了一些疑问:“转换的效果如何?”、“转换后代码的性能是否达标?” 等等。 针对各种疑问,我们从性能与开发体…
蒲公英 · JELLY技术周刊 Vol.08 -- 技术周刊 · npm install -g typescript@3.9.3
React/Vue/Nerv 任你选,多端框架 Taro 发布 3.0 RC 版本
在 Taro Next 预览版(Alpha)版本之后,我们没有停下迭代的步伐,经过两个月的开发和数百次提交之后,我们谨慎但坚定地发布 Taro Next 测试(Beta) 版,Beta 版发布后,社区很多开发者使用上了 Taro Next,他们的帮助和赞誉加上我们内部项目使用的…
一个学习 Koa 源码的例子
Koa 中间键机制:Koa 中间件机制就是函数组合的概念,将一组需要顺序执行的函数复合为一个函数,外层函数的参数实际是内层函数的返回值。洋葱圈模型可以形象表示这种机制,是 Koa 源码中的精髓和难点。 到此,我们简版的 Koa 就已经完成实现了。让我们庆祝一下先!!! Koa …
蒲公英 · JELLY技术周刊 Vol.07: EcmaScript 2020 -- 所有你想要知道的都在这
「学不动啦!」如果 ES2015 你还没学会的话,TC39 委员会可不会停下他们的脚步,ES 2020 已经正式定稿了:其中 BigInt、Optional Chaining、Dynamic Import()、Nullish Coalescing Operator 等特性相信很…
大规格文件的上传优化
第一步是结合项目背景,调研比较优化的解决方案。 文件上传失败是老生常谈的问题,常用方案是将一个大文件切片成多个小文件,并行请求接口进行上传,所有请求得到响应后,在服务器端合并所有的分片文件。当分片上传失败,可以在重新上传时进行判断,只上传上次失败的部分,减少用户的等待时间,缓解…
蒲公英 · JELLY技术周刊 Vol.06: Deno 1.0 发布前瞻,“真香定律”能否再现
Deno——来自 Node 之父 Ryan Dahl 的最新力作,在开源 2 年之际,终于将迎来 1.0 的正式版本。Deno 并不是 Node 的替代品,根据 Deno GitHub 官网上的介绍,Deno 是一款通用的 JavaScript/TypeScript 编程环境,…
京喜前端自动化测试之路
京喜(原京东拼购)项目,作为京东战略级业务,拥有千万级别的流量入口。为了保障线上业务的稳定运行,每月例行开展前端容灾演习,主要包含小程序及 H5 版本,要求各页面各模块在异常情况下进行适当的降级处理,不能出现空窗、样式错乱、不合理的错误提示等体验问题。 原来的容灾演习过程:小程…
蒲公英 · JELLY技术周刊 Vol.05: Rust & Electron 的高性能实践 -- Finda
作者从 JavaScript 下载时间、解析时间、执行时间、内存占用四个角度评测了 jQuery、Angular、React、Vue 四个框架,最终得出结论:「框架不值得」,应该选择原生 JavaScript 或选择超轻量级框架或在服务端渲染。此文可配合蒲公英技术周刊第三期的 …
Taro 2.2 全面插件化,支持拓展和定制个性化功能
插件在 Taro 中,一般通过编译配置中的 plugins 字段进行引入。 如果你有一系列插件需要配置,而他们通常是组合起来完成特定的事儿,那你可以通过插件集 presets 来进行配置。 配置编译配置中的 presets 字段,如下。 在了解完如何引入插件之后,我们来学习一下…
使用 Taro 的小伙伴们有福啦,快速开发京东小程序
近两年来小程序逐渐成为互联网的一个行业风口,一直备受业界关注,各大厂也接踵推出了自己的小程序。近日京东也推出了小程序:京东小程序。Taro 作为一款专注于多端统一开发的框架,第一时间对京东小程序进行了适配,使用 Taro 的小伙伴们有福啦,只要是之前用 Taro 写的代码,可以…
蒲公英 · JELLY技术周刊 Vol.04
智能可视化搭建系统 Atom 服务架构演变
Atom 服务端经历了三个版本的迭代,本文着重剖析第三个版本。 这是 Atom 最古老的一个版本,在这一版本中,只规划了频道页的功能,目的是把开发人员从繁复的频道页开发中解放出来,因为功能目的纯粹,所以系统复杂度较低,服务端直接使用了 Koa 框架上手开发,这是一个单体架构的服…