JAMstack: Cái gì, tại sao và như thế nào
Phát triển web thường liên quan đến việc sử dụng các ngăn xếp phát triển khác nhau, bao gồm LAMP , ngăn xếp MEAN, ngăn xếp MERN, v.v. JAMstack là một ngăn xếp khác cung cấp một số lợi ích riêng cho các nhà phát triển. Bài viết này sẽ thảo luận về những lợi ích đó và một số định nghĩa và thuật ngữ chung để giới thiệu về JAMstack.JAMstack là gì?
Các trang web tĩnh đã được phát triển gần đây về sử dụng và chức năng. Không còn là tập hợp các file HTML và CSS, các trang web tĩnh thực hiện những việc như xử lý thanh toán, xử lý các hoạt động thời gian thực, v.v. Gọi các trang web này là “tĩnh” làm suy yếu và mô tả thiếu chức năng của chúng. Do đó, thuật ngữ JAMstack .
JAMstack là viết tắt của J avaScript, A PIs và M arkup. Theo trang web chính thức, JAMstack nghĩa là :
Kiến trúc phát triển web hiện đại dựa trên JavaScript phía client , các API có thể sử dụng lại và Đánh dấu được tạo sẵn.
Thuật ngữ này được đặt ra bởi Mathias Biilmann, người đồng sáng lập Netlify .
Với JAMstack, ta không còn nói về các công nghệ cụ thể như hệ điều hành, web server , ngôn ngữ lập trình backend hoặc database . Đó là một cách mới để xây dựng các trang web và ứng dụng mang lại hiệu suất tốt hơn, bảo mật cao hơn, chi phí mở rộng thấp hơn và trải nghiệm nhà phát triển được sắp xếp hợp lý hơn.
Tại sao lại là JAMstack?
Khi nào bạn nên cân nhắc sử dụng JAMstack? Một số lý do bạn có thể xem xét JAMstack bao gồm:
- Hiệu suất nhanh hơn: Vì trang web JAMstack là HTML và nội dung được tạo sẵn nên nó có thể được phân phát qua CDN.
- Bảo mật cao hơn: Các trang web JAMstack giảm thiểu các lỗ hổng trên khu vực server và database .
- Chi phí thấp hơn: Chi phí chạy một trang web JAMstack thường thấp hơn các lựa chọn thay thế tương đương vì nó sử dụng ít tài nguyên hơn.
- Trải nghiệm nhà phát triển tốt hơn: Với JAMstack, không có sự kết hợp chặt chẽ giữa phần backend ứng dụng và giao diện user . Điều này nghĩa là bạn có thể chọn trong số các tùy chọn CMS và cơ sở hạ tầng nội dung khác nhau, loại bỏ nhu cầu về các ngăn xếp riêng biệt để duy trì và phân phát nội dung. Sử dụng JAMstack cũng đơn giản hóa quá trình sử dụng các dịch vụ của bên thứ ba như Algolia và Netlify Forms .
Ngày càng có nhiều dịch vụ tích hợp chức năng động vào các trang web JAMstack, bao gồm:
- Netlify Identity , cho phép quản lý đăng ký, đăng nhập, khôi phục password và hơn thế nữa.
- Tìm kiếm toàn văn với Algolia và Lunr.js.
- Xử lý biểu mẫu với Formspree hoặc Netlify Forms .
Cách xây dựng với JAMstack
Để xây dựng một dự án bằng JAMstack, nó phải đáp ứng các tiêu chí sau:
- JavaScript: Mọi lập trình động trong chu kỳ yêu cầu / phản hồi đều do JavaScript xử lý, chạy hoàn toàn trên client . Đây có thể là bất kỳ khung giao diện nào như Vue.js , React , Angular , v.v. hoặc thậm chí là JavaScript vani.
- API: Tất cả các quy trình phía server hoặc hành động database được tóm tắt thành các API có thể sử dụng lại, được truy cập qua HTTP với JavaScript. Đây có thể là các dịch vụ tùy chỉnh hoặc tận dụng các dịch vụ của bên thứ ba.
- Đánh dấu: Đánh dấu mẫu nên được tạo sẵn tại thời điểm triển khai, thường sử dụng trình tạo trang như GatsbyJS , Nuxt.js hoặc Hugo cho các trang nội dung hoặc một công cụ xây dựng như Webpack hoặc ParcelJS cho ứng dụng web.
Với những điều đó, các dự án sau không phải là dự án JAMstack:
- Một dự án được xây dựng bằng CMS phía server như WordPress, Drupal, v.v.
- Một ứng dụng web chạy trên server nguyên khối dựa trên ngôn ngữ backend như PHP, Node hoặc bất kỳ ngôn ngữ backend nào khác.
- Một ứng dụng trang đơn (SPA) sử dụng kết xuất đẳng hình để tạo các chế độ xem trên server trong thời gian chạy.
Khi xây dựng một dự án với JAMstack, hãy ghi nhớ các phương pháp hay nhất sau:
- Toàn bộ trang web sẽ được phục vụ trên CDN.
- Sử dụng triển khai nguyên tử.
- Sử dụng tính năng vô hiệu hóa bộ nhớ đệm tức thì.
- Mọi thứ sẽ sống trên Git.
- Việc xây dựng đánh dấu phải được tự động hóa.
Kết luận
Trong bài viết này, bạn đã biết về JAMstack là gì và tại sao bạn có thể cân nhắc nó cho dự án tiếp theo của bạn . Bạn cũng đã tìm hiểu về các yêu cầu của dự án cho các trang web JAMstack. Để biết ví dụ về các trang web và ứng dụng web được xây dựng bằng JAMstack, bạn cũng có thể xem các ví dụ chính thức này.
Bạn có thể tìm hiểu thêm về JAMstack bằng cách truy cập trang web chính thức và phần tài nguyên .
Các tin liên quan