Jamie Birch

@shirakaba.bsky.social

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

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!

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

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!

BildBild

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!

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! 😮‍💨

Bild

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!

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`! 😭

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.

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!

Emerge Tools@emergetools.bsky.social · last yr.

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 🙇

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 🏎️

Bild

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

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.

Bild

I profiled the build stages of a React Native 0.76 iOS app with New Arch enabled. I found that most of the ~1 minute build time is due to RN core, of which a lot is blocked on Fabric. But I was surprised to see that Expo Modules Core cannot be parallelised, and holds up all Expo Modules.

Bild

Very interesting to take a build profile of an Expo / React Native app using xcode-build-times. It's cool to see how massively parallel it is in general, but there are distinct stages where everything blocks on long builds for React-Fabric, ReactCodegen, React-RCTFabric, and Expo Modules Core.

Bild

Just hit the “publish” button on a brand-new blog post! ⭐ This one shares the killer pattern I find myself using over and over with container queries: responding *within* media queries to adapt to the new container size. Once you start using this trick, you’ll see opportunities for it all over. 😄

Container Queries Unleashed • Josh W. Comeau

Container queries expand the universe of designs that can be implemented, giving us whole new superpowers. Now that container queries are broadly available, I think it’s time we start exploring this p...

joshwcomeau.com