Đồ án tốt nghiệp: Xây dựng ứng dụng mạng xã hội trên nền tảng di động

Hướng dẫn chi tiết quy trình xây dựng ứng dụng mạng xã hội di động. Khám phá các bước, công nghệ và tính năng cốt lõi để tạo một sản phẩm thành công.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2023

112
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

DANH MỤC CÁC TỪ VIẾT TẮT/TỪ TIẾNG ANH

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Đặt vấn đề

1.2. Các công nghệ được lựa chọn

1.2.1. Frontend - Flutter (Cross-platform UI framework)

1.2.2. Backend - Firebase

2. CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

2.1. Các đối tượng sử dụng

2.2. Các dòng thiết bị

2.3. Phân tích Hệ thống

2.4. Usecase tổng quát

2.5. Các Usecase chi tiết

2.6. Thiết kế Hệ thống

2.7. Thiết kế Giao diện

2.8. Thiết kế Cơ sở Dữ liệu

3. XÂY DỰNG PHẦN MỀM

3.1. Cấu trúc dự án

3.2. Các màn hình chức năng

3.3. Chức năng Quản lý hồ sơ cá nhân

3.4. Quản lý bài viết

3.5. Tương Tác bài viết/ video ngắn

3.6. Quản lý bạn bè

3.7. Quản lý nhóm chat

3.8. Quản lý thành viên nhóm chat

3.9. Giao diện xem video ngắn

3.10. Giao diện thông báo

3.11. Kết quả đạt được

3.12. Hạn chế còn tồn tại

3.13. Hướng phát triển trong tương lai

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Cách Xây Dựng Ứng Dụng Mạng Xã Hội Mobile

Trong kỷ nguyên số, mạng xã hội đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày, đặc biệt đối với giới trẻ. Sự phát triển của khoa học và công nghệ đã tạo điều kiện cho sự ra đời và lan rộng của các ứng dụng mạng xã hội trên nền tảng di động. Ứng dụng này không chỉ là công cụ kết nối bạn bè, chia sẻ thông tin, mà còn là nền tảng kinh doanh, giải trí hiệu quả. Một số lợi ích có thể kể đến như kết nối bạn bè, chia sẻ tin tức, kiến thức, cảm xúc cá nhân, bán hàng, kinh doanh và giải trí. Xây dựng một ứng dụng mạng xã hội mobile thành công đòi hỏi sự am hiểu sâu sắc về công nghệ, thiết kế, và marketing. Việc lựa chọn nền tảng phát triển, ngôn ngữ lập trình, và các tính năng phù hợp là yếu tố then chốt. Theo đồ án tốt nghiệp của Nguyễn Tất Tiến (2023), "mạng xã hội là phương tiện để những người dùng có thể kết nối với nhau. Thông qua mạng xã hội, có thể nhắn tin, gọi video call để gặp mặt bạn bè, người thân bỏ qua những trở ngại về khoảng cách địa lý". Tuy nhiên, quá trình này cũng đi kèm với nhiều thách thức, từ việc đảm bảo bảo mật thông tin người dùng đến việc duy trì hiệu năng ứng dụng ổn định. Bài viết này sẽ đi sâu vào các khía cạnh quan trọng trong việc xây dựng một ứng dụng mạng xã hội trên nền tảng di động, từ giai đoạn thiết kế ứng dụng mạng xã hội đến triển khai và marketing ứng dụng.

1.1. Lợi ích khi phát triển ứng dụng mạng xã hội mobile

Việc phát triển một ứng dụng mạng xã hội mobile mang lại nhiều lợi ích đáng kể. Thứ nhất, nó tạo ra một kênh kết nối trực tiếp và liên tục với người dùng. Người dùng có thể dễ dàng truy cập ứng dụng mọi lúc, mọi nơi để cập nhật thông tin, chia sẻ cảm xúc, và tương tác với bạn bè. Thứ hai, ứng dụng mạng xã hội cho phép doanh nghiệp xây dựng cộng đồng người dùng trung thành, tạo ra cơ hội kiếm tiền từ ứng dụng mạng xã hội thông qua quảng cáo, bán hàng, hoặc các dịch vụ gia tăng. Thứ ba, nó cung cấp một nền tảng để thu thập dữ liệu người dùng, giúp doanh nghiệp hiểu rõ hơn về nhu cầu và sở thích của khách hàng, từ đó cải thiện sản phẩm và dịch vụ. Điều này đặc biệt quan trọng trong bối cảnh cạnh tranh ngày càng gay gắt trên thị trường ứng dụng di động. Theo Nguyễn Tất Tiến(2023) "Việc kinh doanh, kiếm tiến online trên mạng xã hội ngày càng phổ biến và đem lại nguồn thu nhập không nhỏ cho các chủ shop, doanh nghiệp."

