Alternatives to Ramda logo

Alternatives to Ramda

Lodash, Underscore, RxJS, Immutable.js, and jQuery are the most popular alternatives and competitors to Ramda.
290
3

What is Ramda and what are its top alternatives?

Ramda is a functional programming library for JavaScript that emphasizes a declarative style of programming. It provides a wide range of functions for manipulating data immutably, currying functions, and composing functions. Ramda promotes functional programming techniques like partial application, point-free programming, and composition. However, Ramda can have a steep learning curve for developers unfamiliar with functional programming paradigms, and the extensive use of currying can sometimes lead to complex code.

  1. Lodash: Lodash is a popular utility library that provides a wide range of functions for manipulating arrays, objects, and strings in JavaScript. It offers a similar set of features as Ramda but with a more imperative programming style. Pros include familiarity for many JavaScript developers and extensive documentation. Cons include mutability and less emphasis on functional programming principles.
  2. Underscore.js: Underscore.js is a predecessor to Lodash and offers similar utility functions for JavaScript. It is lightweight and widely used, but it lacks some of the more advanced features of Ramda such as currying and function composition.
  3. RxJS: RxJS is a reactive programming library for JavaScript that provides tools for working with asynchronous data streams. It is well-suited for building complex event-driven applications and integrates well with frameworks like Angular. Pros include support for reactive programming concepts and powerful observable operators. Cons include a steeper learning curve compared to Ramda.
  4. Functional-Light: Functional-Light is a book by Kyle Simpson that focuses on practical functional programming concepts in JavaScript. It covers topics like currying, composition, and immutability, similar to Ramda's approach. Pros include in-depth explanations and examples of functional programming concepts. Cons include being more of a learning resource rather than a library of utility functions.
  5. Ramda Adjunct: Ramda Adjunct is a community-driven extension library for Ramda that provides additional utility functions. It complements Ramda's core functionality with more specialized functions for common use cases. Pros include enhanced functionality for working with Ramda. Cons include potential compatibility issues with new Ramda versions.
  6. Folktale: Folktale is a library that provides tools for working with functional programming concepts in JavaScript. It includes utilities for handling common programming tasks in a functional style, similar to Ramda. Pros include a focus on functional programming principles. Cons include a smaller community compared to more established libraries like Ramda.
  7. Ramdu: Ramdu is an alternative implementation of Ramda that aims to improve type inference for TypeScript users. It provides better support for type checking and inference in TypeScript projects using Ramda functions. Pros include improved type safety for TypeScript applications using Ramda. Cons include potential differences in behavior from the original Ramda library.
  8. Sanctuary: Sanctuary is a functional programming library for JavaScript that focuses on safe programming practices and strong typing. It provides tools for working with algebraic data types and enforcing type constraints at compile-time. Pros include strong type safety guarantees. Cons include a more niche focus compared to the broader utility of Ramda.
  9. Koa: Koa is a lightweight web framework for Node.js that emphasizes middleware-based architecture and leveraging async/await syntax. It provides a more minimalist approach to building web applications compared to heavier frameworks like Express. Pros include a focus on modern JavaScript features. Cons include less built-in functionality compared to full-featured frameworks like Express.
  10. Crocks: Crocks is a library that provides utilities for functional programming in JavaScript, focusing on concepts like functors, monads, and applicatives. It encourages developers to embrace functional programming patterns and provides tools for working with these concepts. Pros include a focus on advanced functional programming concepts. Cons include a potentially steep learning curve for developers new to functional programming.

Top Alternatives to Ramda

  • Lodash
    Lodash

    A JavaScript utility library delivering consistency, modularity, performance, & extras. It provides utility functions for common programming tasks using the functional programming paradigm. ...

  • Underscore
    Underscore

    A JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. ...

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

  • Immutable.js
    Immutable.js

    Immutable provides Persistent Immutable List, Stack, Map, OrderedMap, Set, OrderedSet and Record. They are highly efficient on modern JavaScript VMs by using structural sharing via hash maps tries and vector tries as popularized by Clojure and Scala, minimizing the need to copy or cache data. ...

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

Ramda alternatives & related posts

Lodash logo

Lodash

