Alternatives to Zustand logo

Alternatives to Zustand

jQuery, React, AngularJS, Vue.js, and jQuery UI are the most popular alternatives and competitors to Zustand.
248
34

What is Zustand and what are its top alternatives?

Zustand is a state management library for React applications that aims to make state management simple and efficient. Key features of Zustand include a minimal API, global state management without the need for context, custom hooks for accessing and updating state, and support for TypeScript. However, some limitations of Zustand include a learning curve for beginners and limited built-in features compared to other state management libraries.

  1. Redux: Redux is a popular state management library for JavaScript applications. It is known for its centralized store, predictable state management, and ability to work with any UI framework. The main pros of Redux include a large ecosystem of middleware and dev tools, but it can be considered more verbose and boilerplate-heavy compared to Zustand.
  2. MobX: MobX is a simple and scalable state management library that uses observable data structures to automatically track and update state. Its key features include simple to understand concepts, reactivity, and minimal boilerplate. However, MobX may have a steeper learning curve for beginners and requires a deeper understanding of reactivity principles.
  3. Recoil: Recoil is a state management library for React applications created by Facebook. It introduces the concept of atoms, selectors, and a unique way of managing state. The advantages of Recoil include ease of use, performance optimization, and support for code-splitting. On the other hand, Recoil is a relatively new player in the state management field and may have a smaller community compared to Zustand.
  4. easy-peasy: easy-peasy is a Redux abstraction library that simplifies the process of setting up Redux in React applications. It provides a lower barrier to entry for beginners and offers features like typed state, actions, and thunks out of the box. However, easy-peasy does rely on Redux under the hood, which may add some complexity compared to Zustand.
  5. XState: XState is a library for creating state machines in JavaScript applications. It allows for declarative state management, finite state machines, and hierarchical nested states. XState is great for modeling complex UI components and interactions, but it may require a shift in mindset for developers used to more traditional state management approaches like Zustand.
  6. Valtio: Valtio is another state management library from the creators of Zustand. It offers a simple, Proxy-based approach to global state management, allowing for efficient reactivity and minimal boilerplate. Valtio integrates well with React and has features like automatic patch batching and async support. However, Valtio is relatively new and may not have as extensive a community or documentation compared to Zustand.
  7. Effector: Effector is a state management library for building fast and scalable applications. It leverages reactive programming principles to provide efficient state updates and side effects handling. Effector offers features like stores, events, effects, and scopes for organizing and managing state. The downside of Effector is that its API might be considered more complex compared to Zustand.
  8. VueX: VueX is the official state management library for Vue.js applications. It provides a centralized store for all the components in an application and offers features like mutations, actions, and getters. VueX is well-integrated with Vue.js and has a large community of users and resources. However, VueX is specific to Vue.js applications and may not be suitable for React projects looking for alternatives to Zustand.
  9. Unstated Next: Unstated Next is a light state management library that uses React hooks and contexts to manage state. It offers a simple API for creating and utilizing containers to hold state in React components. Unstated Next is lightweight and easy to use, making it a good alternative to Zustand for projects that need a simple state management solution.
  10. Jotai: Jotai is a tiny and fast state management library for React applications that leverages React hooks to manage state atoms. Jotai allows for composing complex state in a declarative and composable way, making it suitable for managing various levels of state complexity. Jotai is a lightweight alternative to Zustand that offers similar levels of simplicity and efficiency in managing state.

Top Alternatives to Zustand

  • jQuery
    jQuery

    jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. ...

  • React
    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. ...

  • AngularJS
    AngularJS

    AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. ...

  • Vue.js
    Vue.js

    It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API. ...

  • jQuery UI
    jQuery UI

    Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice. ...

  • Redux
    Redux

    It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger. ...

  • Modernizr
    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. ...

  • Modernizr
    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. ...

Zustand alternatives & related posts

jQuery logo

jQuery

191.7K
68.1K
6.6K
The Write Less, Do More, JavaScript Library.
191.7K
68.1K
+ 1
6.6K
PROS OF JQUERY
  • 1.3K
    Cross-browser
  • 957
    Dom manipulation
  • 809
    Power
  • 660
    Open source
  • 610
    Plugins
  • 459
    Easy
  • 395
    Popular
  • 350
    Feature-rich
  • 281
    Html5
  • 227
    Light weight
  • 93
    Simple
  • 84
    Great community
  • 79
    CSS3 Compliant
  • 69
    Mobile friendly
  • 67
    Fast
  • 43
    Intuitive
  • 42
    Swiss Army knife for webdev
  • 35
    Huge Community
  • 11
    Easy to learn
  • 4
    Clean code
  • 3
    Because of Ajax request :)
  • 2
    Powerful
  • 2
    Nice
  • 2
    Just awesome
  • 2
    Used everywhere
  • 1
    Improves productivity
  • 1
    Javascript
  • 1
    Easy Setup
  • 1
    Open Source, Simple, Easy Setup
  • 1
    It Just Works
  • 1
    Industry acceptance
  • 1
    Allows great manipulation of HTML and CSS
  • 1
    Widely Used
  • 1
    I love jQuery