1.2. Các xu hướng phát triển ứng dụng mạng xã hội hiện nay

Thị trường ứng dụng mạng xã hội đang chứng kiến nhiều xu hướng phát triển đáng chú ý. Một trong số đó là sự tập trung vào mạng xã hội niche, phục vụ một nhóm người dùng cụ thể với sở thích hoặc nhu cầu chung. Ví dụ, có các ứng dụng mạng xã hội dành riêng cho người yêu sách, người chơi game, hoặc người tập thể dục. Xu hướng khác là sự tích hợp các tính năng mới như livestream, thực tế ảo (VR), và thực tế tăng cường (AR) để tăng cường trải nghiệm người dùng. Bên cạnh đó, bảo mật và quyền riêng tư cũng là những yếu tố ngày càng được chú trọng, với nhiều ứng dụng áp dụng các biện pháp mã hóa dữ liệu và kiểm soát quyền truy cập nghiêm ngặt. Cuối cùng, sự trỗi dậy của ứng dụng mạng xã hội tùy chỉnh, cho phép người dùng tự do tạo ra các cộng đồng trực tuyến theo ý muốn, cũng là một xu hướng đáng quan tâm.

II. Vấn Đề Thách Thức Xây Dựng Ứng Dụng Mạng Xã Hội

Quá trình xây dựng ứng dụng mạng xã hội trên nền tảng di động không hề dễ dàng. Một trong những thách thức lớn nhất là cạnh tranh với các ứng dụng đã có tên tuổi trên thị trường. Để thu hút và giữ chân người dùng, ứng dụng cần có những tính năng độc đáo, giao diện hấp dẫn, và trải nghiệm mượt mà. Thách thức khác là đảm bảo bảo mật ứng dụng mạng xã hội và quyền riêng tư cho người dùng, đặc biệt trong bối cảnh các vụ vi phạm dữ liệu ngày càng gia tăng. Ngoài ra, việc mở rộng quy mô ứng dụng cũng đặt ra nhiều vấn đề về hiệu năng ứng dụng, khả năng xử lý dữ liệu lớn, và chi phí vận hành. Theo đồ án của Nguyễn Tất Tiến, "Với những ưu điểm kể trên của Flutter, tôi chọn Flutter làm nền tảng để phát triển phần mềm cho đề tài này, với mong muốn phần mềm được tạo ra nhanh chóng, có một giao diện bắt mắt, hiệu năng tốt và chạy được trên nhiều nền tảng – do trong thực tế đối tượng sử dụng sẽ có thể dùng một trong hai hệ điều hành Android hoặc iOS". Cuối cùng, việc marketing ứng dụng mạng xã hội hiệu quả cũng là một bài toán khó, đòi hỏi sự sáng tạo, chiến lược, và ngân sách phù hợp.

2.1. Chi phí xây dựng ứng dụng mạng xã hội mobile

Việc xác định chi phí xây dựng ứng dụng mạng xã hội mobile là một vấn đề phức tạp, phụ thuộc vào nhiều yếu tố. Các yếu tố này bao gồm độ phức tạp của ứng dụng, số lượng tính năng, nền tảng phát triển (iOS, Android, hoặc cả hai), UI/UX ứng dụng mạng xã hội, và vị trí địa lý của đội ngũ phát triển. Theo ước tính, một ứng dụng mạng xã hội cơ bản có thể tốn từ vài nghìn đến vài chục nghìn đô la, trong khi một ứng dụng phức tạp với nhiều tính năng có thể lên đến hàng trăm nghìn đô la. Ngoài ra, cần tính đến chi phí bảo trì, cập nhật, và marketing ứng dụng sau khi phát hành.

2.2. Bảo mật dữ liệu người dùng trong ứng dụng mạng xã hội

