Home

2022.05.09 - Why I don't miss React

Pi

Ping Xia

May 9, 20226 min read

Title: 2022.05.09 – Why I Don’t Miss React

This Week’s Hot Topics

Why I Don’t Miss React: a story about using the platform
https://www.jackfranklin.co.uk/blog/working-with-react-and-the-web-platform/
Read this as the musings of someone who went from using React every day to not touching it at all, and the experiences that came with that shift. I’m writing this because I’ve been pleasantly surprised by how much I enjoy working closer to the web platform. Related:

JavaScript Containers
https://tinyclouds.org/javascript_containers
The more we can strip away unnecessary abstractions, the closer we get to the idea of “The Network Is the Computer.” Cloudflare Workers is essentially an implementation of this concept on the Cloudflare network. Deno Deploy is a newer implementation on Google Cloud’s network. In this post I’ll explain how I think about JavaScript containers and speculate on how the technology might evolve over the next few years.

Third Age of JavaScript – Three Years In
https://www.swyx.io/third-age-2022
For the first time I presented an updated version of my “Third Age of JS” talk at Reactathon 2022 last week. The full talk is available as a livestream, and I’ll update this post when a standalone video is released.

Xilem: an architecture for UI in Rust
https://raphlinus.github.io/rust/gui/2022/05/07/ui-architecture.html
Like most modern UI architectures, Xilem is built around a view tree—a simple declarative description of the UI. For incremental updates, successive versions of the view tree are diffed, and the differences are applied to a widget tree, which resembles a traditional retained‑mode UI. Xilem also embeds an incremental computation engine with precise change propagation, specialized for UI workloads.

React Native Skia—For Us, For You, and For Fun
https://shopify.engineering/react-native-skia-shopify
Our goal with this project is twofold. First, we want to give React Native (which is notorious for limited graphics capabilities) a set of powerful 2‑D drawing primitives that work consistently across iOS, Android, and the Web. Second, we aim to bridge the gap between graphic designers and React Native by providing the same UI capabilities that tools like Figma offer. Now everyone can speak the same language.

Embracing a Docs‑as‑Code approach
https://engineering.grab.com/doc-as-code
Docs‑as‑Code has been gaining traction over the past few years as more tech companies adopt the practice. One of the most well‑known examples is Spotify, which uses Docs‑as‑Code to publish documentation on an internal developer portal. Since early 2021, Grab has also adopted a Docs‑as‑Code workflow to improve our technical documentation. Before we dive into how Grab does it, let’s clarify what the concept actually means.

GraphQL Is a Trap?
https://xuorig.medium.com/graphql-is-a-trap-e83ca380aa8f
GraphQL doesn’t inherently produce terrible SQL queries. I’m actually curious how the author arrived at that conclusion, because it’s not the typical pattern you see from GraphQL execution. Naïvely implemented, GraphQL can generate a lot of small queries—one per resolver. With a DataLoader, those become a smaller set of queries (often SELECT … WHERE … IN (…)). Nested queries and unbounded joins appear when someone tries to build resolvers that look ahead or uses some kind of GraphQL‑to‑SQL auto‑generation. That’s not something I encounter often in real‑world codebases.

Deep Reads

[Translation] The Future of Micro‑Frontends
https://mp.weixin.qq.com/s/NeKJ4EPnhrJ-GnTGs9MakA
From the end of 2021 to the first few weeks of 2022, I spent some time researching how micro‑frontends have evolved so far. I analyzed the different challenges that get teams stuck, the long‑standing anti‑patterns that cause coupling, and the common patterns used to solve these problems. In this article I’ll share some ideas and trends that might spark interesting discussions within the micro‑frontend community.

The Thing About Fastify
https://hire.jonasgalvez.com.br/2022/may/02/the-thing-about-fastify/
On the surface, there aren’t many practical differences between setting up web servers with Express and Fastify—they both let you register handlers for specific URLs and chain middleware between requests. But Fastify offers a lot more out of the box, such as built‑in logging, validation, and serialization. The articles I linked above are good starting points for learning about these features, and they also cover some of the clever performance tricks Fastify employs. I won’t repeat everything; instead I’ll focus on the aspects that matter most to me, the ones that truly make a difference, followed by some closing thoughts.

Porting Zelda Classic to the Web
https://hoten.cc/blog/porting-zelda-classic-to-the-web/
I ported Zelda Classic (a game engine based on the original Zelda) to the web. You can play it here—grab a gamepad if you have one! It’s a PWA, so you can also install it. I’ve written some background on Zelda Classic and chronicled the technical process of moving a large C++ codebase to the web using WebAssembly.

A Vision for Decentraland’s Next 5 Years
https://maraoz.com/2022/05/04/decentraland-vision/
The following are my personal views (I’m not part of the Decentraland Foundation). I’ll be candid and straightforward, tackling the platform’s main problems head‑on. Some ideas are my own; others are whispered among community members who are hesitant to propose radical changes. I hope sharing my five‑year vision sparks strategic discussions and inspires the community to take Decentraland to the next level. After that, we can use the DAO to vote popular proposals into protocol rules.

What Are Your Most Used Self‑Hosted Applications?
https://noted.lol/what-are-your-most-used-self-hosted-applications/
A frequent question in self‑hosted communities is, “What self‑hosted applications do you use the most?” That question alone has led me to discover many tools I never knew I needed. Perhaps I can return the favor by sharing my most‑used self‑hosted apps.

The Go Programming Language and Environment
https://cacm.acm.org/magazines/2022/5/260357-the-go-programming-language-and-environment/fulltext
Go is a programming language created at Google in late 2007 and released as open source in November 2009. Since then it has been a public project, with contributions from thousands of individuals and dozens of companies. Go has become a popular language… (content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.