Series: Introduction to the MEAN Stack
- Part 1: Definition of the MEAN stack
- Part 2: Setup of the MEAN stack
- Part 3: Node.js
- Part 4: npm
- Part 5: Connect
- Part 6: Express
- Part 7: MongoDB
- Part 8: Mongoose
- Part 9: REST
- Part 10: Baucis
- Part 11: Bower
- Part 12: AngularJS
- Part 13: Restangular
In a new article series, I would like to offer you an entry into the so-called MEAN Stack . This is a group of different technologies that facilitate the development of web applications. In the first article of this series, I will explain the term more closely and formulate the objectives of this series.
The MEAN stack is in direct competition with the classic LAMP stack, which stands for Linux, Apache, MySQL and PHP or Perl or Python. Optionally, Linux can also be replaced by Mac or Windows, so that one speaks of MAMP or WAMP. The main differences to LAMP are the choice of a NoSQL databaseand a non-blocking input-output model for running the server-side scripts. Both terms are explained in more detail in the following articles.
MEAN is essentially a marketing word. It can be understood as an allusion to the Lean concept , which is often referred to as Lean Management, Lean Startup or Lean Software Development. Lean generally describes a simplification of processes and the avoidance of unnecessary tasks. MEAN supports this concept.
MEAN also does not refer to the complete technology stack. For example, Express is based on the server-side Framework Connect , which is also presented below. Many developers use a further abstraction layer, such as Mongoose , to communicate between Node.js and MongoDB . In addition, HTML and CSS are used for the presentation of the application, which can also be simplified by additional frameworks such as bootstrap . As a result, testing frameworks, build systems and preprocessors still remain unaffected, but they are also part of a modern development workflow. You can also speak of MEAN + or MEAN * .
Even though all of these technologies and frameworks simplify the development of web applications, they are a complex network of different conventions and APIs, which can be very confusing to newcomers. The following articles will help you get started with the subject matter and lead you step by step through the aforementioned technologies. At the end of the article series we will develop a small web application using the presented technologies.
Finally, a few hints: The later examples I have developed under Mac OS X 10.8.5. While the MEAN Stack is generally platform-independent and also works on Linux, Windows or older versions of Mac OS X, I do not go into these platforms. However, apart from some differences in command line commands and installation instructions, the explanations should apply equally to each platform.
If you do not understand something, do not be afraid to ask in the comments.
In the next article, we will install Node and MongoDB before we start with the programming examples.
Have fun with the article series!