Let’s use Deep Learning to make DeepFakes. React.js has limitations!

Srikanth Prabhu
4 min readJan 20, 2021
The most popular front end framework in the present times.

Why React.js has disadvantages as a front-end framework? Library that’s all!

Everyone is pretty conversant with java script and should always understand that react is just only a library.

It is always difficult to find complimentary libraries within the react.js framework to make it extremely powerful.

Developers can be from any other programming languages, but when any developer is trying to adapt to react.js, they have a hard time figuring out all the building blocks for building web applications with react.js. With all the hullaballoo about react.js, I would still prefer it over angular.js.

In react.js, you’re dealing with components and you can always do component driven user interfaces.

The next set of complimentary libraries that I would suggest are:

1. Next.js (https://github.com/vercel/next.js)

2. Gatsby.js (https://www.gatsbyjs.com/)

The above two frameworks are built on react — being strong with react will lead you to understand and work on the above two frameworks.

State Management:

With the help of built in hooks: useState, useReader, useContext. It can also mimic ‘redux’ — a popular state management library for react.js.

All this is fine for state management, but for remote data, ‘Apollo Client’.

Coding with react router: When applying the code for react, the most anticipated solution is ‘react router’.

Who doesn’t like styling on their front-end user interfaces?

The first thing that comes to my mind is React CSS Styling

React UI Libraries:

The most popular libraries within react.js — one can choose a library to do the work — Buttons, dropdowns, dialogs, lists.

1. Ant Design (https://ant.design/)

2. Chakra UI (https://chakra-ui.com/)

3. Tailwind UI (https://tailwindui.com/)

4. Semantic UI (https://semantic-ui.com/)

5. Material UI (https://material-ui.com/)

6. React Bootstrap (https://react-bootstrap.github.io/)

Animations in React.js

The most used animations, always start with CSS, but developers would want to do more with their front-end UI.

1. react-motion

  1. react-spring
  2. Framer Motion
  3. Animated (React Native)

But I have had great experience, with React Transition Group.

Chart Libraries:

  1. nivo
  2. Victory
  3. react-vis
  4. Recharts
  5. Chart Parts

When it comes to form libraries, it is always “Formik (https://github.com/jaredpalmer/)”

Data Fetching Libraries:

The most recommended, for data fetching to your front-end UI, are the below:

1. the browser’s native fetch API axios

2. Apollo Client (GraphQL API)

3. React Query (Promise, REST, GraphQL)

4. useSWR (Promise, REST, GraphQL)

PAYMENTS IN REACT.JS

Like in any other web application, the most common payment providers are Stripe and PayPal. Both can be neatly integrated into React. This is a working Stripe Checkout with React integration.

§ PayPal

§ Stripe Elements or Stripe Checkout

And for all mobile developers, use react.js and information below:

https://github.com/necolas/react-native-web

So, all in all, that’s a lot of information and react can be deployed in the way you want it to be, with the decision of using libraries. One can grow in complexity, as the usage of the application grows otherwise plain react is fine.

Small Application

1. Boilerplate: create-react-app

2. Styling Libraries: basic CSS and inline style

3. Asynchronous Requests: fetch or axios

4. Code Style: none

5. Type Checking: none

6. State Management: React Hooks

7. Routing: none or React Router

8. Authentication: Firebase

9. Database: Firebase

10. UI Libraries: none

11. Form Libraries: none

12. Testing Libraries: Jest

13. Utility Libraries: JavaScript

14. Internationalizing: react-i18next

15. React Desktop: Electron

Medium Application

1. Boilerplate: Next.js or Gatsby.js

2. Styling Libraries: CSS Modules/Styled Components/Tailwind CSS

3. Asynchronous Requests: fetch or axios

4. Code Style: Prettier, ESLint

5. Type Checking: none or TypeScript

6. State Management: React Hooks and/or Apollo

7. Routing: React Router

8. Authentication: Firebase

9. Database: Firebase

10. UI Libraries: none or UI component library

11. Form Libraries: none or Formik or React Hook Form

12. Testing Libraries: Jest with React Testing Library

13. Utility Libraries: JavaScript

14. Internationalizing: react-i18next

15. React Desktop: Electron

Large Application

1. Boilerplate: Next.js, Gatsby.js, custom setup

2. Styling Libraries: CSS Modules/Styled Components/Tailwind CSS

3. Asynchronous Requests: axios or Apollo Client

4. Code Style: Prettier, ESLint

5. Type Checking: TypeScript

6. State Management: React Hooks and/or Apollo/Redux/MobX

7. Routing: React Router

8. Authentication: Solution with own Node.js Server + Passport.js

9. Database: Solution with own Node.js Server with a SQL/NoSQL DB

10. UI Libraries: UI component library or roll your own UI components

11. Form Libraries: none or Formik or React Hook Form

12. Testing Libraries: Jest with React Testing Library and Cypress

13. Utility Libraries: JavaScript Platform APIs, Lodash

14. Internationalizing: react-i18next

15. React Desktop: Electron

Again, developers working on react.js — it is all about libraries and it is your decision to work on project documentation and use libraries that you think that fits front-end UI well.

--

--