Bảo mật dữ liệu người dùng là một ưu tiên hàng đầu trong việc xây dựng ứng dụng mạng xã hội. Các biện pháp bảo mật cần được áp dụng từ giai đoạn thiết kế đến triển khai và vận hành. Điều này bao gồm việc sử dụng các giao thức mã hóa mạnh mẽ, kiểm soát quyền truy cập nghiêm ngặt, và thường xuyên kiểm tra lỗ hổng bảo mật. Ngoài ra, cần tuân thủ các quy định về bảo vệ dữ liệu cá nhân như GDPR và CCPA. Việc thông báo rõ ràng cho người dùng về cách dữ liệu của họ được thu thập, sử dụng, và bảo vệ cũng là một yếu tố quan trọng để xây dựng lòng tin.

III. Hướng Dẫn Cách Phát Triển Ứng Dụng Mạng Xã Hội Mobile

Để phát triển ứng dụng mạng xã hội mobile thành công, cần tuân thủ một quy trình bài bản, từ giai đoạn lập kế hoạch đến triển khai và marketing. Đầu tiên, cần xác định rõ mục tiêu của ứng dụng, đối tượng người dùng mục tiêu, và các tính năng cốt lõi. Tiếp theo, cần lựa chọn nền tảng phát triển (iOS, Android, hoặc cả hai), ngôn ngữ lập trình, và các công cụ hỗ trợ phù hợp. Giai đoạn thiết kế UI/UX ứng dụng mạng xã hội cần được chú trọng để tạo ra giao diện hấp dẫn và trải nghiệm người dùng mượt mà. Sau khi phát triển xong, cần kiểm tra kỹ lưỡng để đảm bảo chất lượng và hiệu năng ứng dụng. Cuối cùng, cần có một chiến lược marketing hiệu quả để quảng bá ứng dụng và thu hút người dùng.

3.1. Lựa chọn nền tảng và công nghệ phù hợp

Việc lựa chọn nền tảng và công nghệ phù hợp là một quyết định quan trọng, ảnh hưởng đến chi phí, thời gian phát triển, và hiệu năng ứng dụng. Nếu muốn tiếp cận cả người dùng iOSAndroid, có thể sử dụng các nền tảng phát triển đa nền tảng như React Native hoặc Flutter. Nếu muốn tận dụng tối đa hiệu năng ứng dụng trên một nền tảng cụ thể, có thể sử dụng các ngôn ngữ lập trình gốc như Swift cho iOS và Kotlin cho Android. Bên cạnh đó, cần lựa chọn các API mạng xã hộiSDK mạng xã hội phù hợp để tích hợp các tính năng như đăng nhập bằng tài khoản mạng xã hội, chia sẻ nội dung, và kết nối bạn bè. Dựa vào đồ án của Nguyễn Tất Tiến, Flutter giúp bạn tạo ra ứng dụng có giao diện bắt mắt, hiệu năng tốt và chạy được trên nhiều nền tảng và Firebase là một nền tảng tốt đáng tin cậy, dễ cấu hình và triển khai

3.2. Thiết kế UI UX cho ứng dụng mạng xã hội hấp dẫn

Thiết kế UI/UX ứng dụng mạng xã hội đóng vai trò then chốt trong việc thu hút và giữ chân người dùng. Giao diện cần trực quan, dễ sử dụng, và phù hợp với phong cách của ứng dụng. Trải nghiệm người dùng cần mượt mà, nhanh chóng, và không gây khó chịu. Cần chú trọng đến việc thiết kế các luồng tương tác, bố cục thông tin, và hiệu ứng chuyển động để tạo ra một trải nghiệm hấp dẫn. Ngoài ra, cần thường xuyên thu thập phản hồi từ người dùng và liên tục cải thiện UI/UX ứng dụng để đáp ứng nhu cầu của họ.

3.3. Xây dựng MVP ứng dụng mạng xã hội để thử nghiệm

Để giảm thiểu rủi ro và tối ưu hóa chi phí, nên bắt đầu bằng việc xây dựng MVP ứng dụng mạng xã hội. MVP (Minimum Viable Product) là phiên bản đơn giản nhất của ứng dụng, chỉ bao gồm các tính năng cốt lõi. Mục đích của MVP là để thử nghiệm ý tưởng, thu thập phản hồi từ người dùng, và xác định hướng phát triển phù hợp. Sau khi MVP được thử nghiệm thành công, có thể tiếp tục phát triển các tính năng khác và mở rộng quy mô ứng dụng.

IV. Giải Pháp Nền Tảng Xây Dựng Ứng Dụng Mạng Xã Hội Mobile

