What is React Redux and what are its top alternatives?
Top Alternatives to React Redux
- React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...
- React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native. ...
- Angular 2
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications. ...
- Flux
Flux is the application architecture that Facebook uses for building client-side web applications. It complements React's composable view components by utilizing a unidirectional data flow. It's more of a pattern rather than a formal framework, and you can start using Flux immediately without a lot of new code. ...
- MobX
MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses. ...
- Apollo
Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes. ...
- RxJS
RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. This project is a rewrite of Reactive-Extensions/RxJS with better performance, better modularity, better debuggable call stacks, while staying mostly backwards compatible, with some breaking changes that reduce the API surface. ...
- Modernizr
It’s a collection of superfast tests or detects as we like to call them which run as your web page loads, then you can use the results to tailor the experience to the user. It tells you what HTML, CSS and JavaScript features the user’s browser has to offer. ...
React Redux alternatives & related posts
- Components777
- Virtual dom660
- Performance569
- Simplicity494
- Composable439
- Data flow177
- Declarative162
- Isn't an mvc framework124
- Reactive updates114
- Explicit app state112
- JSX40
- Learn once, write everywhere25
- Uni-directional data flow19
- Easy to Use18
- Works great with Flux Architecture14
- Great perfomance10
- Built by Facebook8
- Javascript7
- Speed5
- TypeScript support5
- Feels like the 90s4
- Hooks4
- Awesome4
- Easy to start4
- Scalable4
- Props3
- Excellent Documentation3
- Scales super well3
- Cross-platform3
- Server Side Rendering3
- Fancy third party tools3
- Server side views3
- Functional3
- Very gentle learning curve2
- Simple2
- Closer to standard JavaScript and HTML than others2
- Super easy2
- Rich ecosystem2
- Allows creating single page applications2
- Fast evolving2
- Simple, easy to reason about and makes you productive2
- Start simple2
- Just the View of MVC2
- Beautiful and Neat Component Management2
- Sdfsdfsdf2
- Has functional components2
- Has arrow functions2
- Strong Community2
- Great migration pathway for older systems2
- SSR2
- Fragments1
- Every decision architecture wise makes sense1
- Split your UI into components with one true state1
- Sharable1
- Permissively-licensed1
- Image upload0
- Recharts0
- Requires discipline to keep architecture organized36
- No predefined way to structure your app24
- Need to be familiar with lots of third party packages23
- JSX9
- Not enterprise friendly7
- One-way binding only5
- State consistency with backend neglected2
- Bad Documentation2
- Paradigms change too fast1
related React posts









I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.
A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.
In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.
If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.
- Learn once write everywhere205
- Cross platform167
- Javascript163
- Native ios components119
- Built by facebook67
- Easy to learn62
- Bridges me into ios development43
- It's just react40
- No compile39
- Declarative36
- Fast21
- Livereload12
- Virtual Dom12
- Insanely fast develop / test cycle11
- Great community10
- It is free and open source9
- Easy setup9
- Backed by Facebook9
- Native android components8
- Highly customizable7
- Awesome6
- Scalable6
- Win win solution of hybrid app6
- Everything component6
- Great errors6
- Not dependent on anything such as Angular5
- Simple5
- OTA update4
- Awesome, easy starting from scratch4
- Easy to use3
- As good as Native without any performance concerns3
- Many salary2
- Can be incrementally added to existing native apps2
- Hot reload2
- Over the air update (Flutter lacks)2
- 'It's just react'2
- Web development meets Mobile development2
- Ngon1
- Javascript23
- Built by facebook18
- Cant use CSS12
- 30 FPS Limit4
- Slow2
- Some compenents not truly native2
- Generate large apk even for a simple app2
related React Native posts









I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
















