蒲公英 · JELLY技术周刊 Vol.18

自 2011 年,Facebook 第一次在 News Feed 上采用了 React 框架,十年来 React 生态中很多好用的功能和工具在诸多设计思想和哲学的引导下被开发完成,印象最深的的设计是哪些?Fiber、Hooks 还是 Suspense?或者是一些 React 生态中的工具,比如 React Europe 2020 上刚刚分享的 Recoil?从 Class 走向 Function,Algebraic Effects 又有多少了解呢?

登高远眺

天高地迥,觉宇宙之无穷

基础技术

深色模式适配指南

自从 iOS13 自带支持深色模式(dark mode)以来,就一直为大家所关注,仿佛支持深色模式已经成为现代移动应用和网站的一个潮流,这不得不证明 iOS 的影响力之强大。本文就 Web、APP、Flutter 如何来实现深色模式适配,进行了深入地剖析。其中 Web 适配最终采用的是 CSS 变量+降级的方案,而 iOS、Android 原生以及 Flutter 都有各自系统提供的 API 能够比较容易地实现深色模式适配。

前端框架

超简单 Algebraic Effects 入门 -- React Team 出品

React team 的 Sebastian(曾提出 Hooks 与 Suspense 等特性) 常常谈到 React 的某些特性其实是以 Algebraic Effects 作为心智模型,这让他的同事 Dan (Redux 作者)非常好奇。一番探索之后 Dan 发现这个从函数式编程领域而来的概念并没有一些学术论文上写的那么复杂,因此透过本文向不了解 Algebraic Effects 的开发者进行科普,并讲述了它与一些 React 特性之间的抽象联系。

Recoil - 面向 React 设计的状态管理库

在 5 月的 React Europe 2020 上,Dave McCabe 为我们分享了 FaceBook 推出的状态管理工具 Recoil。在状态管理工具琳琅满目的今日,为什么 React 官方要躬身入局?Recoil 的诞生是为了解决什么问题?Recoil 又是如何兼容 React 最新的特性呢?详情请看视频回顾。

深入解析 React Fiber 架构及源码

在React框架中,总是有一个用于保持状态的内部实例树(internal instances)(组件,DOM节点等),与之相对的是跟具体平台有关的public instance,也被称为Host instance 。从React 16开始,React推出了该内部实例树的新实现以及负责操作树的算法,被称为Fiber,它能够将任务分片,划分优先级,同时能够实现类似于操作系统中对线程的抢占式调度,功能非常强大。有兴趣的小伙伴可以通过这篇文章进行深入的了解~

设计哲学

除了 Todo App 之外,我们如何才能获得实践技术的新点子?

学习新技术的时候,你会拿什么项目来练手呢?大部分人都会选择写一个 Todo App(提醒事项程序) 吧。作为过来人,GaneshMani 认为,Todo App、聊天室等简单的小项目固然可以让初学者熟悉语言、框架的运作,但对于职业生涯,甚至是激烈的面试竞争来说,都是远远不够的。如何想到一个更合适、更有实践意义的项目?这篇文章手把手进行了教学。

工具推介

Postwoman - 一个开源、免费、快速、漂亮的女邮差?

Postman(邮差)你肯定听说过,那 Postwoman(女邮差) 呢?不满足于 Postman 的收费,又受不了 cURL 等工具的繁琐用法,Liyas Thomas 决定用 node + Vue 自己造一个轮子,这便是 Postwoman 的由来。Postwoman 是一款开源的请求构造器,支持调试 Restful 接口,WebSocket、GraphQL 等也不在话下,用法与 Postman 没有太大区别,最重要的是免费,永久的免费。

沧海拾遗

沧海拾遗,积跬步以至千里

使用 react-docgen 自动生成组件文档

写文档是不可能的,但是开发却也离不开文档,那么一个自动化文档就是必不可少的!如果你也用 React 完成开发工作,相信 react-docgen 会给日常的开发工作带来极大的便利,统一文档格式,节省时间做更多有意义的事情~~

手写 webpack 打包一个 react 单页面应用

打包是前端工程化中不变的问题,如何高效高质量的完成它,在开发和发布过程中,都可以节省很多成本。但是你真的了解打包的原理么?这次我们就从一个简单的 react 单页面应用着手,来详细讲讲 webpack 到底干了啥。

「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术工程化跨端框架技术图形编程服务端开发桌面开发人工智能设计哲学前端框架」等多个大方向的业界热点,并加以专业的解读;不仅如此,我们还会推介精选凹凸技术文章,向大家呈现团队内的研究技术方向。

抬头仰望,蒲公英的种子会生根发芽,如夏花绚烂;格物致知,我们登高远眺、沧海拾遗,以求积硅步而至千里。

蒲公英 · JELLY技术周刊贡献指南

欢迎关注凹凸实验室博客:aotu.io

或者关注凹凸实验室公众号(AOTULabs),不定时推送文章:

蒲公英 · JELLY技术周刊 Vol.18 关于 React 那些设计的更多相关文章

  1. 蒲公英 · JELLY技术周刊 Vol.21 -- 技术周刊 · React Hooks vs Vue 3 + Composition API

    蒲公英 · JELLY技术周刊 Vol.21 选 React 还是 Vue,每个人心中都会有自己的答案,有很多理由去 pick 心水的框架,但是当我们扪心自问,我们真的可以公正的来评价这两者之间的差异 ...

  2. 蒲公英 · JELLY技术周刊 Vol.26: 请问您这个月要来点肝么?

    蒲公英 · JELLY技术周刊 Vol.26 今年的十月,不知道大家在 TODO List 上新增了多少条目准备尝鲜,你可能已经准备了 Vue3.Webpack5 以及 React v17.0 RC, ...

  3. 蒲公英 · JELLY技术周刊 Vol.29: 前端智能化在阿里的那些事

    蒲公英 · JELLY技术周刊 Vol.29 前端智能化是指借助于 AI 和机器学习的能力拓展前端,使其拥有一些超出现阶段前端能力的特性,这将是未来前端方向中一场重要的变革.目前各家互联网厂商都有自己 ...

  4. 蒲公英 · JELLY技术周刊 Vol.34: 芜湖~ Flutter

    蒲公英 · JELLY技术周刊 Vol.34 提及跨端,你能想到那些技术?PWA.小程序.Ionic.React Native.Weex--当然也少不了 Flutter,历时 3 年,Flutter ...

  5. 蒲公英 · JELLY技术周刊 Vol.22: npm i react-router@6.0.0-beta.0

    蒲公英 · JELLY技术周刊 Vol.22 近期 React Router 已经释出了 6.x 的 beta 版本,正式版本已经不远了,作为 React 生态中的重要组成部分,React Route ...

  6. JELLY技术周刊 Vol.24 -- 技术周刊 · 实现 Recoil 只需百行代码?

    蒲公英 · JELLY技术周刊 Vol.24 理解一个轮子最好的方法就是仿造一个轮子,很多框架都因此应运而生,比如面向 JS 开发者的 AI 工具 Danfo.js:参考 qiankun 的微前端框架 ...

  7. 蒲公英 · JELLY技术周刊 Vol.25 · Webpack 5 正式发布,你学废了么

    蒲公英 · JELLY技术周刊 Vol.25 阔别两年,Webpack 5 正式发布了,不仅清理掉很多冗余的功能,同样也为我们带来了很多新鲜的能力,不论是默认开启的持久缓存,还是反病毒保护,亦或者被其 ...

  8. 蒲公英 · JELLY技术周刊 Vol.03

    蒲公英 · JELLY技术周刊 Vol.03 「蒲公英」期刊全新升级--JELLY技术周刊!深度挖掘业界热点动态,来自团队大咖的专业点评,带你深入了解团队研究的技术方向. 登高远眺 天高地迥,觉宇宙之 ...

  9. 蒲公英 · JELLY技术周刊 Vol.16 谷歌首个线上 Web 开发者大会

    蒲公英 · JELLY技术周刊 Vol.16 近期,谷歌有史以来的第一次线上谷歌 Web 开发者大会,Web Vitals.PWA.DevTools 和 Lighthouse 6.0 等一系列特性或产 ...

随机推荐

  1. 深入理解golang:sync.map

    疑惑开篇 有了map为什么还要搞个sync.map 呢?它们之间有什么区别? 答:重要的一点是,map并发不是安全的. 在Go 1.6之前, 内置的map类型是部分goroutine安全的,并发的读没 ...

  2. Mybatis(一)Mybatis简介与入门程序

    Mybatis简介: MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动.创建connection.创建 ...

  3. 面试题四十三:在1~n整数中1出现的次数

    方法一:直观来看,遍历1到n,每个数去做%10的循环判断 int Number1_B_1toN( int n){ int sum=0; for(int i=1;i<=n;i++){ int k= ...

  4. Bug--Mybatis报错:There is no getter for property named 'id' in 'class java.lang.Integer'

    Mybatis 添加@Param("")注释就可以了

  5. windows 下安装YApi及集成Idea的YapiUpload

    一准备工具 Mongodb Node和npm 二文档地址 https://hellosean1025.github.io/yapi/ 三安装步骤 1.安装Mongodb,请参考 2.安装Node,请参 ...

  6. Fortify Audit Workbench 笔记 Privacy Violation 隐私泄露

    Privacy Violation 隐私泄露 Abstract 对各种机密信息处理不当,如客户密码或社会保障号码,会危及到用户的个人隐私,这是一种非法行为. Explanation Privacy V ...

  7. MacOS下ElasticSearch学习(第一天)

    ElasticSearch第一天 学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"elasticsearch&q ...

  8. luogu 6046 纯粹容器 期望dp

    LINK:纯粹容器 一道比较不错的期望题目. 关键找到计算答案的方法. 容易发现对于每个点单独计算答案会好处理一点. 暴力枚举在第k轮结束统计情况 然后最后除以总方案数即可. 考虑在第k轮的时候结束 ...

  9. luogu P4008 [NOI2003]文本编辑器 splay 块状链表

    LINK:文本编辑器 这个东西感觉块状链表写细节挺多 (块状链表本来就难写 解释一下块状链表的做法:其实是一个个数组块 然后利用链表给链接起来 每个块的大小为sqrt(n). 这样插入删除的时候直接暴 ...

  10. System.nanoTime与System.currentTimeMillis比较

    System.nanoTime与System.currentTimeMillis比较 ​currentTimeMillis返回的是系统当前时间和1970-01-01之前间隔时间的毫秒数,如果系统时间固 ...