Web stacks đã phát triển qua nhiều thập kỷ với các tiến bộ trong công nghệ và phụ trợ ngôn ngữ. Hai Web stack phổ biến hiện nay là LAMP và MEAN. Chúng dựa trên hai công nghệ khác nhau cho ngôn ngữ phụ trợ, cơ sở dữ liệu và môi trường máy chủ. Thuật ngữ "ngăn xếp" được sử dụng để chỉ các công nghệ xếp chồng lên nhau nhằm tạo môi trường máy chủ web
Trong bài viết này, tôi muốn làm rõ hai web stack này bằng cách xem xét các lựa chọn công nghệ của họ, cả thuận và nghịch. Trường hợp nào tốt hơn với mỗi ngăn xếp?
Hệ thống phát triển LAMP
Hầu hết các Nhà phát triển nên biết về hệ thống LAMP stack vì nó đã được sử dụng làm web từ sớm. LAMP là viết tắt của Linux, Apache, MySQL và PHP. Mỗi trong số đó là các gói phần mềm riêng lẻ được kết hợp để tạo thành một giải pháp máy chủ linh hoạt. Lý do lớn nhất để gắn bó với LAMP là bảo mật và hỗ trợ mở rộng. Nó đã ra đời giữa nhiều thập kỷ, và đó là một phương pháp đã được chứng minh cải tiến của các trang web lưu trữ. Tất cả các công nghệ phụ trợ như PHP và Mysql đều phổ biến và được hỗ trợ bởi các nhà cung cấp dịch vụ lưu trữ lớn. Nếu bạn làm việc trên LAMP stack , bạn về cơ bản có thể lưu trữ bất cứ nơi nào. Ngoài ra các CMS phổ biến nhất như Wordpress, Joomla, Drupal. đều được phát triển trên nền PHP và Mysql.
Phần cuối JavaScript với MEAN
Nút. js là công nghệ mới nhất dành cho các nhà phát triển được xác định để chạy các ứng dụng có thể mở rộng được xây dựng bằng JavaScript. Là một MEAN stack mạnh mẽ và cung cấp một lợi thế chính. mọi thứ chạy trên một ngôn ngữ duy nhất. MEAN nghĩa là MongoDB, Express. js, góc cạnh. js và tất nhiên là Node. js. Từ viết tắt này không yêu cầu hệ điều hành máy chủ hoặc phần mềm máy chủ. Một ngăn xếp MEAN có thể chạy trên bất kỳ hệ điều hành nào và Node thậm chí còn đi kèm với máy chủ của riêng mình để xử lý JS trên các phụ trợ.
Bạn sẽ thấy rất nhiều tài liệu và hỗ trợ trên trang web Mean. io
Mặc dù ngăn xếp này đã thu hút rất nhiều sự chú ý, nhưng nó vẫn không có số lượng hỗ trợ ổn định như một ngăn xếp LAMP truyền thống
Vì vậy tại sao chúng ta nên làm quen với MEAN. Bởi vì chúng xử lý nhanh hơn và dễ quản lý hơn. MongoDB là một nền tảng NoSQL tối ưu hóa các truy vấn. Việc sử dụng mã JavaScript cho cả frontend và backend cũng cải thiện việc phát triển ứng dụng. Cộng thêm nhiều khung JS đang xâm nhập thị trường như một giải pháp ổn định. Ví dụ. MEAN can be convert sang MEEN stack instead Angular by Ember
Các thành viên lập trình sẽ yêu thích MEAN stack vì nó tách biệt mã để duy trì và phát triển. Điều này làm cho việc tổ chức các ứng dụng web JavaScript của bạn dễ dàng hơn để chúng chạy trong môi trường tự nhiên
Có rất nhiều thứ để học về chủ đề này, và đó có thể là rào cản lớn nhất để nhập môn cho các nhà phát triển mới. Học tất cả các công nghệ cần thiết để quản lý ứng dụng MEAN có thể mất vài tháng. Nhưng nếu bạn yêu thích Node và muốn chạy tất cả mọi thứ trên JavaScript thì đây cũng là giá trị nỗ lực
Dưới đây là một số hướng dẫn dành cho người mới bắt đầu
PHP so với. Nút
PHP đã được khoảng từ giữa những năm 90, và thực sự là ngôn ngữ phụ trợ phổ biến nhất. Nhiều nhà phát triển web bắt đầu bằng (hoặc cuối cùng tìm hiểu) PHP vì nó chiếm ưu thế trên các nền tảng web và các nhà cung cấp dịch vụ lưu trữ. Nodejs là một framework mới hơn nhưng tính phổ biến của nó đã tăng nhanh bất thường. Điều này bao gồm sự phổ biến của NPM như là một trình quản lý gói cho các nhà phát triển web và mở rộng thêm vào các khung giao diện người dùng mạnh như Angular 2.
Nhiều nhà phát triển cảm thấy rằng PHP là một ngôn ngữ được thiết kế kém bởi vì người sáng tạo, Rasmus Lerdorf đã không thực sự thiết kế nó như một ngôn ngữ. PHP bắt đầu như một giải pháp chung cho các trang web và nhanh chóng phát triển thành một thư viện có chức năng lớn không liên quan
Nhưng với PHP 7 đã cố gắng sửa nhiều lỗi của ngôn ngữ và với các framework OOP miễn phí, chẳng hạn như Laravel, PHP giờ đây tốt hơn bao giờ hết.
Nếu bạn đã biết PHP và muốn gắn kết với những gì bạn biết, thì LAMP cũng là một con đường khả thi
Ưu & nhược điểm tổng thể
Có nhiều lớp của mỗi ngăn xếp web để so sánh, bao gồm hệ điều hành, phần mềm máy chủ, cơ sở dữ liệu và phụ trợ ngôn ngữ. (1) MEAN stack cũng bao gồm Angular là một frontend framework. Không có khung nào được yêu cầu trong ngăn xếp LAMP, nhưng bạn luôn có thể thêm nó vào bất kỳ ứng dụng nào bạn tạo. (2) Liên quan đến hệ điều hành, các LAMP stack tìm một đầu ra của Linux. Linux thường là sự lựa chọn tốt nhất cho môi trường máy chủ bất kể ngăn xếp, và nó cũng đúng với MEAN. (3) Bây giờ hệ điều hành của máy chủ chỉ là phần mềm máy tính, nhưng nó không phải là phần mềm máy chủ web. Để có được điều này, bạn cần có một chương trình như Apache hoặc nginx. LAMP sử dụng Apache vì đây là một trong những lựa chọn ổn định nhất hiện có.
Chốt lại
Tôi muốn nói rằng hầu hết các trang web đều được làm theo hướng LAMP stack vì nó được kiểm tra và có rất nhiều chủ đề Q & A hữu ích trên Google. MEAN vẫn đang phát triển và cũng có nhiều sự hỗ trợ, nhưng có thể là kỹ thuật cao hơn và cần thời gian tìm hiểu nhiều hơn. Bạn có thể thử cả hai và kiểm tra chúng bởi chính mình. Có thể cài đặt cả hai thiết lập cục bộ trên máy tính của bạn và xây dựng trên chúng mà không có máy chủ từ xa. Và nếu bạn đang tìm kiếm thêm thông tin về một trong hai ngăn xếp, tôi đã thu thập một tập hợp các liên kết tiện ích bên dưới