Problem
I wanted to use the MEAN JavaScript Stack, but I realized that there are two alternative stacks: mean.js and mean.io, both of which have their own websites and installation methods. As a result, I found myself questioning, “Which one do I use?”
So, in order to respond to this topic, I’m asking the community to clarify the differences between these two. And, if possible, what are the advantages and disadvantages? Because they have a striking resemblance to me.
Asked by CMPSoares
Solution #1
They’re almost identical… Swig is used for templating, and karma and mocha are used for tests, passport integration, nodemon, and so on.
Why are they so similar? Mean.js is a fork of Mean.io, which was founded by the same person… Mean.io is now under the umbrella of the company Linnovate and looks like the guy (Amos Haviv) stopped his collaboration with this company and started Mean.js. You can read more about the reasons here.
Now… the big (or minor) differences that you can see right now are as follows:
BOILERPLATE GENERATION AND SCAFFOLDING
Mean.io makes use of a proprietary command-line utility called’mean.’ Yeoman Generators are used by Mean.js.
MODULARITY
Mean.io employs a modular approach to node packages, with client and server files kept within the modules. Mean.js integrates modules with Express and uses them just in the front-end (for angular). Despite the fact that they were also working on vertical modules…
BUILD SYSTEM
Mean.io recently switched to gulp. Mean.js makes use of grunt.
DEPLOYMENT
Mean.io and Mean.js both have Dockerfiles in their respective repositories, and Mean.io can be installed with a single click on Google Compute Engine, while Mean.js can be installed with a single click on Digital Ocean.
DOCUMENTATION
Mean.io offers decent documentation. Mean.js has AWESOME documentation.
COMMUNITY
Since it was the initial boilerplate, Mean.io has a larger community. Mean.js is growing slowly but steadily.
On a personal level, I like MeanJS’ philosophy and openness over MeanIO’s traction and module/packages approach. Both are attractive, and you’ll almost certainly customize them, so you can’t go wrong with either. Simply use them as a jumping-off point and a learning exercise.
MEAN is a general term (used by Valeri Karpov) for a boilerplate/framework that uses the stack “Mongo + Express + Angular + Node” as its foundation. There are frameworks that leverage this stack that employ other denominations, some of which are excellent for RAD (Rapid Application Development) and developing SPAs. Eg:
There’s also Hackathon Starter. It doesn’t have an A of MEAN (it’s ‘MEN’), but it’s still a good song.
Have fun!
Answered by sdude
Solution #2
To begin with, MEAN stands for MongoDB, Express, Angular, and Node.js.
It refers to the usage of various technologies in a “stack” in a general sense. The phrase “the MEAN framework” does not exist.
Linnovate’s Lior Kesos took advantage of the misunderstanding. He purchased the name MEAN.io and contributed code to https://github.com/linnovate/mean.
They were fortunate in receiving a lot of press, and there are increasingly more articles and videos about MEAN. Mean.io is the first result when you Google “mean framework.”
Sadly, the code at https://github.com/linnovate/mean appears to be poorly written.
I fell into the trap myself in February. Mean.io had an appealing design, and the Github repo had over 1000 ratings. The thought of criticizing the quality did not even occur to me. I began exploring with it, but it did not take long for me to run into issues with it, as well as perplexing coding.
The history of commits was also troubling. They had to re-engineer the code and directory structure several times, and merging the new modifications would take too long.
Mean.io and mean.js code both come with Bootstrap integration, which is a wonderful feature. They also include PassportJs authentication for Facebook, Github, and Linkedin, as well as an example of a backend model (Article) on MongoDB that syncs with the frontend model with AngularJS.
Linnovate’s website states, “According to Linnovate’s website:
According to their website, Drupal (a PHP content management system) is their primary skill set, and they only recently began using Node.js and AngularJS.
I was reading the Mean.js Blog recently and things started to make sense. According to my understanding, the key Javascript developer (Amos Haviv) departed Linnovate to concentrate on Mean.js, leaving the MEAN.io project in the hands of inexperienced Node.js developers who are still learning the ropes.
Things may change in the future, but for the time being, I would avoid using mean.io. If you’re looking for a quickstart boilerplate, look no further. Mean.js appears to be a better choice than mean.io.
Answered by Chris Cinelli
Solution #3
MEAN.js, MEAN.io, and cleverstack are among the application starters/generators and other technologies compared side by side. As I find time, I continue to add alternatives, and as a result, the list of possibly delivered benefits continues to grow. It’s currently approximately 1600. If you’d like to contribute to its accuracy or completeness, go to the following link and fill out a questionnaire about something you know.
Project to compare app technologies
The system creates reports like these from this database:
Report on the trade-off between MeanJS and MeanIO
Answered by Dan Cancro
Solution #4
My comparison spreadsheet’s Starter Trade-offs sheet has detailed one-on-one comparisons between each generator. So there’s no need to cherry-pick positive things to say about your favorite any longer.
The one between generator-angular-fullstack and MEAN.js is shown below. The percentages represent my personal weightings for each benefit, with a perfect generator being 100.
MEANJS.org does not supply the 8% that generator- angular- fullstack does.
MeanJS.org provides 9% of the functionality that generator-angular-fullstack does not.
Here’s a more accessible version of the one between MEAN.io and MEAN.js.
Answered by Dan Cancro
Solution #5
I’m surprised the Yeoman generator angular-fullstack hasn’t been highlighted. It is the most popular Yeoman community generator, with 1490 stars on the generator website compared to 81 stars for Mean.js (admittedly not a fair comparison given how new MEANJS is). It appears to be actively updated, and as I write this, it is at version 2.05. It does not use Swig for templating, unlike MEANJS. It can be scaffolded and include a passport.
Answered by honkskillet
Post is based on https://stackoverflow.com/questions/23199392/difference-between-mean-js-and-mean-io