In a world filled with frameworks, polluted by programming languages that each claim to “serve a purpose” and out of box solutions that look like a means to an end; I have put together some pieces that can allow an entrepreneur to move their product from the initial phase to MVP (Minimum Viable Product) phase in one of the quickest ways possible.
ExpressJs is a web framework which runs on Node that allows you to program right out the box in a couple of minutes. It is perfect for startups looking to deliver a MVP since it’s reliable, easy to use and promotes fast delivery.
To Summarize :
- Node is f**king fast (event-driven, non-blocking)
- Express is lightweight and easy to use
What is React?
ReactJs is based completely on the concept of a component. Everything in ReactJs is a component. A text field is a component. An animation is a component. If I was written in React Js, I’d be a component. Well, you get the idea.
Why is the component based design so good?
Components can be reused, are easier to maintain and grow since the responsibilities are separated out into a nice abstraction of a component. Each component is self sufficient and acts as a piece of an entire puzzle. It’s easier to debug and fix as it really helps you narrow down the source of your problems into one single component.
Since React is very a simple and lightweight library that only deals with the view layer as compared to frameworks such as Angular, it’s easier for new developers to pick up and use it efficiently. Also, since React uses a Virtual DOM, it avoids unnecessary changes to the DOM, which are expensive performance-wise as compared to a Shadow DOM in a framework like Angular.
To Summarize :
- Components are easily reusable and easy to test
- Short learning curve
- Virtual DOM
- Light Framework
- Great for abstraction
What is React Native?
It’s a huge shift in the paradigm of mobile development and reduces the time it takes to develop applications by providing an API that acts like a wrapper over the native components in each system. React Native is used in companies such as AirBnB and Facebook has also built their Facebook Ads application completely in React Native.
Before React Native and Expo, if I wanted to write an application that simply calls the camera; I would have to write iOS native(Swift, Objective-C) code to open the camera, then, write Android native (Java, Kotlin) code to do the exact same thing and for the sake of consistency, make both of these systems look similar! Frankly, it’s a huge waste of time.
But now, with React Native and Expo, I can write code only once for both systems since the Camera API is system aware and knows exactly what to do for each native system. This reduces the time to market significantly and allows you to reach a higher number of users.
To Summarize :
- One code base for both mobile applications
- Expo SDK API provides most common functionality used by apps straight out of the box
- React Native benefits from all the advantages of React Js which I stated above. You can use ReactJs components in React Native with little modification.
For all Techpreneurs reading this, now you know where to start.