Hiện nay, có nhiều nền tảng và công cụ hỗ trợ việc xây dựng ứng dụng mạng xã hội trên nền tảng di động. Các nền tảng này cung cấp các tính năng như quản lý người dùng, quản lý nội dung, tích hợp API mạng xã hội, và phân tích dữ liệu. Một số nền tảng phổ biến bao gồm Firebase, AWS Amplify, và Microsoft Azure. Việc lựa chọn nền tảng phù hợp phụ thuộc vào yêu cầu cụ thể của ứng dụng, ngân sách, và kinh nghiệm của đội ngũ phát triển.

4.1. Sử dụng Firebase để xây dựng ứng dụng mạng xã hội

Firebase là một nền tảng phát triển ứng dụng di động mạnh mẽ của Google, cung cấp nhiều tính năng hữu ích cho việc xây dựng ứng dụng mạng xã hội. Firebase Authentication giúp quản lý người dùng dễ dàng, Firebase Realtime Database và Firestore giúp lưu trữ và đồng bộ dữ liệu thời gian thực, Firebase Storage giúp lưu trữ hình ảnh và video, và Firebase Cloud Messaging giúp gửi thông báo đẩy. Ngoài ra, Firebase cũng cung cấp các công cụ phân tích dữ liệu và thử nghiệm A/B để tối ưu hóa hiệu quả của ứng dụng.

4.2. Các framework phát triển ứng dụng mạng xã hội mobile

Ngoài các nền tảng, có nhiều framework phát triển ứng dụng mạng xã hội mobile giúp tăng tốc quá trình xây dựng ứng dụng. React Native và Flutter là hai framework đa nền tảng phổ biến, cho phép viết code một lần và triển khai trên cả iOSAndroid. Ionic là một framework dựa trên web, sử dụng HTML, CSS, và JavaScript để xây dựng ứng dụng di động. Xamarin là một framework của Microsoft, sử dụng C# để xây dựng ứng dụng đa nền tảng. Việc lựa chọn framework phù hợp phụ thuộc vào kinh nghiệm của đội ngũ phát triển, yêu cầu hiệu năng ứng dụng, và ngân sách.

V. Ứng Dụng Nghiên Cứu Xây Dựng Ứng Dụng Mạng Xã Hội Mobile

Nhiều nghiên cứu đã được thực hiện để tìm hiểu về các yếu tố ảnh hưởng đến sự thành công của ứng dụng mạng xã hội trên nền tảng di động. Các nghiên cứu này tập trung vào các khía cạnh như thiết kế giao diện, trải nghiệm người dùng, tính năng, bảo mật, và marketing. Kết quả của các nghiên cứu này có thể được sử dụng để đưa ra các quyết định sáng suốt trong quá trình xây dựng và phát triển ứng dụng.

5.1. Nghiên cứu về UI UX ứng dụng mạng xã hội

Các nghiên cứu về UI/UX ứng dụng mạng xã hội cho thấy rằng giao diện đơn giản, trực quan, và dễ sử dụng là yếu tố quan trọng để thu hút và giữ chân người dùng. Các nghiên cứu cũng chỉ ra rằng trải nghiệm người dùng mượt mà, nhanh chóng, và không gây khó chịu có ảnh hưởng lớn đến sự hài lòng của người dùng. Bên cạnh đó, các nghiên cứu cũng khám phá ra rằng các yếu tố như màu sắc, font chữ, và hình ảnh có thể ảnh hưởng đến cảm xúc và hành vi của người dùng.

5.2. Nghiên cứu về tính năng và bảo mật ứng dụng mạng xã hội

Các nghiên cứu về tính năng và bảo mật ứng dụng mạng xã hội cho thấy rằng các tính năng độc đáo, hữu ích, và phù hợp với nhu cầu của người dùng có thể tạo ra sự khác biệt và thu hút người dùng. Các nghiên cứu cũng nhấn mạnh tầm quan trọng của việc đảm bảo bảo mật ứng dụng mạng xã hội và quyền riêng tư cho người dùng, đặc biệt trong bối cảnh các vụ vi phạm dữ liệu ngày càng gia tăng. Các biện pháp bảo mật cần được áp dụng từ giai đoạn thiết kế đến triển khai và vận hành.

VI. Kết Luận Tương Lai Phát Triển Ứng Dụng Mạng Xã Hội Mobile

