What is React?
According to the official React docs:
React is a JavaScript library for creating user interfaces by Facebook and Instagram.
Many people choose to think of React as the V in MVC.
We built React to solve one problem: building large applications with data that changes over time.
React is one of the best ways to build fast scalable web applications in JavaScript. Steemit.com takes advantage of React's one way data binding to build a site used by thousands of users per day. Facebook developed and uses React heavily for chat and various parts of their web infrastructure, and it is also utilized in Instagram.com and Messenger.com. React combined with a strong backend with NodeJS and MongoDB is a common modern web stack to create web applications in 2016. Steemit.com uses Webpack to build and bundle React JavaScript modules.
The React Logo
What is React Native?
React Native is a new way to build mobile applications by writing JavaScript code. According to the React Native docs:
With React Native, you don't build a “mobile web app”, an “HTML5 app”, or a “hybrid app”.
You build a real mobile app that's indistinguishable from an app built using Objective-C or Java.
Since a lot of the open source Steemit code infrastructure is already written with React, creating a mobile application using React Native using similar UI components should be fairly straightforward with React Native. React Native also saves the trouble of writing distinct Java and Objective C or Swift code. With React Native a mobile application can also look the same across multiple platforms. Though there is a slight learning curve to React Native, a team of developers attempting to create a mobile application in React Native should in the long run be far more productive than a team of developers building separate Java and iOS mobile applications.