2019-06-03 bởi timqian
Từ khóa: serverless + react server side rendering
Công cụ, công nghệ và lý do tại sao tôi chọn chúng
Serverless
Một trong những quyết định kỹ thuật quan trọng nhất của tôi là phát triển theo mô hình serverless. Tuy nhiên, tên gọi “serverless” đôi khi gây nhầm lẫn vì nhiều người nghĩ rằng không cần máy chủ khi xây dựng một trang web. Thực tế, ý nghĩa thật sự của serverless không phải là không có máy chủ mà là máy chủ sẽ được quản lý bởi nền tảng đám mây, tự động điều chỉnh tài nguyên máy chủ theo nhu cầu.
Mặc dù serverless hiện nay vẫn còn tồn tại một số vấn đề như giới hạn kích thước gói mã hoặc ràng buộc ngôn ngữ lập trình, nhưng lợi ích của nó là rất rõ ràng: bạn không cần phải lo lắng về việc quản lý máy chủ nữa!
Kinh nghiệm từ những dự án thất bại trước đây cho thấy rằng các trang web thuần frontend thường bền vững hơn, vì chúng không yêu cầu bảo trì liên tục và có nhiều dịch vụ miễn phí đáng tin cậy để lưu trữ nội dung tĩnh. Ngược lại, các trang web cần máy chủ thì khác. Một trong những nguyên nhân phổ biến khiến các website thất bại là máy chủ bị sập. Khi đó, nếu bạn cảm thấy ứng dụng không còn giá trị lớn để duy trì và phải trả tiền cho máy chủ, bạn dễ dàng bỏ mặc nó. Nhưng chúng ta đều biết rằng thời gian là một yếu tố then chốt đối với sự thành công của một số trang web/app, đặc biệt là những trang web dành cho nhóm người dùng hẹp.
Với các trang web như vậy, sau khi ra mắt và chia sẻ ở nhiều nơi, do nhu cầu tương đối nhỏ nên lượng người quan tâm ban đầu có thể không đáng kể. Việc đạt được lượng người dùng lớn ngay từ lần ra mắt đầu tiên là khá khó khăn. Thay vào đó, phần lớn người dùng đến từ kết quả tìm kiếm qua các công cụ tìm kiếm. Do đó, cần có thời gian để lượng người dùng tăng dần. Trong giai đoạn này, bạn cần duy trì trang web ngay cả khi lượng người dùng còn ít. Nếu không có serverless, rất có thể bạn sẽ từ bỏ trong quá trình duy trì dài và không mấy hiệu quả.
Serverless giúp viết backend giống như viết frontend hơn một chút. Bạn win 911 chỉ cần tập trung vào việc cung cấp giá trị cho người dùng, còn việc bảo trì máy chủ sẽ do nhà cung cấp dịch vụ xử lý thay bạn. Điều này làm tăng thời gian sống của ứng dụng, từ đó tăng khả năng thành công.
Trong trường hợp của open-source-jobs, đây là một sản phẩm thuộc nhóm nhỏ lẻ, có thể chưa có nhu cầu lớn ngay bây giờ, nhưng nhu cầu đang dần tăng lên. Đây là một sản phẩm cần phát triển chậm và ổn định.
Các công cụ sử dụng trong phát triển serverless:
- Máy chủ: AWS Lambda
- Cơ sở dữ liệu serverless: AWS DynamoDB
- Triển khai dễ dàng: Apex Up
- Bao gồm: Đăng ký tự động tên miền phụ; HTTPS; và triển khai mã mới nhất cho phía server
Phát triển modular frontend: React
React chắc hẳn không cần giới thiệu nhiều, đây là framework frontend phổ biến nhất hiện nay, cho phép phát triển giao diện theo cách tiếp cận modular.
- Thành phần frontend: React.js
Server Side Rendering (SSR)
Do open-source-jobs là một trang web nội dung, tính thân thiện với công cụ tìm kiếm là rất quan trọng. Hiện tại, trong cộng đồng React, giải pháp tốt nhất cho SEO là Next.js.
- Server Side Rendering cho SEO: Next.js
Cuối cùng, đính kèm liên kết dự án và mã nguồn
- Địa chỉ trang web
- Mã nguồn trên GitHub
- Cấu trúc mã
Giúp tôi cải thiện bài viết này win88 nổ hũ game nhà cái tặng tiền cược miễn phí