Thị trường ứng dụng mạng xã hội trên nền tảng di động đang tiếp tục phát triển mạnh mẽ, với nhiều cơ hội và thách thức. Các xu hướng như mạng xã hội niche, tích hợp các tính năng mới, và chú trọng bảo mật sẽ định hình tương lai của thị trường này. Để thành công, cần có một chiến lược rõ ràng, một đội ngũ tài năng, và sự kiên trì không ngừng.

6.1. Các xu hướng công nghệ ảnh hưởng đến ứng dụng mạng xã hội

Các xu hướng công nghệ như trí tuệ nhân tạo (AI), blockchain, và Internet of Things (IoT) có thể ảnh hưởng lớn đến tương lai của ứng dụng mạng xã hội. AI có thể được sử dụng để cá nhân hóa trải nghiệm người dùng, phát hiện và ngăn chặn nội dung độc hại, và tự động hóa các tác vụ. Blockchain có thể được sử dụng để tăng cường bảo mật ứng dụng mạng xã hội và quyền riêng tư cho người dùng. IoT có thể được sử dụng để kết nối ứng dụng mạng xã hội với các thiết bị thông minh và tạo ra các trải nghiệm tương tác mới.

6.2. Cơ hội và thách thức trong thị trường ứng dụng mạng xã hội

Thị trường ứng dụng mạng xã hội mang lại nhiều cơ hội cho các nhà phát triển, nhưng cũng đi kèm với không ít thách thức. Cơ hội bao gồm sự tăng trưởng của thị trường di động, sự gia tăng nhu cầu kết nối và chia sẻ thông tin, và sự phát triển của các công nghệ mới. Thách thức bao gồm cạnh tranh gay gắt từ các ứng dụng đã có tên tuổi, yêu cầu cao về hiệu năng ứng dụngbảo mật ứng dụng mạng xã hội, và chi phí marketing ứng dụng ngày càng tăng. Để thành công, cần có một chiến lược khác biệt, một đội ngũ tài năng, và sự kiên trì không ngừng.

22/09/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Trong bối cảnh phát triển của khoa học và công nghệ, mạng xã hội đã trở nên phổ biến với tất cả mọi người. Với sự hấp dẫn của mình, mạng xã hội đã trở thành một phần không thể thiếu trong cuộc sống thường ngày, đặc biệt là với giới trẻ. Có thể nói mạng xã hội là một kho tàng thông tin và kiến thức khổng lồ. Nó giúp chúng ta dễ dàng tìm kiếm thông tin một cách nhanh chóng và mang đến cho chúng ta những thông tin đa dạng, phong phú.Một số lợi ích có thể kể đến như: • Kết nối bạn bè: Mạng xã hội là phương tiện để những người dùng có thể kết nối với nhau.

Thông qua mạng xã hội, có thể nhắn tin, gọi video call để gặp mặt bạn bè, người thân bỏ qua những trở ngại về khoảng cách địa lý. • Chia sẻ tin tức, kiến thức: Mạng xã hội là phương tiện để những người dùng có thể kết nối với nhau. Thông qua mạng xã hội, có thể nhắn tin, gọi video call để gặp mặt bạn bè, người thân bỏ qua những trở ngại về khoảng cách địa lý. Đặc biệt, bạn cũng có thể làm quen với những người bạn mới có chung sở thích, lý tưởng, đam mê thông qua các hội nhóm, các trang chung hoặc bắt gặp khi cùng chia sẻ về một vấn đề nào đó.

Đó là lý do vì sao nói mạng xã hội là cầu nối gắn kết, củng cố các mối quan hệ hiện hữu và tạo cơ hội xác lập các mối quan hệ mới. • Chia sẻ cảm xúc cá nhân: Thông qua mạng xã hội, có thể bày tỏ quan điểm cá nhân cũng như chia sẻ cảm xúc, ý kiến về một vấn đề nào đó. Đôi khi niềm hạnh phúc sẽ được nhân lên khi có nhiều người bạn cùng chung vui hoặc nỗi buồn vơi đi khi có người cùng chia sẻ, đồng cảm. • Bán hàng, kinh doanh: Mạng xã hội tạo điều kiện cho nhiều bạn có thể bán hàng, kinh doanh các mặt hàng đa chủng loại hoặc quảng cáo cho thương hiệu của mình để tiếp cận nhiều đối tượng khách hàng hơn.

