What is the relation and difference between React, ReactJS, React Native, React router, reactive programming, and RxJava?

What is the relation and difference between React, ReactJS, React Native, React router, reactive programming, and RxJava?

Oh, and you missed Redux. You need that right after 1 (despite its position way down in a Google search for ‘React’). It’s to do with how you manage application data and state (not to be confused with&nbsp;<strong>this</strong>.state within a component, which should be used for local component concerns requiring a component redraw on change). Also GraphQL/Relay once you advance. Its the way forward.

  1. React - A framework
  2. ReactJS Another name for 1.
  3. React Native. A version of React that allows you to create mobile apps. Learn 1 first.
  4. React Router - a router, which is a way to split your application into pages and navigate to them on user interaction. You need to learn React Router soon after React to create most applications, or write something that does the same thing yourself. Using React Router is preferable because it gives you urls for each section in your app, such as /login, /settings, etc.
  5. Reactive Programming is a general name for types of programming designed to respond to change, such as incoming data and user interaction. You don’t need to consider this for now as 1 is a solution to this.
  6. ReactiveX is one of a number of libs you may use to make life easier, and comes in several language specific versions (e.g. RxJava). If you don’t know what it is, you probably don’t need it yet. ImmutableJS is another common one that comes up. You will never need that one (it is built for scale but doesn’t actually scale well, only in JavaScript!, etc). Write your own clone function instead; its a simple 5 line recursive function.

Oh, and you missed Redux. You need that right after 1 (despite its position way down in a Google search for ‘React’). It’s to do with how you manage application data and state (not to be confused with this.state within a component, which should be used for local component concerns requiring a component redraw on change). Also GraphQL/Relay once you advance. Its the way forward.


For 6, here’s the clone function I use (okay, its actually 9 lines, and it expects to be in class StoreHelpers unless you change lines 1 and 6).

 static deepClone(obj) {
   var out, val, key;
   out = Array.isArray(obj) ? [] : {};
   for (key in obj) {
     val = obj[key];
     out[key] = (typeof val === "object") ? StoreHelpers.deepClone(val) : val;
   }
  return out;
 }

There’s also a mergeBIntoA() function I use a lot with React. Its in some of my other answers, and should help a lot when you get into Redux.

react-native

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

How native is React Native? | React Native vs Native App Development

Article covers: How native is react native?, React Native vs (Ionic, Cordova), Similarities and difference between React Native and Native App Development.

Hire Dedicated React Native Developer

Have you ever thought of having your own app that runs smoothly over multiple platforms? React Native is an open-source cross-platform mobile application framework which is a great option to create mobile apps for both Android and iOS. **[Hire...

React Native Mobile App Development

Skenix is providing React Native Development Services with qualified React Native App Developers. Get the best React Native App Development Services.

Build a simple React Native Pokemon app with React-Navigation

As we start learning new technologies we want to start building something or work on a simple project to get a better understanding of the technology.

Hire Dedicated React Native Developer in India | React Native Development

Hire dedicated React Native developers for your next project. As the top react native development company we offer you the best service as per your business needs.