Jamie Birch
banner
shirakaba.bsky.social
Jamie Birch
@shirakaba.bsky.social
💼 Software Engineer 👨‍🔧 Cross-platform hobbyist 📱NativeScript TSC 📺 ex-Smart TV dev 👨‍🔬 ex-virologist 🇯🇵 日本語 🆗
This is it, the most consequential evolution of React Native since JSI and New Arch. Through Node-API, we can:

- unit-test native modules in Node.js
- code-share with Electron
- use NativeScript inside React Native
- prebuild community modules
- achieve 7-second app builds
July 10, 2025 at 1:34 PM
I've just uploaded the lightning talk I gave on build profiling at React Native Meetup #20 (featuring Meta and Callstack) on Feb 18th.

- English: speakerdeck.com/shirakaba/bu...

- Japanese (original): speakerdeck.com/shirakaba/bi...

Someone should really look into the cmake settings for Android!
March 5, 2025 at 12:02 PM
Now streaming! We're going to be recreating the Xcode UI as a React DOM + Tailwind component for teaching purposes.

In this screenshot, the top bit is what I've completed so far, while the bottom bit is the reference image that we need to reproduce!

Stream here:
youtube.com/live/6jmLZ72...
March 5, 2025 at 5:45 AM
More progress on my Xcode classroom – a React DOM + Tailwind v4 component for making tutorials that involve Xcode!

Lately I've been improving window resizing. I wanted to match how Xcode collapses labels (yet not icons) when space is limited. Keep your eyes on the run destination!
March 5, 2025 at 4:43 AM
Reposted by Jamie Birch
my understanding is that you are also not allowed to just write css anymore and you have to use some sort of meteorological phenomenon to manage it for you
February 28, 2025 at 9:53 PM
Continuing work on my fake in-browser Xcode mockup for making React Native tutorials. Spot the difference!

Built using React DOM and Tailwind v4. I can't use SFSymbols due to licensing, so I'm doing the best I can with Material Icons/Symbols 😅 it somewhat works!
February 26, 2025 at 2:05 PM
I've been making a docs site to share everything I've learned as a fullstack dev. 📜

When it came to documenting React Native, I decided that instead of using static screenshots of Xcode, it would be nice to have an interactive mockup of Xcode in-browser. So I began making one!
February 25, 2025 at 10:56 AM
Reposted by Jamie Birch
Speeding up the JavaScript ecosystem part 11 is here! This time we're looking at:

Extending Rust tools with JavaScript plugins

marvinh.dev/blog/speedin...
Speeding up the JavaScript ecosystem - Rust and JavaScript Plugins
Up until recently, supporting JavaScript in Rust based tools has been deemed not worth it. The main concern is the overhead of the de-/serialization cost when sending data back and forth. But there is...
marvinh.dev
February 23, 2025 at 3:37 PM
Just successfully built a Node-API module for iOS, tvOS, visionOS, and macOS (with and without Catalyst), all packaged into a single XCFramework 🥹

Had to dig through the cmake internals to figure out how to build for Catalyst properly, but got there in the end! 😮‍💨
February 22, 2025 at 3:21 PM
I'll be presenting a Japanese-language lightning talk on build profiling at React Native Meetup today!

本日、React Native Meetupにて、日本語でビルドプロファイリングについてのLTを発表します!
react-native-meetup.connpass.com/event/340533/
React Native Meetup #20 ft. meta & callstack! (2025/02/18 19:00〜)
# React Native Meetup #20 ft. Meta, Callstack team ## イベントの概要 / Overview React Native に関する知見を共有するLT会の第20回を開催します! 今回は Amazon様の協力の元、meta, 及び callstack のチームをゲストとしてお迎えして mybest と合同で開催する Meetup になっています。 ...
react-native-meetup.connpass.com
February 18, 2025 at 12:56 AM
We just annouced the React Native app I've been working on!

noman is an app for transcribing meetings, capturing audio from any video conferencing software (on desktop).

It might be the first Expo app in the world to target iOS, Android, macOS, and Windows?
prtimes.jp/main/html/rd...
遂に待望のデスクトップアプリ・モバイルアプリをリリース!scoville、介護業界に特化し、所定フォーマットで会議議事録・記録を自動作成する革新的な業務効率化アプリ「noman(ノーマン)」
株式会社scovilleのプレスリリース(2025年2月17日 11時00分)遂に待望のデスクトップアプリ・モバイルアプリをリリース!scoville、介護業界に特化し、所定フォーマットで会議議事録・記録を自動作成する革新的な業務効率化アプリ「noman(ノーマン)」
prtimes.jp
February 17, 2025 at 2:58 AM
I've started writing a docs website to share all the knowledge I've learned over nearly a decade of working with various technologies such as React Native.