Việc kinh doanh, kiếm tiến online trên mạng xã hội ngày càng phổ biến và đem lại nguồn thu nhập không nhỏ cho các chủ shop, doanh nghiệp. • Giải trí: Lợi ích tuyệt vời của mạng xã hội đó là giúp người dùng có những phút giây giải trí, thư giãn với những tiện ích tích hợp như game, âm nhạc, phim ảnh. Thậm chí, việc xem newfeed và đọc những bài đăng mang ý nghĩa tích cực cũng giúp người dùng cảm thấy bớt mệt mỏi và căng thẳng sau một ngày làm việc, học tập vất vả. 1 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu 1.

Các công nghệ được lựa chọn 1. Frontend - Flutter (Cross-platform UI framework) Hình 1. Trang chủ https://flutter.dev Ra mắt vào Tháng 5 năm 2017, Flutter với sứ mệnh là một bộ thư viện dựa trên ngôn ngữ Dart (đều do Google tạo ra) giúp lập trình viên phát triển các phần mềm đa nền tảng (đa nền tảng đối với Flutter là việc viết phần mềm một lần bằng một ngôn ngữ Dart, tuy nhiên cho khả năng tự biên dịch ra các phần mềm tương tự nhau ở các nền tảng hệ điều hành như Android, iOS, Windows, Linux, MacOS, Web frontend… thay vì như cách phát triển truyền thống phải tự xây dựng từng phần mềm bằng ngôn ngữ lập trình riêng biệt cho mỗi nền tảng[Java/Kotlin cho Android; Swift/Objective-C cho iOS] – dẫn đến tốn thời gian và chi phí gấp nhiều lần). Các đặc trưng của Flutter: • Sử dụng ngôn ngữ Dart (ngôn ngữ lập trình mềm dẻo, hỗ trợ cả OOP, Reactive Programming và Functional Programming, static và dynamic typing, dễ học với hầu hết mọi người do cú pháp của Dart thuộc họ ngôn ngữ lập trình C [C-based programming language], ngôn ngữ được đội ngũ chuyên gia hàng đầu của Google phát triển - do đó đảm bảo độ tin cậy và mạnh mẽ cho các ứng dụng được viết bằng Dart) • Hỗ trợ Hot-reload (cơ chế tải lại mã [rebuild] cấp tốc giúp việc phát triển nhanh hơn bao giờ hết, người lập trình chỉ cần tạo thay đổi trong code và nhấn lưu thì giao diện sẽ được ngay lập tức cập nhật) 2 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu • Giúp tạo ra các ứng dụng có giao diện nhất quán bởi việc sử dụng trình render giao diện Skia (một trình render giao diện được viết bằng C++, giúp tái tạo lại mọi pixel trong màn hình thay vì sử dụng lại cơ chế sẵn có của hệ điều hành, điều này cho phép người lập trình khả năng tùy chỉnh mọi điểm ảnh trên màn hình của mình, từ đó cho hiệu năng cao hơn so với các công nghệ cùng lĩnh vực như React Native, Xamarin.

hay đặc biệt nhanh hơn khi so với các công nghệ Web-embedded như Ionic/PhoneGap). Ngoài ra, Flutter đảm bảo việc render giao diện giữ ở mức cơ bản 60FPS (60 khung hình/s) hoặc thậm chí 120FPS nếu thiết bị đáp ứng được (xem chi tiết), giúp mang lại trải nghiệm mượt mà cho người dùng • Bản thân Flutter đã và đang được đội ngũ phát triển tạo ra một kho các widget (controls/components/hay gọi là các thành phần giao diện) phong phú, giúp cho Flutter dễ dàng tiếp cận hơn đa số các công nghệ đa nền tảng khác. Họ không ngừng chia sẻ các video giới thiệu về các widgets, các series trên YouTube “vọc vạch” sâu vào cơ chế hoạt động của Flutter để giúp bất kì ai khi làm quen cũng sẽ có một kiến thức vững chắc về cách Flutter hoạt động • Flutter sử dụng ngôn ngữ Dart cho cả việc xây dựng code logic và giao diện (không giống như Java hay Kotlin cần viết riêng giao diện vào các file .xml), điều này giúp người lập trình không cần phải học thêm những khái niệm khác khi tạo giao diện – giúp quá trình phát triển được nhất quán và nhanh hơn bao giờ hết. Bản chất Flutter chỉ là một bộ UI framework giúp tạo giao diện nhanh chóng, nó không thể trực tiếp cung cấp cho người lập trình các API của hệ điều hành (các tác vụ thao tác với phần cứng, can thiệp sâu vào hệ thống như đọc ghi file, truy cập Camera, Micro…) như cách mà các công nghệ Native như Android (Java/Kotlin) hay iOS (Swift/Objective-C) làm được.