I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.
We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.
Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis for cache and other time sensitive operations.
We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.
Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.
- It's a powerful framework100
- Straight-forward architecture49
- TypeScript42
- Great UI and Business Logic separation41
- Powerful, maintainable, fast39
- Amazing CLI37
- Great mvc31
- Powerfull Dependency Injection24
- Easy to build18
- Opinionated, batteries-included approach14
- All in one Framework12
- Schematics9
- Solid Standard Setup.8
- Structured7
- Performance7
- Complex4
- Only for single page applications4
- Builders3
- Ng upgrade2
- RxJS2
- Overcomplicated9
- Large overhead in file size and initialization time9
- Ugly code2
- CLI not open to other test and linting tools2
related Angular 2 posts
When Redash was created 5 years ago we chose AngularJS as our frontend framework, but as AngularJS was replaced by Angular 2 we had to make a new choice. We decided that we won't migrate to Angular, but to either React or Vue.js. Eventually we decided to migrate to React for the following reasons:
- Many in our community are already using React internally and will be able to contribute.
- Using react2angular we can do the migration gradually over time instead of having to invest in a big rewrite while halting feature development.
So far the gradual strategy pays off and in the last 3 major releases we already shipped React code in the Angular.js application.
From my experience of the early startup world, a majority of companies these days use Node.js. Python and Go are the next biggest languages, but significantly smaller than Node.
However, if you're having trouble with the front end aspect of Django, using Node probably won't make that easier for you. You'll have a lot more options between front end frameworks (React, Vue.js, Angular 2) , but they'll definitely take more time to learn than Django's templating system.
Think about whether you want to focus on front end or back end for now, and make a decision from there.
- Unidirectional data flow44
- Architecture32
- Structure and Data Flow19
- Not MVC14
- Open source12
- Created by facebook6
- A gestalt shift3
related Flux posts
We are in the middle of a change of the stack on the front end. So we used Backbone.js with Marionette. Then we also created our own implementation of a Flux kind of flow. We call it eb-flux. We have worked with Marionette for a long time. Then at some point we start evolving and end up having a kind of Redux.js-style architecture, but with Marionette.
But then maybe one and a half years ago, we started moving into React and that's why we created the Eventbrite design system. It's a really nice project that probably could be open sourced. It's a library of components for our React components.
With the help of that library, we are building our new stack with React and sometimes Redux when it's necessary.
- It's just stupidly simple, yet so magical26
- Easier and cleaner than Redux18
- Fast15
- Automagic updates13
- React integration13
- Computed properties10
- ES6 observers and obversables8
- Global stores7
- Flexible architecture the requeriment3
- Has own router package (mobx-router)1
- Maturity1
related MobX posts
The front end for Heap begun to grow unwieldy. The original jQuery pieces became difficult to maintain and scale, and a decision was made to introduce Backbone.js, Marionette, and TypeScript. Ultimately this ended up being a “detour” in the search for a scalable and maintainable front-end solution. The system did allow for developers to reuse components efficiently, but adding features was a difficult process, and it eventually became a bottleneck in advancing the product.
Today, the Heap product consists primarily of a customer-facing dashboard powered by React, MobX, and TypeScript on the front end. We wrote our migration to React and MobX in detail last year here.
#JavascriptUiLibraries #Libraries #JavascriptMvcFrameworks #TemplatingLanguagesExtensions
We started rebuilding our dashboard components using React from AngularJS over 3 years ago and, in order to have predictable client-side state management we introduced Redux.js inside our stack because of the popularity it gained inside the JavaScript community; that said, the number of lines of codes needed to implement even the simplest form was unnecessarily high, from a simple form to a more complex component like our team management page.
By switching our state management to MobX we removed approximately 40% of our boilerplate code and simplified our front-end development flow, which in the ends allowed us to focus more into product features rather than architectural choices.
- From the creators of Meteor12
- Great documentation3
- Open source2
- Real time if use subscription2
related Apollo posts
When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?
So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.
React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.
Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.
At Airbnb we use GraphQL Unions for a "Backend-Driven UI." We have built a system where a very dynamic page is constructed based on a query that will return an array of some set of possible “sections.” These sections are responsive and define the UI completely.
The central file that manages this would be a generated file. Since the list of possible sections is quite large (~50 sections today for Search), it also presumes we have a sane mechanism for lazy-loading components with server rendering, which is a topic for another post. Suffice it to say, we do not need to package all possible sections in a massive bundle to account for everything up front.
Each section component defines its own query fragment, colocated with the section’s component code. This is the general idea of Backend-Driven UI at Airbnb. It’s used in a number of places, including Search, Trip Planner, Host tools, and various landing pages. We use this as our starting point, and then in the demo show how to (1) make and update to an existing section, and (2) add a new section.
While building your product, you want to be able to explore your schema, discovering field names and testing out potential queries on live development data. We achieve that today with GraphQL Playground, the work of our friends at #Prisma. The tools come standard with Apollo Server.
#BackendDrivenUI
- Easier async data chaining and combining4
- Steep learning curve, but offers predictable operations3
- Easier testing2
- Ability to build your own stream2
- Works great with any state management implementation2
- Simplifies state management1
- Great for push based architecture1
- Observable subjects1
- Documentation1
- Lot of build-in operators1
- Steep learning curve3