7.5K
886
3
A JavaScript utility library
7.5K
886
+ 1
3
PROS OF LODASH
  • 2
    Better than Underscore
  • 1
    Simple
  • 0
    Better that Underscore
CONS OF LODASH
  • 1
    It reduce the performance

related Lodash posts

Elemental UI Vue.js vuex Node.js ES6 ESLint lodash Webpack Yarn Git

See more
Underscore logo

Underscore

1.8K
589
290
JavaScript's utility _ belt
1.8K
589
+ 1
290
PROS OF UNDERSCORE
  • 85
    Utility
  • 55
    Simple
  • 40
    Functional programming
  • 32
    Fast
  • 28
    Open source
  • 20
    Backbone
  • 16
    Javascript
  • 8
    Annotated source code
  • 6
    Library
CONS OF UNDERSCORE
    Be the first to leave a con

    related Underscore posts

    RxJS logo

    RxJS

    2.1K
    631
    21
    The Reactive Extensions for JavaScript
    2.1K
    631
    + 1
    21
    PROS OF RXJS
    • 6
      Easier async data chaining and combining
    • 3
      Steep learning curve, but offers predictable operations
    • 2
      Observable subjects
    • 2
      Ability to build your own stream
    • 2
      Works great with any state management implementation
    • 2
      Easier testing
    • 1
      Lot of build-in operators
    • 1
      Simplifies state management
    • 1
      Great for push based architecture
    • 1
      Documentation
    CONS OF RXJS
    • 3
      Steep learning curve

    related RxJS posts

    Eyas Sharaiha
    Software Engineer at Google · | 28 upvotes · 1.1M views
    Shared insights
    on
    TypeScriptTypeScriptAngularAngularRxJSRxJS
    at

    One TypeScript / Angular 2 code health recommendation at Google is how to simplify dealing with RxJS Observables. Two common options in Angular are subscribing to an Observable inside of a Component's TypeScript code, versus using something like the AsyncPipe (foo | async) from the template html. We typically recommend the latter for most straightforward use cases (code without side effects, etc.)

    I typically review a fair amount of Angular code at work. One thing I typically encourage is using plain Observables in an Angular Component, and using AsyncPipe (foo | async) from the template html to handle subscription, rather than directly subscribing to an observable in a component TS file.

    Subscribing in components

    Unless you know a subscription you're starting in a component is very finite (e.g. an HTTP request with no retry logic, etc), subscriptions you make in a Component must:

    1. Be closed, stopped, or cancelled when exiting a component (e.g. when navigating away from a page),
    2. Only be opened (subscribed) when a component is actually loaded/visible (i.e. in ngOnInit rather than in a constructor).

    AsyncPipe can take care of that for you

    Instead of manually implementing component lifecycle hooks, remembering to subscribe and unsubscribe to an Observable, AsyncPipe can do that for you.

    I'm sharing a version of this recommendation with some best practices and code samples.

    #Typescript #Angular #RXJS #Async #Frontend

    See more
    Praveen Mooli
    Engineering Manager at Taylor and Francis · | 19 upvotes · 4M views

    We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

    To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

    To build #Webapps we decided to use Angular 2 with RxJS

    #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

    See more
    Immutable.js logo

    Immutable.js

    418
    120
    17
    Immutable persistent data collections for Javascript which increase efficiency and simplicity, by Facebook
    418
    120
    + 1
    17
    PROS OF IMMUTABLE.JS
    • 8
      Immutable data structures
    • 5
      Allows you to mimic functional programming
    • 2
      Bring the functional experience to JS
    • 1
      Makes writing Javascript less scary
    • 1
      Easily transpiles to different ES standards
    CONS OF IMMUTABLE.JS
      Be the first to leave a con

      related Immutable.js posts

      jQuery logo

      jQuery

      191.9K
      68.2K
      6.6K
      The Write Less, Do More, JavaScript Library.
      191.9K
      68.2K
      + 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

      173K
      142.9K
      4.1K
      A JavaScript library for building user interfaces
      173K
      142.9K
      + 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 · | 38 upvotes · 260.9K 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

      61K
      44K
      5.3K
      Superheroic JavaScript MVW Framework
      61K
      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.3K
      44K
      1.6K
      A progressive framework for building user interfaces
      54.3K
      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