Để khắc phục nhược điểm đó, Flutter cung cấp cơ chế có tên gọi MethodChannel. Đây là một cơ chế giúp người lập trình có thể đứng ở code Flutter (Dart) và gọi được tới các hàm nằm ở phía ứng dụng Native của hệ điều hành để lấy thông tin, điều này giống như trái tim của Flutter khi nó vốn chỉ là thư viện tạo giao diện, nhờ đó làm tăng tính khả dụng khi lập trình phần mềm cho nhiều nền tảng mà vẫn đảm bảo tính tương thích hoàn toàn và tạo nên được những ứng dụng giúp xử lí hầu hết những yêu cầu khắt khe từ người dùng không kém cạnh những nền tảng Native. 3 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu Với những ưu điểm kể trên của Flutter, tôi chọn Flutter làm nền tảng để phát triển phần mềm cho đề tài này, với mong muốn phần mềm được tạo ra nhanh chóng, có một giao diện bắt mắt, hiệu năng tốt và chạy được trên nhiều nền tảng – do trong thực tế đối tượng sử dụng sẽ có thể dùng một trong hai hệ điều hành Android hoặc iOS Hình 1. Các ứng dụng nổi tiếng được xây dựng bởi Flutter 1.

Backend - Firebase Firebase được Google ra mắt vào Tháng 4 năm 2012, tới nay (2021) đã hơn 9 năm phát triển. Tiếp đến, vào năm 2014, Google mua lại Firebase và phát triển nó thành một dịch vụ đa chức năng được hàng triệu người sử dụng cho đến hiện nay. Firebase là dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây – cloud. Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google.

Chức năng chính là giúp người dùng lập trình ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Là một bộ công cụ đa năng giúp cho các nhà lập trình thúc đẩy quá trình phát triển sản phẩm với tốc độ cao ở phía giao diện người dùng mà không cần quan tâm nhiều đến Backend. Firebase cung cấp các cách tương tác cơ bản sau để kết hợp và xây dựng nên một hệ thống Phần mềm/Web: 4 Đồ án tốt nghiệp khóa 2019-2023 Trường Đại học Bà Rịa- Vũng Tàu - Web Console: Bộ công cụ quản trị các chức năng trên giao diện Web console.com - Backend SDK: Bộ thư viện phía Backend (dành cho máy chủ Web), giúp người lập trình có quyền truy cập sâu (quyền quản trị) vào các chức năng của Firebase - Frontend SDK: Bộ thư viện phía Frontend (dành cho Web frontend, Mobile/Desktop apps), giúp người lập trình kết nối tới/sử dụng các chức năng của Firebase. Hiện tại, Firebase cung cấp các chức năng/dịch vụ chính sau: - Authentication: Xác thực người dùng.

Với Firebase Authentication, người lập trình có thể tích hợp nhiều cách thức đăng nhập vào hệ thống như Xác thực bằng Email, số điện thoại, thông qua tài khoản của các bên như Facebook, Apple, Microsoft, Github… - Realtime Database: Cơ sở dữ liệu thời gian thực. Dữ liệu được lưu trữ ở định dạng cây JSON. Firebase Realtime Database cung cấp các bộ Client SDK (thư viện phát triển ở phía giao diện người dùng) cho phép cập nhật (đồng bộ) trong thời gian thực khi dữ liệu có thay đổi - Firestore Database: Cơ sở dữ liệu thời gian thực mở rộng. Đây là một kiểu CSDL mới được Firebase ra mắt vào Tháng 10/2017, cũng cho khả năng cập nhật thời gian thực như Firebase Realtime DB, thêm vào đó cho phép lưu trữ các loại dữ liệu phức tạp hơn, hỗ trợ việc truy vấn với các điều kiện đầy đủ hơn.

- Storage: Lưu trữ tập tin. Firebase Storage cho phép lưu trữ, truy xuất, tải lên/xuống các tập tin như: Ảnh, video, âm thanh… - Hosting: Lưu trữ website frontend. Firebase Hosting cho phép lưu trữ các website có nội dung ở phía frontend (JavaScript/HTML/CSS, ReactJS, VueJS, Angular, Svelte…). Hỗ trợ publish ra môi trường Internet với domain tùy chỉnh - Functions: Hàm từ xa.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