Giới thiệu MERN Stack
Technical Stack là gì?
Technical stack là sự kết hợp các công nghệ/framework/ngôn ngữ lập trình, vv để tạo nên một phần mềm hoàn chỉnh.
Với các phần mềm hiện giờ thường có 2 phần là: client side và server side hay người ta còn gọi là front end và backend. Nên người ta cũng phân ra backend stack, frontend stack nữa. Ta thường dùng chữ cái đầu để đặt tên cho technical stack như: LAMP ( Linux, Apache, MySQL, PHP ), MEAN ( MongoDB, Express, Angular, NodeJS ). Mình thấy anh Hoàng ( Toidicodedao ) có viết một bài về techincal stack, bạn có thể đọc thêm ở đây nhé
MERN Stack là gì?
MERN stack là nguyên bộ combo open source các công nghệ đều liên quan đến Javascript là cũng hot nhất hiện nay: MongoDB, ExpressJS, React/React Native, NodeJS. Người ta dùng MERN stack để xây dựng React Universal App.
MongoDB
Là một noSQL database hot nhất hiện nay. MongoDB thường đi với Mongoose - một library để giao tiếp với MongoDB dễ dàng hơn.
Node.js
Node.js là một Javascript runtime. Để hiểu được định nghĩa của nó thôi cũng không phải chuyện dễ. Mình có viết một chuỗi bài viết về Node.js, bạn có thể xem thêm nhé
Express
Express là web framework được xây dựng bằng Javascript chạy trên nền Node.js. Nó hỗ trợ thêm nhiều tính năng cần có của một web framewok như: routing, middlewares, template engines, vv
React/React Native
React là thư viện frontend được viết bằng Javascript, nó là hàng của Facebook đang rất hot hiện nay.
React Native kế thừa từ React và nó là framework để viết ứng dụng di động da nền tảng
MEAN stack vs MERN stack?
Hai stack này chỉ khác nhau giữa Angular và React. Nếu bạn nào thích Angular, Typescript thì chọn MEAN, ngược lại thích React thì chọn MERN.
Ngoài ra, môt điểm cần lưu ý nữa là lựa chọn framework để xây dựng ứng dụng di động, vì phía client có thể là website hoặc mobile app. Nếu chọn MEAN với Angular thì học thêm Ionic cũng dễ dàng hơn, với React thì có thể chọn React Native. Theo tình hình hiện tại thì React Native đang phổ biến và có nhiều ưu điểm hơn là Ionic.
MERN stack vs Meteor?
Meteor là web framework được viết trên nền Node.js và nó miễn phí ( open source ). Nó dùng MongoDB là database mặc định, phía client thì nó cho phép xài library nào cũng được: React, JQuery, vv
Đại khái thì nó cũng như MERN stack nhưng việc sử dụng dễ dàng hơn rất nhiều vì bạn không cần phải kết nối các thành phần lại với nhau, Meteor đã làm hết cho bạn rồi.
Đương nhiên nếu tìm hiểu sâu thì sẽ có nhiều điểm khác biệt như: cách deploy, cộng đồng hỗ trợ, vv
Kết luận
Thực chất đây chỉ là một bài giới thiệu tổng quan thôi, thời gian tới mình sẽ viết nhiều bài chuyên sâu hơn về MERN stack. Nhưng tóm lại theo mình là MERN stack sẽ rất hứa hẹn trong thời gian tới