Pearce Keesling

@keeslinp.bsky.social

Software developer at Quicken. Mobile dev enthusiast. Quality and performance are an art

An interesting discovery of the AI era has been that SwiftUI is way slower than UIKit because folks are spinning up complex tests in both frameworks. There's a blog post in here somewhere about how Compose is a better successor to Views than SwiftUI is to UIKit.

Every few months I open up the agent tab in Android Studio to try something out and it's always a pleasant surprise that it has gotten a little better. Panda 4 feels a lot better than the last time I tried it out

I've added iOS style swipe gestures to a branch of our android app and now I want it everywhere. I still believe system back gesture is superior because of how ubiquitous it is, but I really enjoy having both options. I keep accidentally swiping on our production app to try and go back

Nav3 for compose is so incredibly cool because what do you mean I can write my own scene strategy and get exactly the layout and transition behavior I want without the screens themselves even needing to change. Makes everything else I've ever used feel like handcuffs

The #1 thing that could make CMP easier to figure out would be to align coordinates for dependencies so I don't have to do the song and dance of figuring out what version of an androidx package corresponds to the jetbrains coordinate. Someday I want to add compose as a dep and start coding

Big companies are so weird. Amazon is migrating FireTV to be first class React Native based, but then I listened to a podcast today about how prime video (presumably their flagship app?) is migrating from React to Rust

AI is so consistently and confidently wrong about gradle project configuration. It will tell me all about how I need to do a ten step process to correct my configuration when the truth is I just mixed up a "." for a ":"

Trying out @heron.tunji.dev for the first time. Holy cow it's impressive how much one dev can get done. 10% the size of the main app and absolutely gorgeous animations and polish. Obviously there are still some kinks to work out but it's already better than the default by leaps and bounds

Currently updating some maestro tests that our QE team has put together. I'm starting to doubt the scalability of yaml files. It makes for a great demo but orchestrating hundreds of tests becomes painful. The JS/bash workarounds needed to scale are tricky and bespoke.

I'm excited to announce something I've been building, an open source atproto client heron.tunji.dev! Its currently available in beta on Google Play for Android devices. Please DM @heron.tunji.dev if you'd like early access. It will be released to all Android users in the next few weeks!

Just filed the "revert to old architecture" PR. Huge bummer, but the new arch is still way too buggy in our app. Not really sure what we're going to do about RN 80 being the last supported legacy arch release

Finally had the "opportunity" to use the Tesla app this weekend. It's always hyped as an example of an awesome react native app. It's pretty rough and I think I'd pick a different app to hype. Unresponsive taps, randomly crashes, map basically didn't work

React native is just being told "use X it makes everything better!" And then discovering that Y and Z that we also use don't work with X unless you turn off the cool features of X. Anytime we reach equilibrium I'm afraid to change anything. Right now we're dealing with native stack.

I think compose is the only framework where you get such big wins just from upgrading. I don't have hard numbers but I don't think Hermes or the new arch had such a large impact in React Native (and neither of those was "just upgrade").

Bild

Not being able to upgrade a library because of incompatible requirements like "the new mmkv needs new arch but the old version doesn't support rn 77" is my least favorite hell that I always run into with RN. I have to imagine it's better in expo-land.

Infinite Red@infinite.red · 2y ago

⛵ One upgrade. Nine React Native versions. From red herrings to native config purgatory — this journey has it all. Real-world errors. Unexpected twists. Hard-earned lessons. And a battle-tested checklist at the end. ⚔️ New post by Dan Edwards 👇 shift.infinite.red/sirens-sagas...