Yes, this is another article praising React Native.
As a founder of a tech startup, you are always obsessed, thinking of the MVP, and how can you deliver something fast, efficient without losing scalability on the run.
In this article, I will give you an idea of how you can start with a robust stack, that can scale, and your developers will love it.
First things first.
You have to choose a language, and I cannot lie to you, there are hundreds of languages out there, but I know very few with big communities around.
In the open source world, communities are very crucial, big communities are behind every robust technology, and it's the very first thing I check on GitHub: contributors, and stars.
And now maybe you guessed it? Pick Javascript!! yeah, Javascript. I know that a lot of developers hate it, especially "nerds", they love typed languages, memory management, hate browsers, and live in Terminals, but in the other hand, Javascript became the most popular language the past few years, simply because the web speaks Javascript.
It became more interesting when Google released AngularJS in 2010, we've been able to do more interesting things on the browser, and now, it boomed thanks to other technologies like ReactJS, VueJs, JavaScript-based Node... and it helped Javascript to grow in popularity.
When I was a student in college, I built IoT Projects with Javascript, Windows Apps using WinJS, Servers, mobile apps, and chatbots. Can you Imagine?
There are some issues with JS, but trust me, you can fix all of them by Googling.
Build your apps with React Native
Facebook blew my mind when they released React Native, you can use Javascript to build native apps on Android and iOS, yes, I've said NATIVE.
(They kept blowing my mind actually, Virtual Reality with Javascript)
I tried Xamarin by Microsoft back in time, but I was uncomfortable using a language I didn't like (C#) and if you have hired a creative designer, you will struggle to put his ideas in the app, UI looked very bad.
I also tried some competitors but more hybrid then native, like Titanium, and Ionic, they literally suck at performance, and you cannot go bigger and scale with this kind of technologies.
Your startup should be lean, delivering a high-quality app faster and, being able to intervene quickly fixing bugs and rolling out features to the market.
Using React Native, you will have a "Real mobile app", native on Android and iOS, with a beautiful language behind, declarative components that you can reuse on the Web with ReactJS if you ever decided to have an app on the browsers, and state-dependent views, so you won't care about updating them when the state changes because the framework does it for you.
The UI is rendered using actual native views, so the final user experience is not as bad as other solutions that simply render a web component inside a WebView like Ionic or Titanium.
Developers will have more focus on the same code base, running on both platforms or more, with the same language instead of 2, on 2 different IDEs (Android Studio, XCode...) which is the power of React Native, "Learn once, write everywhere".
I used React Native in few projects since, built robust MVPs in record time, with the basics, but I sincerely had to write more code for specific components, (Like this one) but the community already did most of them, you can use React Native Directory or React.Parts, or try to learn how you can build your own in a 2 min read.
Beyond the MVP
Your MVP will have the basic features delivering your values to the market, and React Native will be your stack to do so, as long as you go bigger and you grow, you can add more libraries and rethink your app architecture, for example: Doing data management by props, and state in the MVP, once you have more complex things to do, you can try out Flux or Redux.
You can build features with your favorite Code editor, faster than ever using live reload, with smoother and flexible user experience powered by Javascript? isn't it amazing?
One more important thing, having this setup, you can reduce the development cost by almost 40%, that you can use to growth hack your startup or buy cool furniture for your team.