Xem Nhiều 4/2024 # Cách Xây Dựng Ứng Dụng Web Đơn Giản – Amazon Web Services (Aws) # Top 1 Yêu Thích

Trong bài viết này, chúng tôi sẽ giải quyết các yêu cầu chính của các công ty khởi nghiệp khi xây dựng ứng dụng web, khám phá cách bạn có thể tận dụng các dịch vụ AWS để tăng tốc quá trình xây dựng và mang đến cho bạn một số tài nguyên sẽ hướng dẫn bạn trong suốt hành trình.

Bắt đầu

Một sơ đồ ứng dụng web hiện đại điển hình có dạng như sau:

Bạn có thể coi ứng dụng có hai phần: frontend, tức là phần ứng dụng mà người dùng sử dụng để tương tác với các tài nguyên ứng dụng và backend, là nơi lưu trữ tất cả các tài nguyên bạn đã tạo.

Bạn có thể dùng các frontend khác nhau trong ứng dụng để mang đến trải nghiệm tốt nhất cho người dùng, cũng như tận dụng các tính năng độc đáo ở mỗi nền tảng. Ví dụ: Bạn có thể tạo các bố cục khác nhau để tận dụng kích thước màn hình lớn hơn của trình duyệt web trên máy tính hoặc tạo các ứng dụng di động tận dụng camera và chức năng GPS của điện thoại thông minh.

Backend của ứng dụng lưu trữ logic nghiệp vụ và các lớp lưu trữ dữ liệu của ứng dụng. Đây cũng là nơi bạn xác định các quy tắc chi phối ứng dụng dựa trên các trường hợp sử dụng theo nghiệp vụ. Ví dụ: Bạn có thể chỉ cho phép người dùng được ủy quyền mua sách và từ chối hoạt động truy cập của những người dùng không được ủy quyền.

Để khám phá các khía cạnh chính của một ứng dụng web điển hình, chúng tôi sử dụng ví dụ về một cửa hàng truyện tranh trực tuyến không có thật để tham khảo. Mục tiêu của ứng dụng web này là cho phép người dùng mua bán những cuốn truyện tranh mình yêu thích, nhận thông báo khi truyện tranh mới được phát hành và xây dựng cộng đồng với những người dùng khác có cùng sở thích. Chúng tôi không xây dựng tất cả những tính năng này mà sẽ tạo ra mối liên kết giữa nhu cầu/trường hợp sử dụng của doanh nghiệp với công nghệ mà chúng tôi có thể dùng để đưa mong muốn thành hiện thực. Để hỗ trợ quá trình này, chúng tôi sử dụng AWS Amplify, bộ công cụ và dịch vụ cho phép các nhà phát triển ứng dụng web và ứng dụng di động xây dựng ứng dụng trên nền điện toán đám mây, có thể mở rộng, an toàn một cách nhanh chóng và dễ dàng.

Mọi trang web hiện đại chủ yếu bao gồm các tệp HTML, Javascript và CSS. Đây là những khối xây dựng cơ bản cho phép bạn giao tiếp với các API và mang đến trải nghiệm phong phú cho người dùng thông qua văn bản, hình ảnh và video.

Phát triển và triển khai

Trong quá trình phát triển ứng dụng, có một yếu tố cần lưu ý đó là tốc độ liên tục cải tiến và phát hành các phiên bản ứng dụng cho người dùng. Khi có quy trình làm việc nhất quán và liền mạch từ phát triển đến triển khai, bạn sẽ có thể liên tục cải tiến nhanh hơn nhiều, đồng thời rút ngắn thời gian giữa các lần phát hành, đảm bảo người dùng sẽ có trải nghiệm tốt nhất có thể khi sử dụng ứng dụng của bạn. Tích hợp liên tục và Triển khai liên lục, hoặc CI/CD, là bộ nguyên tắc, công cụ và biện pháp tốt nhất cho phép nhóm cung cấp các thay đổi về mã hiệu quả và hiệu suất hơn thông qua kênh dẫn CI/CD.

Sơ đồ sau đây trình bày một quy trình phát triển điển hình, từ phát triển đến kiểm thử và cuối cùng là sản xuất bằng Amplify để dễ dàng quản lý các môi trường và các bước phát triển khác nhau trong khi vẫn duy trì tiến độ thông qua kiểm soát nguồn.

Để cung cấp ứng dụng một cách hiệu quả cho đối tượng người dùng trên toàn thế giới, đồng thời xây dựng trên nền tảng và nguyên tắc phù hợp cho tương lai, chúng tôi tận dụng dịch vụ lưu trữ web của Amplify, dịch vụ này có thể truy cập thông qua bảng điều khiển AWS hoặc thông qua CLI Amplify. Dịch vụ này tích hợp liền mạch với tính năng kiểm soát nguồn (chẳng hạn như GitHub hoặc AWS CodeCommit), cho phép triển khai nhanh hơn và mượt mà hơn khi mã ứng dụng của chúng tôi thay đổi theo từng bản phát hành.

Xác thực người dùng

Xác thực người dùng là cơ chế chúng tôi sử dụng để cho phép người dùng hợp pháp trong hệ thống của mình truy cập vào các tài nguyên và chức năng của ứng dụng web. Ứng dụng cửa hàng truyện tranh của chúng tôi yêu cầu người dùng đăng nhập bằng tên người dùng và mật khẩu, đồng thời chúng tôi cho phép người dùng thiết lập xác thực đa yếu tố. Đây là sự tăng cường cho các biện pháp bảo mật mà chúng tôi áp dụng nhằm ngăn việc truy cập trái phép vào tài khoản. Amplify cung cấp cho chúng tôi một thành phần trình xác thực, mà nếu dùng trong dự án, có thể cho phép chúng tôi xử lý tất cả các trường hợp sử dụng này.

Thành phần trình xác thực của Amplify sẵn dùng có dạng như sau.

Bằng cách sử dụng thành phần được tạo sẵn này, chúng tôi có thể tương tác với Amazon Cognito, dịch vụ thư mục người dùng được quản lý đầy đủ được đặt cấu hình thông qua CLI Amplify. Thông qua Cognito, bạn còn có thể sử dụng các nhà cung cấp dịch vụ danh tính mạng xã hội khác như tài khoản Twitter, Facebook hoặc Google để cho phép người dùng đăng nhập và truy cập vào tài khoản của họ một cách an toàn, làm cho quá trình bắt đầu sử dụng của người dùng trở nên đơn giản và không chút khó khăn.

API

Bây giờ, hãy xem xét lĩnh vực tiếp theo của chức năng: cách chúng tôi đưa dữ liệu từ cơ sở dữ liệu của mình đến người dùng và ngược lại.

Giao diện lập trình ứng dụng hay API là cách mà ứng dụng web giao tiếp với các tài nguyên (chẳng hạn như cơ sở dữ liệu) trong môi trường backend. Các API web thường có hai dạng: REST và GraphQL. REST, chữ viết tắt cho Chuyển trạng thái đại diện, là một cách hoàn thiện và mạnh mẽ để xây dựng API. Tài nguyên được chia nhỏ theo nhiều điểm cuối API, phần lớn giống với cách bạn đã lập mô hình ứng dụng của mình. Trong ví dụ cửa hàng truyện tranh, chúng tôi có điểm cuối users/ và comics/ tương ứng với thông tin người dùng và truyện tranh.

Với trường hợp cửa hàng truyện tranh, chúng tôi sử dụng Amplify để đặt cấu hình cho API GraphQL.

Giám sát và phân tích web

Kết luận