As Docusaurus makes it so easy to set up (🙇‍♂️ @sebastienlorber.com), I've decided to provide screenshots in both light-mode and dark-mode!
February 15, 2025 at 1:53 AM
Challenge:

Start a clock. Look for where the React Native CLI starter template lives (let's say the TypeScript one). Stop the clock. Tell me how long it took you to find it.
February 13, 2025 at 12:15 AM
Reposted by Jamie Birch
Ohh yeah. Can now start to run your GitHub Actions CI builds on arm64-based Ubuntu machines.

It says they're faster than previous Arm-based VMs, but mainly I'll be interested in whether they're faster than x64!

github.blog/changelog/20...
Linux arm64 hosted runners now available for free in public repositories (Public Preview) · GitHub Changelog
Linux arm64 hosted runners now available for free in public repositories (Public Preview)
github.blog
February 12, 2025 at 1:18 AM
My ebook reader app continues to land on every single WebKit rendering bug:

Place a <div style="position: fixed"> into your <body>. That <div> will scroll just fine *until* you scroll the <body> along by one viewport, whereupon it cannot be scrolled.

… but *only* for `writing-mode: vertical-rl`! 😭
February 11, 2025 at 2:16 PM
Ahh yes, please default to opening my SVG file in Parallels Desktop
February 10, 2025 at 2:10 AM
Did a bit more work on my popover dictionary.

More and more edge cases to handle to get "ideal" layout. Still a few less-than-ideal cases to look into. Has started to turn the inflection point from "fun challenge" to "I wanna work on something else", but I seem to be getting closer to usability.
February 9, 2025 at 3:29 AM
Vanilla native:

With each platform you have just one ecosystem, one build system, and one set of docs. So full mastery is easier.

Cross-platform:

Full mastery requires learning all that stuff, *plus* the abstraction that wraps around it.

However, you can ship apps fine without full mastery!
An app like Fire TV is available on many different platforms (apart from mobile). If anyone is familiar with the process of shipping a similar app, and what the pros & cons of native vs. RN would be, would love to learn more about it 🙇
February 5, 2025 at 5:28 AM
Trying to learn about profiling Android builds to see where all React Native's build time is spent. Here, I'm using gradle-profiler.

Although my cold build time for a debug build is 6m 40s, my warm build time is consistently a mind-blowing 2.8 seconds. I despise Gradle, but I concede that's fast 🏎️
February 2, 2025 at 4:03 AM
Coming from iOS dev, I am staggered to see a React Native Android app complete a (warm) build in just 3 seconds.
February 1, 2025 at 10:07 AM
The official Android build docs mentioning that Android is "Kotlin-first". Huh!
February 1, 2025 at 10:02 AM
Reposted by Jamie Birch
We just released the beta for TypeScript 5.8! This release brings support for Node.js' require(ESM), smarter/safer checks for functions using advanced types, a few great optimizations for editor scenarios, and more. Give it a try!

devblogs.microsoft.com/typescript/a...
Announcing TypeScript 5.8 Beta - TypeScript
Today we are excited to announce the availability of TypeScript 5.8 Beta. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta Let’s tak...
devblogs.microsoft.com
January 29, 2025 at 8:13 PM
Oh dang, all that complicated popover positioning work that I was rigging up manully for my ebook reader app is actually supported at the CSS level in Chrome. This would have saved me so much time and tackled so many potential issues.

Can't come to WebKit soon enough 🥺 still not even in TP yet.
January 30, 2025 at 2:40 AM
I've just become acquainted with a deeper circle of Japanese subculture. The idea of a "times" channel, whereby members of a Slack community make personal channels to post tweet-like comments into, that a central channel aggregates.

It's like Twitter, but via Slack!
note.com/vaaaaanquish...
またSlackでtimesを始めてしまった|ばんくし
・Slackにおけるtimes文化とは ・一度仕事中のチャット雑談の全てを断ったがまたtimesを立てた話 ・守りたい節度とこれから Slackにおけるtimes文化とは 「times」とは、社内チャット等で自分のチャンネルを持ち、短いスパンで発言する社内Twitterのような文化形態である。 私がまだ学生でインターンやアルバイトという形でIT企業に関わって居た頃、彗星の如く現れた以下のブロ...
note.com
January 29, 2025 at 12:55 PM