React Native


By now, you’ve probably heard of React and React Native. If not, here’s the skinny: React Native is a platform for building mobile apps using the highly popular and quickly growing React view library. The resulting apps run on both iOS and Android. However, unlike other cross-platform SDK’s like Cordova, Ionic, etc which basically run JavaScript powered apps in a web browser, React Native compiles to native code for the respective OS, Android or iOS. That means there is no performance compromise and the apps built with React Native run just as smoothly as apps built using the actual native tools like Xcode. That’s why it’s called React NATIVE.

Having built my entire software career over the past six years upon native iOS development (Objective C then Swift) I am reasonably expected to eschew the over-promised under-delivered panacea of the cross platform SDK. From Phone Gap to Cordova to Xamarin, the results all came out like crap and I earned more than a few shekels turning these crappy apps into respectable software with native iOS. So it’s fair to say my perspective is influenced.

With that said — React Native a game changer. I predict in 2–3 years, React Native will be the primary means of iOS development for early stage startups pre-series A. In other words, startups that seek the ever elusive ‘product-market-fit.’ There is a confluence of factors that led to this conclusion not least of which is the current economic climate:

Early Stage Investment
Since Q4 of 2015, the frothy bubble of ‘irrational exuberance’ began to deflate as so-called unicorn companies failed to turn a profit or in many cases, even revenue. From Foursqaure to Dropbox to Doordash, startups are feeling the weight of expectations as investors demand a return or at least the possibility of an eventual ROI. This led to ripple effects in the overall perspective of tech valuations as big companies like LinkedIn got hammered in equities and mutual funds wrote down the value of their positions on venture funds regardless of share value. This part was funniest to me — basically fund managers said “fuck you market, I tell you what the shares are worth.” That’s funny. In every article referenced above, note the dates — Q1 and Q2 of 2016. The bubble has burst and we are in for a nuclear winter.

Nuclear Winter
This downturn hurts the seed level startups most which means raising initial capital will be harder than it was even 12 months ago. Those who do raise will raise less and will be expected to produce more. Whereas the average seed round size was around $1.4 million in 2014, that number will certainly decline in 2016 and the smart money will probably land under a $1mm.

So What?
So what does all this have to do with React Native? Glad you asked. Since React Native is cross platform AND can almost run the same code for web and mobile (this is not literally true but close), development expense for a full stack MVP considerably drops. To put in perspective, a typical native iOS contract for me was around $25K and that did not include web development. Factor in web dev and you’re looking at additional $20 — $30k (Node, Angular, Mongo, Redis, AWS, blah, blah, blah). With React Native, much of the code can be shared. It’s not 100% cross over but there is enough that the React mantra of “write once, run everywhere” is honored. For a comparable app, I would quote $30K for the entire thing — web and iOS. Two years ago, that’s crazy-talk. With fewer dollars in seed, startups will have to literally do more with less and the cross platform allure of RN makes it tough to beat. I can’t tell you how many times over the past five years I dealt with potential clients that wanted to make their app with PhoneGap because it runs on all devices. I had to clearly explain why PhoneGap was poop and then not get the contract. Today, that conversation changes. I make the app and the website with React.

What About iOS Native and Swift?
Good question. My perspective broadly applies to early stage, pre-series A startups. Post series-A, money is more flush and companies can afford to hire developers with deeper expertise. Further, although React Native is awesome, it still is not fully capable of what can be achieved in straight native at advanced levels. So if you’re a senior level iOS or Android dev, you should be fine with the big boys like Uber, Facebook, Google, etc. However, a good number of these senior devs, like myself, worked with early stage startups as a consultant, founder or early employee. Propped up by the VC funding faucet, salaries were commensurate with established industry standards so working with an early stage startup was economically sensible. When I last consulted in late 2015, my hourly rate was $150-$200 depending on the project. That faucet is now drying up so there are more devs like me competing for fewer bids. If you took econ 101, then you know this means downward pressure on prices.

Next Steps
If you’re new to the market and trying to break in as a software dev, well, the competition is now stiffer largely due to the reasons outlined above. There are other factors (too many bootcamps churning out devs, overseas competition) but that’s a topic for another post. The downward pressure on prices will force devs like myself to compete on price while delivering more — enter React Native. It’s not that RN makes iOS development faster, it makes the entire development stack faster because much of the code is reusable between web and mobile. Forward thinking devs will make the adjustment soon but for most part, devs will take a few months before catching on. For example, standard React was all the rave a year ago but it is just now reaching that inflection point where it is mainstream like Rails or Angular. This means a beginner can use this to his advantage by learning React and React Native at the same time which is practical. While mid-to-senior devs price themselves out the current market (I’m worth $200/hour dammit!), junior devs can undercut and deliver decent product by getting an edge on React Native. The time to do that is now while senior devs like myself stick to their guns which won’t last forever. This weekend, I plan on splurging on React Native projects.

Velocity 360

Velocity 360 is designed for students who want to accelerate their learning through flexible part time and full time programs. We focus on rapidly growing technologies such as Node JS, React, React Native and iOS. For more information, visit https://www.velocity360.io.