蒲公英 · 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. PHP设计模式之----简单工厂模式

    定义个抽象的类(或接口),让子类去继承(实现)它 abstract class Operation { abstract public function getValue($num1, $num2); ...

  2. LQB201803乘积尾零

    果然是练思维呀!!要是我的话估计就能挨个算一算呜呜呜 分解成 2和5相乘的式子 #include <iostream> using namespace std; //快速幂运算 int m ...

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

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

  4. 线程_进程间通信Queue合集

    # Queue的工作原理 from multiprocessing import Queue q = Queue(3)#初始化一个Queue对象,最多可接收3条put消息 q.put("In ...

  5. 记一次使用commit提交大文件无法推送到远程库解决问题过程及git rebase使用

    记一次使用commit提交大文件无法推送到远程库解决问题过程及git rebase使用 目录 大文件无法push到远程仓库 问题 commit的大文件无法push到远程库解决办法 git filter ...

  6. python基础day7_编码及小数据池

    数字概念,字符串----小数据池 数字的范围:-5---256 字符串: 1,不能有特殊字符 2,s*20还是同一个地址,s*21之后就是另外一个地址 i1 = 6 i2 = 6 print(id(i ...

  7. PHP set_file_buffer() 函数

    定义和用法 set_file_buffer() 函数设置打开文件的缓冲大小. 使用 fwrite() 函数输出结果,缓冲的大小通常为 8K.因此,如果要将两个进程写入同一个文件,那么每个文件一次最多只 ...

  8. PHP str_split() 函数

    实例 把字符串 "Hello" 分割到数组中: <?php print_r(str_split("Hello")); ?>高佣联盟 www.cgew ...

  9. PDO::lastInsertId

    PDO::lastInsertId — 返回最后插入行的ID或序列值(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 string PDO::lastIn ...

  10. CF R 632 div2 1333D Challenges in school №41

    LINK:Challenges in school №41 考试的时候读错题了+代码UB了 所以wa到自闭 然后放弃治疗. 赛后发现UB的原因是 scanf读int类型的时候 宏定义里面是lld的类型 ...