Recently, for a project I had to work on, I shifted from my regular routine of npm install to an entirely different stack built on a different language. Let me tell you this, it’s not hard as it sounds as, the more I worked on it, the easier and more familiar it became. This article could probably help out as a tutorial also, if you are planning to get started with RoR and have experience with full-stack JavaScript. So below are a few basic things you’d notice switching between these two stacks. The Similarities Starting with and , a Stack project would include a , which lists all the that are dependencies for the project. So basically, to setup a local development env, you run npm install and all the required packages gets magically saved into a folder called in the project directory. This process is automated by JS frameworks with CLIs such as Angular, which sets up an application structure and installs all the required dependencies. NodeJS NPM MEAN package.json npm packages node_modules Ruby on Rails follows this exact same concept for setting up. The Rails equivalents for and are (commonly referred to as gems) and respectively. And Rails CLI by itself has a commands to setup a barebones application structure which also installs the gems, and sets up a basic database, for rapid development. npm packages , package.json npm Rubygems , Gemfile bundler // Angular CLI ng new <project-name> // Install package using NPM npm install <package-name> // Rails CLI rails new <project-name> // Install Rubygem gem install <gem-name> // Install all packages in Gemfile (Something like npm install) bundler install These similarities are not only just for project setup but also for running them. Ruby also comes with integrated full-stack which doesn’t require separate setup with frameworks such as for and to ease things out even more it ships directly with a simple database. ExpressJS NodeJS PostgreSQL // Starting up a MEAN application with Node npm start // If the application is built over a CLI such as Angular ng serve // Starting up a Ruby on Rails application rails serve The Differences Primary difference you notice in package management is that there are no global and local packages like in , which uses this method to prevent version conflicts as different projects may require different versions of the same package. Ruby on the other hand runs smooth with all it’s gems being installed globally and taken care of by . Basically it has no local equivalent to and installs the packages system-wide to be shared by all your projects. NPM bundler node_modules Another thing would be , which is Rails’ answer to web components and directives which are implemented using React or Angular in a JavaScript stack. This templating system is very similar to in PHP. embedded Ruby files (.erb) Twig Talking about databases, uses packages which acts as an interface or driver to connect to , or so. RoR already comes with by default, with capabilities to work directly with it from the CLI as well an web GUI interface. NodeJS npm MongoDB MySQL PostgreSQL The Conclusion I don’t think I need to actually say it out loud at this point, it’s pretty clear that albeit the differences, switching between both is pretty easy, as concept wise it’s a lot similar. Hope you liked this article. If you did, please be sure to recommend, follow, and share. By the way, I’m on and :) twitter github