CONS OF JQUERY
  • 6
    Large size
  • 5
    Sometimes inconsistent API
  • 5
    Encourages DOM as primary data source
  • 2
    Live events is overly complex feature

related jQuery posts

Kir Shatrov
Engineering Lead at Shopify · | 22 upvotes · 2.4M views

The client-side stack of Shopify Admin has been a long journey. It started with HTML templates, jQuery and Prototype. We moved to Batman.js, our in-house Single-Page-Application framework (SPA), in 2013. Then, we re-evaluated our approach and moved back to statically rendered HTML and vanilla JavaScript. As the front-end ecosystem matured, we felt that it was time to rethink our approach again. Last year, we started working on moving Shopify Admin to React and TypeScript.

Many things have changed since the days of jQuery and Batman. JavaScript execution is much faster. We can easily render our apps on the server to do less work on the client, and the resources and tooling for developers are substantially better with React than we ever had with Batman.

#FrameworksFullStack #Languages

See more
Ganesa Vijayakumar
Full Stack Coder | Technical Architect · | 19 upvotes · 5.5M views

I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

As per my work experience and knowledge, I have chosen the followings stacks to this mission.

UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

Happy Coding! Suggestions are welcome! :)

Thanks, Ganesa

See more
React logo

React

172.8K
142.7K
4.1K
A JavaScript library for building user interfaces
172.8K
142.7K
+ 1
4.1K
PROS OF REACT
  • 832
    Components
  • 673
    Virtual dom
  • 578
    Performance
  • 508
    Simplicity
  • 442
    Composable
  • 186
    Data flow
  • 166
    Declarative
  • 128
    Isn't an mvc framework
  • 120
    Reactive updates
  • 115
    Explicit app state
  • 50
    JSX
  • 29
    Learn once, write everywhere
  • 22
    Easy to Use
  • 21
    Uni-directional data flow
  • 17
    Works great with Flux Architecture
  • 11
    Great perfomance
  • 10
    Javascript
  • 9
    Built by Facebook
  • 8
    TypeScript support
  • 6
    Server Side Rendering
  • 6
    Speed
  • 5
    Feels like the 90s
  • 5
    Excellent Documentation
  • 5
    Props
  • 5
    Functional
  • 5
    Easy as Lego
  • 5
    Closer to standard JavaScript and HTML than others
  • 5
    Cross-platform
  • 5
    Easy to start
  • 5
    Hooks
  • 5
    Awesome
  • 5
    Scalable
  • 4
    Super easy
  • 4
    Allows creating single page applications
  • 4
    Server side views
  • 4
    Sdfsdfsdf
  • 4
    Start simple
  • 4
    Strong Community
  • 4
    Fancy third party tools
  • 4
    Scales super well
  • 3
    Has arrow functions
  • 3
    Beautiful and Neat Component Management
  • 3
    Just the View of MVC
  • 3
    Simple, easy to reason about and makes you productive
  • 3
    Fast evolving
  • 3
    SSR
  • 3
    Great migration pathway for older systems
  • 3
    Rich ecosystem
  • 3
    Simple
  • 3
    Has functional components
  • 3
    Every decision architecture wise makes sense
  • 3
    Very gentle learning curve
  • 2
    Split your UI into components with one true state
  • 2
    Image upload
  • 2
    Permissively-licensed
  • 2
    Fragments
  • 2
    Sharable
  • 2
    Recharts
  • 2
    HTML-like
  • 1
    React hooks
  • 1
    Datatables
CONS OF REACT
  • 41
    Requires discipline to keep architecture organized
  • 30
    No predefined way to structure your app
  • 29
    Need to be familiar with lots of third party packages
  • 13
    JSX
  • 10
    Not enterprise friendly
  • 6
    One-way binding only
  • 3
    State consistency with backend neglected
  • 3
    Bad Documentation
  • 2
    Error boundary is needed
  • 2
    Paradigms change too fast

related React posts

Johnny Bell

I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

See more
Collins Ogbuzuru
Front-end dev at Evolve credit · | 37 upvotes · 250.5K views

Your tech stack is solid for building a real-time messaging project.

React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

See more
AngularJS logo

