Mern la gi

MEAN Stack là gì? Với những ai đã và đang làm việc với JavaScript thì chắc hẳn đã từng nghe đến khái niệm này. Bài viết dưới đây sẽ giới thiệu cho bạn về định nghĩa, cấu trúc và ưu điểm của giải pháp phát triển ứng dụng web này. 

Mục lục

  • 1. MEAN Stack là gì?
  • 2. MEAN Stack hoạt động như thế nào?
  • 3. Ưu điểm của việc phát triển ứng dụng web với MEAN Stack
    • 3.1. Đơn giản hóa việc chuyển đổi giữa máy khách và máy chủ
    • 3.2. Có thể code Isomorphic
    • 3.3. Tính linh hoạt cao
    • 3.4. Tối ưu chi phí
    • 3.5. Có tốc độ cao và tái sử dụng được
    • 3.6. Mã nguồn mở và có khả năng tương thích với đám mây

1. MEAN Stack là gì?

Được biết đến như là một trong những Technology Stack phổ biến nhất, thuật ngữ MEAN Stack được dùng để chỉ tập hợp các công nghệ dựa trên ngôn ngữ lập trình JavaScript. Chúng được sử dụng để phát triển ứng dụng web full stack. 4 chữ M-E-A-N đại diện cho 4 công nghệ chính cấu thành nên giải pháp này. Mỗi thành phần có một công dụng, cụ thể:

  • MongoDB là một cơ sở dữ liệu NoSQL. Nó lưu trữ dữ liệu dưới định dạng JSON định phân nhằm dễ dàng truyền tải dữ liệu giữa server và client. 
  • Express.js là một web framework được xây dựng trên Node.js. Nó được sử dụng để tạo API và phát triển ứng dụng web. 
  • Angular.js là một JavaScript Framework dùng để làm front-end cho web, được phát triển bởi Google. Nó kiểm soát hành vi của những phần tử khác nhau được hiển thị trên các trang web. 
  • Node.js là Java Runtime Environment (JRE), được sử dụng để tạo ra web server.
Mern la gi
MEAN Stack là gì?

2. MEAN Stack hoạt động như thế nào?

Kiến trúc của MEAN được thiết kế để giúp lập trình viên có thể xây dựng các ứng dụng web bằng ngôn ngữ JavaScript và xử lý JSON một cách dễ dàng. 

Mern la gi
Minh họa cho cách thức hoạt động của MEAN Stack

Người dùng sẽ tương với các component Angular.js UI ở giao diện người dùng của ứng dụng trong trình duyệt. Một máy chủ Express.js viết bằng Node.js sẽ phục vụ cho phần front end. Bất kỳ tương tác nào tạo ra một yêu cầu thay đổi dữ liệu sẽ được gửi đến cho máy chủ Express.js.

Sau đó, máy chủ thu dữ liệu từ cơ sở dữ liệu MongoDB (trong trường hợp được yêu cầu) và đưa lên giao diện người dùng của ứng dụng. 

Nguồn tham khảo: https://www.educative.io/edpresso/what-is-mean-stack

3. Ưu điểm của việc phát triển ứng dụng web với MEAN Stack

Mern la gi
Lợi ích của MEAN Stack trong việc phát triển ứng dụng web

3.1. Đơn giản hóa việc chuyển đổi giữa máy khách và máy chủ

Với việc phát triển ứng dụng bằng MEAN Stack, lập trình viên sẽ tiết kiệm được rất nhiều thời gian và công sức. Bạn chỉ cần viết code bằng ngôn ngữ duy nhất là JavaScript cho cả máy khách và máy chủ. 

3.2. Có thể code Isomorphic

Chuyển code sang một framework khác được viết bởi một framework cụ thể sẽ dễ dàng hơn với sự hỗ trợ của MEAN Stack.

3.3. Tính linh hoạt cao

Với MEAN, bạn có thể thực hiện việc kiểm tra ứng dụng trên nền tảng đám mây một cách thuận lợi sau khi đã hoàn thành quy trình phát triển. Đồng thời, MEAN cũng cho phép bạn dễ dàng thêm thông tin bổ sung bằng cách thêm các trường vào biểu mẫu. 

3.4. Tối ưu chi phí

Sử dụng MEAN Stack để phát triển ứng dụng chỉ đòi hỏi các lập trình viên phải thông thạo JavaScript. Trong khi đó, việc dùng LAMP Stack lại cần nhiều hơn thế. Điều này giúp tiết kiệm chi phí thuê và đào tạo nhân công cho các hãng sản xuất công nghệ. 

3.5. Có tốc độ cao và tái sử dụng được

Node.js là có tốc độ xử lý cực nhanh và là một framework có cấu trúc non-blocking. Trong khi đó, Angular.js là một JavaScript framework mã nguồn mở cung cấp khả năng bảo trì, kiểm tra và tái sử dụng. 

3.6. Mã nguồn mở và có khả năng tương thích với đám mây

Toàn bộ công nghệ MEAN Stack đều là mã nguồn mở có sẵn hoàn toàn miễn phí. Vì thế, việc sử dụng MEAN Stack cho phép lập trình viên có nhiều sự lựa chọn với thư viện và các kho lưu trữ công cộng. Nó cũng cho phép giảm chi phí phát triển phần mềm hiệu quả. MongoDB hỗ trợ việc triển khai các chức năng đám mây trong ứng dụng bằng cách giảm chi phí của không gian đĩa.

Sử dụng MEAN Stack sẽ đem lại rất nhiều lợi ích cho bạn trong quá trình phát triển các ứng dụng web. Nếu bạn là một front end developer và muốn tối ưu năng suất làm việc của mình thì hãy dành thêm thời gian tìm hiểu về khái niệm MEAN Stack là gì cũng như cách thức ứng dụng công nghệ này nhé. 

https://www.zeolearn.com/magazine/7-advantages-of-developing-apps-with-mean-stack