The young web developer knows the web. They’ve spent countless hours slinging divs and casting margins. They’ve hammered out countless to-do applications in JavaScript,
Python, Golang, Fortran, Basic… you name it!
But now, this hotshot developer wants to conquer a less familiar territory. They want to displace their team’s gang of mobile developers—all of them—by using the hip new framework, React Native. Thinking it’ll be practically like writing a simple web application, they install the React Native CLI and scaffold an empty project.
It starts off just fine. They find out that instead of divs, they must create Views. In order to create text, they must use the built in Text component. Instead of CSS, they must use inline JavaScript styles. In order to create a nice layout, they require some knowledge of flexbox.
But then they want to wield more powerful features like geolocation, audio input, or push notifications. They find that in order to enable these features, they must open up XCode and edit some fairly verbose configuration files, change the plist, and create headers and implementations in Objective-C. They start to think that maybe they should stick to the web.
Enter Expo
Fortunately, the beautiful team over at Expo has created a pretty powerful SDK that greatly improves the React Native developer experience. They’ve made it such that when you create an application with Expo, you will probably never have to crack open XCode or edit any platform-specific configuration files.
map react javascript