AngularJS

60.9K
44K
5.3K
Superheroic JavaScript MVW Framework
60.9K
44K
+ 1
5.3K
PROS OF ANGULARJS
  • 889
    Quick to develop
  • 589
    Great mvc
  • 573
    Powerful
  • 520
    Restful
  • 505
    Backed by google
  • 349
    Two-way data binding
  • 343
    Javascript
  • 329
    Open source
  • 307
    Dependency injection
  • 197
    Readable
  • 75
    Fast
  • 65
    Directives
  • 63
    Great community
  • 57
    Free
  • 38
    Extend html vocabulary
  • 29
    Components
  • 26
    Easy to test
  • 25
    Easy to learn
  • 24
    Easy to templates
  • 23
    Great documentation
  • 21
    Easy to start
  • 19
    Awesome
  • 18
    Light weight
  • 15
    Angular 2.0
  • 14
    Efficient
  • 14
    Javascript mvw framework
  • 14
    Great extensions
  • 11
    Easy to prototype with
  • 9
    High performance
  • 9
    Coffeescript
  • 8
    Two-way binding
  • 8
    Lots of community modules
  • 8
    Mvc
  • 7
    Easy to e2e
  • 7
    Clean and keeps code readable
  • 6
    One of the best frameworks
  • 6
    Easy for small applications
  • 5
    Works great with jquery
  • 5
    Fast development
  • 4
    I do not touch DOM
  • 4
    The two-way Data Binding is awesome
  • 3
    Hierarchical Data Structure
  • 3
    Be a developer, not a plumber.
  • 3
    Declarative programming
  • 3
    Typescript
  • 3
    Dart
  • 3
    Community
  • 2
    Fkin awesome
  • 2
    Opinionated in the right areas
  • 2
    Supports api , easy development
  • 2
    Common Place
  • 2
    Very very useful and fast framework for development
  • 2
    Linear learning curve
  • 2
    Great
  • 2
    Amazing community support
  • 2
    Readable code
  • 2
    Programming fun again
  • 2
    The powerful of binding, routing and controlling routes
  • 2
    Scopes
  • 2
    Consistency with backend architecture if using Nest
  • 1
    Fk react, all my homies hate react
CONS OF ANGULARJS
  • 12
    Complex
  • 3
    Event Listener Overload
  • 3
    Dependency injection
  • 2
    Hard to learn
  • 2
    Learning Curve

related AngularJS posts

Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 5.1M views

Our whole Node.js backend stack consists of the following tools:

  • Lerna as a tool for multi package and multi repository management
  • npm as package manager
  • NestJS as Node.js framework
  • TypeScript as programming language
  • ExpressJS as web server
  • Swagger UI for visualizing and interacting with the API’s resources
  • Postman as a tool for API development
  • TypeORM as object relational mapping layer
  • JSON Web Token for access token management

The main reason we have chosen Node.js over PHP is related to the following artifacts:

  • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
  • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
  • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
  • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
See more
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 24 upvotes · 4.9M views

Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

  • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
  • Vue Styleguidist as our style guide and pool of developed Vue.js components
  • Vuetify as Material Component Framework (for fast app development)
  • TypeScript as programming language
  • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
  • ESLint, TSLint and Prettier for coding style and code analyzes
  • Jest as testing framework
  • Google Fonts and Font Awesome for typography and icon toolkit
  • NativeScript-Vue for mobile development

The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

  • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
  • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
  • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
  • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
  • Large scaling. Vue.js can help to develop pretty large reusable templates.
  • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
See more
Vue.js logo

Vue.js

54.2K
44K
1.6K
A progressive framework for building user interfaces
54.2K
44K
+ 1
1.6K
PROS OF VUE.JS
  • 294
    Simple and easy to start with
  • 230
    Good documentation
  • 196
    Components
  • 131
    Simple the best
  • 100
    Simplified AngularJS
  • 95
    Reactive
  • 78
    Intuitive APIs
  • 56
    Javascript
  • 52
    Changed my front end coding life
  • 48
    Configuration is smooth
  • 38
    Easy to learn
  • 36
    So much fun to use
  • 26
    Progressive
  • 22
    Virtual dom
  • 16
    Faster than bulldogs on hot tarmac
  • 12
    It's magic
  • 12
    Component is template, javascript and style in one
  • 10
    Light Weight
  • 10
    Perfomance
  • 9
    Best of Both Worlds
  • 8
    Application structure
  • 8
    Elegant design
  • 8
    Intuitive and easy to use
  • 8
    Without misleading licenses
  • 6
    Small learning curve
  • 6
    Good command line interface
  • 5
    Logicless templates
  • 5
    Single file components
  • 5
    Easy to integrate to HTML by inline-templates
  • 5
    Like Angular only quicker to get started with
  • 4
    High performance
  • 3
    Component based
  • 3
    Vuex
  • 3
    Bridge from Web Development to JS Development
  • 3
    Customer Render ending eg to HTML
  • 2
    Lots of documentation
  • 2
    Concise error messages
  • 2
    Supports several template languages
  • 2
    One-way data flow
  • 2
    Intuitive
  • 1
    GUI
