PulseTile-RA - Making Technical Choices in the fast world of frontend JS

So one of the most difficult choices to make when crafting a frontend framework is which tools to use. We have been over this many times and gone for a mix that makes sense for now. We'll be keeping our eyes open as the trends develop, will React/Angular/Vue/Aurelia/other win the day? We'll follow them closely and follow the leader from the pack.

PulseTile uses the following technology stack:

  • React JS 16.3.2
  • React-Admin 2.8.6
  • Redux
  • Material-UI 1.5.0

React

React is a front-end library. It is used for handling the view layer for web and mobile apps. ReactJS allows us to create reusable UI components. It is currently one of the most popular JavaScript libraries and has a strong foundation and large community behind it.

React-Admin

React-Admin is ReactJS-based framework. It was created by French IT company Marmelab.

The main purpose of React-Admin is admin part development. React-admin framework has a lot of tools in basis functionality. It gives possibility to create a set of CRUDs (create, read, update, delete) for different issues.

Besides this, it can be customized in cases it is necessary. Developer can create custom pages, routes and run custom requests to the server side. For these reasons framework React-Admin was selected as a base for new version of PulseTile application.

User interface of React-Admin framework based on Material-UI library. It gives possibility to create application with modern UI.

Redux

Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.
We use redux module for React - https://github.com/reactjs/react-redux

Material-UI

Material-UI is a library, which gives possibility to create modern UI for the project based on ReactJS.