After a week playing with React Native I'm not only amazed by this new take on mobile app development, but also absolutely blown away by how fast the project is moving: 192 pull requests opened this week alone.
I wasn't particularly interested in pull requests and the community efforts until hitting my first blocker: how to render a button?
Turns out we may never see a bridge to native iOS buttons in React, but the primitives to support a button are already there: text, opacity, and a touchable area with hooks.
And you're obviously not going to define all of these things whenever you need a button. React components can be composed and reused easily – even if
Button never makes to Native, you can already rely on a pretty solid third-party implementation.
While often simple, these extensions show just how powerful the React pattern is, turning complex iOS primitives like
AVFoundation into something you can plug to your app with a simple call to
But enough about third-party components; a lot of the changes last week were also in Native itself. They range from cosmetic to helpful to crucial, like the support for different keyboard types and videos.
As for what is next, we might see official support for camera and the camera roll soon. There's some interest in a bridge to Swift objects too, but we'll see how that pans out seeing that Facebook doesn't use it.
Personally, I'd be excited to see:
- More open source Native apps. The only I've seen so far is this cool Hacker News reader.
- Better command-line tools. Maybe
react-native build, or
react-native emulate --device iphone6. I'll hopefully have a pull request for this soon.
- Official list of third-party components. In the meantime, there's a community-maintained list available.