CONS OF VUE.JS
  • 9
    Less Common Place
  • 5
    YXMLvsHTML Markup
  • 3
    Don't support fragments
  • 3
    Only support programatically multiple root nodes

related Vue.js posts

Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 5.1M views

Our whole Node.js backend stack consists of the following tools:

  • Lerna as a tool for multi package and multi repository management
  • npm as package manager
  • NestJS as Node.js framework
  • TypeScript as programming language
  • ExpressJS as web server
  • Swagger UI for visualizing and interacting with the API’s resources
  • Postman as a tool for API development
  • TypeORM as object relational mapping layer
  • JSON Web Token for access token management

The main reason we have chosen Node.js over PHP is related to the following artifacts:

  • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
  • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
  • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
  • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
See more
Johnny Bell
Shared insights
on
Vue.jsVue.jsReactReact

I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.

It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.

See more
jQuery UI logo

jQuery UI

40.4K
13.1K
899
Curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library
40.4K
13.1K
+ 1
899
PROS OF JQUERY UI
  • 215
    Ui components
  • 156
    Cross-browser
  • 121
    Easy
  • 100
    It's jquery
  • 81
    Open source
  • 57
    Widgets
  • 48
    Plugins
  • 46
    Popular
  • 39
    Datepicker
  • 23
    Great community
  • 7
    DOM Manipulation
  • 6
    Themes
  • 0
    Some good ui components
CONS OF JQUERY UI
  • 1
    Does not contain charts or graphs

related jQuery UI posts

Ganesa Vijayakumar
Full Stack Coder | Technical Architect · | 19 upvotes · 5.5M views

I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

As per my work experience and knowledge, I have chosen the followings stacks to this mission.

UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

Happy Coding! Suggestions are welcome! :)

Thanks, Ganesa

See more
Khauth György
CTO at SalesAutopilot Kft. · | 12 upvotes · 565.3K views

I'm the CTO of a marketing automation SaaS. Because of the continuously increasing load we moved to the AWSCloud. We are using more and more features of AWS: Amazon CloudWatch, Amazon SNS, Amazon CloudFront, Amazon Route 53 and so on.

Our main Database is MySQL but for the hundreds of GB document data we use MongoDB more and more. We started to use Redis for cache and other time sensitive operations.

On the front-end we use jQuery UI + Smarty but now we refactor our app to use Vue.js with Vuetify. Because our app is relatively complex we need to use vuex as well.

On the development side we use GitHub as our main repo, Docker for local and server environment and Jenkins and AWS CodePipeline for Continuous Integration.

See more
Redux logo

Redux

30.5K
23.3K
674
Predictable state container for JavaScript apps
30.5K
23.3K
+ 1
674
PROS OF REDUX
  • 191
    State is predictable
  • 150
    Plays well with React and others
  • 126
    State stored in a single object tree
  • 79
    Hot reloading out of the box
  • 74
    Allows for time travel
  • 14
    You can log everything
  • 12
    Great tutorial direct from the creator
  • 7
    Endorsed by the creator of Flux
  • 7
    Test without browser
  • 6
    Easy to debug
  • 3
    Enforces one-way data flow
  • 3
    Granular updates
  • 2
    Blabla
CONS OF REDUX
  • 13
    Lots of boilerplate
  • 6
    Verbose
  • 5
    Steep learning curve
  • 5
    Design
  • 4
    Steeper learning curve than RxJs
  • 4
    Steeper learning curve than MobX

related Redux posts

Johnny Bell

I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

See more

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.

See more
Modernizr logo

Modernizr

27.4K
2.1K
0
Respond to your user’s browser features
27.4K
2.1K
+ 1
0
PROS OF MODERNIZR
    Be the first to leave a pro
    CONS OF MODERNIZR
      Be the first to leave a con

      related Modernizr posts

      Modernizr logo

      Modernizr

      27.4K
      2.1K
      0
      Respond to your user’s browser features
      27.4K
      2.1K
      + 1
      0
      PROS OF MODERNIZR
        Be the first to leave a pro
        CONS OF MODERNIZR
          Be the first to leave a con

          related Modernizr posts