Sign in

Jamie Birch

@shirakaba.bsky.social
1.7K followers 122 following 684 posts

💼 Software Engineer 👨‍🔧 Cross-platform hobbyist 📱NativeScript TSC 📺 ex-Smart TV dev 👨‍🔬 ex-virologist 🇯🇵 日本語 🆗

PostsRepliesMedia
Reposted by Jamie Birch
Mazen Chami @mazenchami.dev · 07/10/2026
Just finished recording a @reactnativeradio.com episode on @expo.dev for desktop with @shirakaba.bsky.social and this is an episode you don't wanna miss. great conversation and content!
031
Reposted by Jamie Birch
michaelrambeau.bsky.social @michaelrambeau.bsky.social · 04/01/2026
🌠 JS Rising Stars 2025 are live! Huge thanks to our amazing guest writers: @rwieruch.bsky.social (React) @danielroe.dev (Vue, coming soon 😉) @sebastienlorber.com (Tooling) @jherr.dev (AI) @shirakaba.bsky.social (Mobile) Your insights bring depth to the report! risingstars.js.org/2025/en
risingstars.js.org
2025 JavaScript Rising Stars
A complete overview of the JavaScript landscape in 2025: trends about frontend, fullstack and Node.js frameworks, React and Vue.js ecosystems, build tools, state management...
0143
Jamie Birch @shirakaba.bsky.social · 11/11/2025
I've sent you an email with a job posting 😊
030
Jamie Birch @shirakaba.bsky.social · 17/09/2025
Bug filed here! Thanks for the push. bugs.webkit.org/show_bug.cgi...
bugs.webkit.org
298992 – Pan gestures pass through scroll containers laid over vertical-rl body text (but only once the document's scrollingElement has been scrolled by about one viewport of width)
230
Jamie Birch @shirakaba.bsky.social · 17/09/2025
It's even worse on the latest releases of Safari. The scroll container doesn't even render! Wasn't expecting that. macOS Tahoe 26.0 (25A353): - Left: Safari 26.0 (21622.1.22.11.14). - Middle: Safari on iOS 26.0. - Right: Safari TP 227 (WebKit 21623.1.5). Linking this as well.
110
Jamie Birch @shirakaba.bsky.social · 17/09/2025
It seems it doesn't require a mix of horizontal-tb and vertical-rl. Purely vertical-rl is enough. Will link this video in the Bugzilla report.
100
Jamie Birch @shirakaba.bsky.social · 17/09/2025
I think I've got a repro! Both a scrolling issue (as the pan gesture passes straight through the overlay) and a rendering issue (as the bottom portion of the overlay unexpectedly goes black). Just cleaning it up, then will file it.
130
Jamie Birch @shirakaba.bsky.social · 17/09/2025
Thank you! 🙇‍♂️ @smfr.bsky.social did offer to raise visibility – I just hadn't had any time to try to make a repro, sorry! I'm trying to make a repro now, just failing to work out the exact combination of factors behind the ebook that was causing the issue. bsky.app/profile/smfr...
110
Jamie Birch @shirakaba.bsky.social · 10/07/2025
This is another big deal. We can write React Native modules in Rust now, with a standard approach rather than deep, specialist expertise. Heck, we can code in C, C++, C#, Swift, Zig, Go, too – pick whichever you feel most comfortable in! bsky.app/profile/krae...
081
Jamie Birch @shirakaba.bsky.social · 10/07/2025
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
1162
Jamie Birch @shirakaba.bsky.social · 11/06/2025
See this PR in which I set up Metro to special-case certain file extensions. I transpile .wvts files from TS to JS, then wrap in a string (to inject into a WebView). In your case, you’d transpile .purs files to JS ESM modules, without wrapping in a string afterwards. github.com/shirakaba/pa...
github.com
Merge pull request #1 from shirakaba/source-assets · shirakaba/paranovel-two@16fc303
support "source assets" to improve DX of injecting scripts into the WebView
030
Jamie Birch @shirakaba.bsky.social · 13/03/2025
The number of people who didn’t even bother reading Anders and Ryan’s summaries of how the language evaluation went, and just parrot bastardised takes by lazy influencers, is just aggravating
040
Jamie Birch @shirakaba.bsky.social · 09/03/2025
DMed! 🥳
010
Jamie Birch @shirakaba.bsky.social · 05/03/2025
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!
050
Jamie Birch @shirakaba.bsky.social · 05/03/2025
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...
041
Jamie Birch @shirakaba.bsky.social · 05/03/2025
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!
010
Reposted by Jamie Birch
Dan Hon @danhon.com · 28/02/2025
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
3253
Jamie Birch @shirakaba.bsky.social · 26/02/2025
Whoops, obviously forgot to rename "compendium" -> "paranovel" for the screenshot. Well, there's plenty of other glaring errors in there anyway 😅
000
Jamie Birch @shirakaba.bsky.social · 26/02/2025
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!
3120
Jamie Birch @shirakaba.bsky.social · 25/02/2025
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!
0180
Reposted by Jamie Birch
Marvin Hagemeister @marvinh.dev · 23/02/2025
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...
marvinh.dev
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...
914339
Jamie Birch @shirakaba.bsky.social · 24/02/2025
Very cool, and great writing as always. I’ve heard this “arrays, not trees” sentiment for AST-traversal come up a few times in the last couple years. I heard on the Devtools podcast that Tailwind and/or VoidZero (can’t recall) are investigating the same. The idea came up on Hacker News too.
010
Jamie Birch @shirakaba.bsky.social · 22/02/2025
Helping bring Node-API to React Native 🫡
0132
Jamie Birch @shirakaba.bsky.social · 22/02/2025
Join us, you'll never have time to spare for language-learning ever again haha
230
Jamie Birch @shirakaba.bsky.social · 22/02/2025
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! 😮‍💨
2352
Jamie Birch @shirakaba.bsky.social · 18/02/2025
Yeeep
000
Jamie Birch @shirakaba.bsky.social · 18/02/2025
I think the talks aren't streamed or recorded, but I'll make the slides available online afterwards. There are still some spots available however, so please attend if you can make it! まだ空きがありますので、お時間があれば、ぜひご参加ください! トークは配信も録画もされないと思いますが、後ほどスライドをオンラインで公開いたします。
130
Jamie Birch @shirakaba.bsky.social · 18/02/2025
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.connpass.com
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 になっています。 ...
1101
Jamie Birch @shirakaba.bsky.social · 17/02/2025
Thank you!
040
Jamie Birch @shirakaba.bsky.social · 17/02/2025
Thank you! It's certainly on my mind! Just a bit overloaded with other stuff lately 😅 Unfortunately the patching necessary to implement Expo support for react-native-macos and react-native-windows is not very talk-friendly and the content would quickly go out of date, so mmm it's a hard one.
1100
Jamie Birch @shirakaba.bsky.social · 17/02/2025
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...
prtimes.jp
遂に待望のデスクトップアプリ・モバイルアプリをリリース!scoville、介護業界に特化し、所定フォーマットで会議議事録・記録を自動作成する革新的な業務効率化アプリ「noman(ノーマン)」
株式会社scovilleのプレスリリース(2025年2月17日 11時00分)遂に待望のデスクトップアプリ・モバイルアプリをリリース!scoville、介護業界に特化し、所定フォーマットで会議議事録・記録を自動作成する革新的な業務効率化アプリ「noman(ノーマン)」
5384
Jamie Birch @shirakaba.bsky.social · 16/02/2025
React Native is responsible for most of the Ruby, Swift, Objective-C and C++ learning I’ve ended up doing. There are certainly many products that can be built just in JS land with off-the-shelf native modules, but to be truly unlimited, an RN dev should definitely be ready to dive into native code.
080
Jamie Birch @shirakaba.bsky.social · 15/02/2025
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!
1370
Jamie Birch @shirakaba.bsky.social · 13/02/2025
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.
190
Reposted by Jamie Birch
Yagiz Nizipli @yagiznizipli.com · 12/02/2025
Amazing news. @nativescript.bsky.social updates Ada and adds URLPattern! github.com/NativeScript...
github.com
feat: ada v3 by NathanWalker · Pull Request #268 · NativeScript/ios
Supports Ada v3 https://github.com/ada-url/ada/releases/tag/v3.0.0 Implement URLPattern cc/ @anonrig
0123
Jamie Birch @shirakaba.bsky.social · 12/02/2025
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...
github.blog
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)
040
Jamie Birch @shirakaba.bsky.social · 12/02/2025
Sparkling native
040
Jamie Birch @shirakaba.bsky.social · 11/02/2025
I've not filed any bugs yet (usually too exhausted to invest any deeper), but here's the other show-stopper I ran into: I'll try to file both! bsky.app/profile/shir...
110
Jamie Birch @shirakaba.bsky.social · 11/02/2025
With this one, I have tried combinations of *everything*. Fixed positioning, absolute positioning, touch-action, overscroll-behavior, -webkit-overflow-scrolling, pointer-events, isolation, overflow, event.preventDefault(), *everything*. This is a straight up unworkable end-of-the-line bug.
120
Jamie Birch @shirakaba.bsky.social · 11/02/2025
I'm so fed up at this point. I've sunk weeks into working around bugs that are completely specific to Japanese/vertical‑rl text in WebKit. I want to read the book the way it was published. But with no workarounds left, I think I have to force all books into horizontal‑tb to make this viable to use.
220
Jamie Birch @shirakaba.bsky.social · 11/02/2025
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`! 😭
240
Jamie Birch @shirakaba.bsky.social · 10/02/2025
What if I told you the Amazon Shopping app also used React Native
160
Jamie Birch @shirakaba.bsky.social · 10/02/2025
Usually Xcode confidently insisting on opening your JSON files is the meme, but this does arguably top it
110
Jamie Birch @shirakaba.bsky.social · 10/02/2025
Ahh yes, please default to opening my SVG file in Parallels Desktop
1210
Jamie Birch @shirakaba.bsky.social · 09/02/2025
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.
030
Jamie Birch @shirakaba.bsky.social · 08/02/2025
Oh, very nice! traceResolution might solve a problem I have. I have one app in a monorepo, and when I typecheck it, tsc ends up crawling into my other apps and packages in the monorepo that I’m pretty sure I haven’t imported from.
110
Jamie Birch @shirakaba.bsky.social · 05/02/2025
Here's where they implement XMLHttpRequest: github.com/facebook/rea... And here's where they apply the whatwg-fetch polyfill: github.com/facebook/rea... All of this is done at the runtime level in React Native, rather than the engine level in Hermes (which makes sense).
github.com
150
Jamie Birch @shirakaba.bsky.social · 05/02/2025
Here's where the networking code lives in React Native: - iOS: github.com/facebook/rea... - Android: github.com/facebook/rea... - macOS: github.com/microsoft/re... - Windows: github.com/microsoft/re... (may differ between Old Arch, which is based on UWP, and New Arch, which is based on Win32).
github.com
react-native/packages/react-native/Libraries/Network/RCTNetworking.mm at a298ccabe200bea14a3d969ccc7cb1dd93b172a7 · facebook/react-native
A framework for building native applications using React - facebook/react-native
140
Jamie Birch @shirakaba.bsky.social · 05/02/2025
I am not intimately familiar with how WebKit does networking. As a cross-platform project, I suppose it can't use NSURLRequest? Unless it makes a special exception for Apple platforms. So if the main bottleneck is I/O, perhaps WKWebView uses a better networking library than NSURLRequest?
120
Jamie Birch @shirakaba.bsky.social · 05/02/2025
Although most of the networking performance will be bottlenecked on I/O rather than executing JS, it's worth touching on. React Native's JS engine, Hermes, cannot use JIT due to App Store rules, unlike WebView. Hence they shouldn't be compared in debug mode; in release mode, the JS is AoT-compiled.
120