REACTJS PRACTICE

White Prompt adopted ReactJS right after it was Open Sourced. Our team vast experience in ReactJS and all it’s related frameworks. With multiple applications in production we learnt the good the bad and the ugly of this ecosystem. We think ReactJS is the present and the future of JavaScript Single Page Applications.

Leaded by Facebook and Instagram, organisations all around the world are adopting ReactJS and a set of other frameworks of this ecosystem to build the most simple and maintainable Web User Interfaces. React is simple, scalable, declarative and composable.

ReactJS is a library that provides strong component isolation, efficient updating, besides a model in which subcomponents don’t affect enclosing components. Those traits make it unique for working with SPA. It is maintained by facebook, Instagram, and a vast community of developers.

Sass is an extension of CSS that adds power and elegance to the basic language. It allows you to use variables, nested rules, mixins, inline imports, and more, all with a fully CSS-compatible syntax. Sass helps keep large stylesheets well-organized, and get small stylesheets up and running quickly

React-Bootstrap is a library that provides connectivity bootstrap components in a ReactJS compatible way. We use it in the application to create most of windows and controls.

React-Router is a routing library; with a simple API and lots of features (lazy code loading, dynamic route matching, among others). It is the “de facto” standard for ReactJS applications.

React-Highchart is a library to communicate with highcharts javascript components. It is the one we used for bars and other charts.

Redux is a state container for javascript appications. It is used to contain application state consistently. The application state can be only changed finally in the reducers.

Babel is a transpiler. It generates ecma5(javascript) code from ecma6 or coffescript. It is used in our applications, since they are written in ecma6. They are transpiled with Babel (when the bundle is being done with Webpack) and finally we obtain a completely browser runnable-result.

React-Dropzone is a component that is used in ReactJS to allow to drag-and-drop and upload files.

Webpack is an extremely pluginable module bundler, which allows to execute several steps before the final build is at complete. It is used to create the deployable and as a local development environment server.

Ecma6 is the latest official ecma standard. It was approved in 2015 and introduces a lot of new features to the old javascript. It implies that it can’t run directly in browsers yet. Hence, Babel transpiles it for us.

Flux is a library that allows to handle state of an application. We are using Redux that is an implementation of the Flux architecture.

Mocha is a feature-rich JavaScript test framework running on Node.js and the browser, making asynchronous testing simple. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

MaterialUI is a library that allows us to use Material components into ReactJS. We are using MaterialUI to render some components with this look and feel.