Decide if MEAN is right for you
MEAN is a development stack for building and hosting web applications. MEAN is an acronym for its component parts: MongoDB, Express, AngularJS, and Node.js.
The main reason you might consider MEAN is if you're familiar with JavaScript. Here are some other reasons you might want to choose MEAN, or choose a different development stack for your next web application.
Why would I pick MEAN?
All of the components of the MEAN stack are reliable, well-understood, and open source, but so are many other development stacks. Here are some reasons you might choose MEAN over other development stacks.
Your data isn't highly structured
MongoDB is what's called a NoSQL database. A NoSQL database doesn't require data to be structured in a pre-defined way like it would with a relational database like Microsoft SQL Server or MySQL. Instead, MongoDB stores its data in JSON-like documents that don't require the rigid data structures that MySQL or other relational databases require.
MEAN is well documented
The components of the MEAN stack are all popular right now. Resources for working with MongoDB, Express, AngularJS, and Node.js are easy to find.
MEAN runs almost anywhere
You can also develop MEAN stack applications from your favorite development environment, whether that's Windows, macOS, or Linux.
MEAN is scalable
In addition to being cross platform, MEAN stack applications can be scaled out and easily tested for accelerated growth in enterprise environments and offer high performance.
Why might MEAN not be right for me?
Here are some reasons you might want to choose a development stack other than MEAN.
Even if you decide that MEAN isn't right for you, you might still be interested in this module. Many of the patterns you'll see apply to other kinds of web application frameworks.
Your data is highly structured
If your data is highly structured, you might benefit from putting your data in a relational database such as Microsoft SQL Server or MySQL.
JavaScript isn't your strongest skill
If you prefer another language over JavaScript, there may be an alternative framework out there for you.
For example, the LAMP stack, which consists of Linux, Apache, MySQL, and PHP (sometimes with Perl or Python instead of PHP) might better align to your strengths and experience.