Firebase và khả nắng ứng dụng đa dạng

15:19 04/08/2021

Đã bao giờ bạn nghĩ đến việc xây dựng toàn bộ một hệ thống từ Back-end cho đến Front-end chưa?

Nếu là một người từng trải thì chắc hẳn bạn đã gặp không ít khó khăn từ việc thiết kế cấu trúc dữ liệu, chọn ngôn ngữ lập trình, libraries/frameworks gì để viết web API, quản lý file upload, cho đến cấu hình hệ thống server, phần mềm, phần cứng, hệ điều hành,…

Chỉ nghĩ đến đó thôi đã thấy mọi thức quá phức tạp rồi, mà điều quan trọng là làm sao để bảo trì, cải tiến, lên kế hoạch phát triển các tính năng mới.

Và sau đó là rất nhiều vấn đề, bạn sẽ mất nhiều thời gian để tìm giải pháp khi hệ thống chịu tải nặng. Nào là load balancing, database scaling, network optimizing,… rồi tiếp đó là các chiến lược cho disaster recovery, bảo mật thông tin, bảo mật hệ thống server…

Nếu là một lập trình viên mới vào nghề, làm sao mà bạn có thể biết được đâu là vấn đề cần được ưu tiên, đâu là vấn đề nghiêm trọng cần phải giải quyết trước và cần những kiến thức gì để làm được việc đó? Firebase chính là sự lựa chọn dành cho bạn.

Firebase là gì?

Firebase là một nền tảng mà Google cung cấp để phát triển các ứng dụng di động và ứng dụng web, hỗ trợ lập trình viên trong việc đơn giản hóa các thao tác với dữ liệu và không cần tác động tới backend hay server.

Với việc sử dụng Firebase, lập trình viên có thể tập trung vào việc phát triển ứng dụng mà không cần lo về việc sản phẩm của mình sẽ hoạt động và được quản lý thể nào ở phía Backend (việc xử lý và lưu trữ dữ liệu).

Các dịch vụ của Firebase

Hiện nay, danh mục dịch vụ của Firebase rất nhiều. Từ hệ thống chat thời gian thực, đến A/B testing, môt số dịch vụ thường sử dụng trong xây dựng ứng dụng:

1.Realtime Database

Firebase Realtime Database là kiểu dữ liệu NoSQL được lưu trữ trên cloud, cho phép bạn lưu trữ và đồng bộ dữ liệu người dùng theo thời gian thực.

Realtime syncing (đồng bộ theo thời gian thực) giúp người dùng truy cập vào dữ liệu của họ ở bất kỳ thiết bị nào.

2.Authentication

Với tính năng này của Firebase, bạn sẽ dễ dàng xây dựng tính năng login mà không cần phải sử dụng dữ liệu đăng ký riêng. Bên dưới là hướng dẫn các bạn sử dụng tính năng này để xây dựng tính năng xác thực.

Firebase cung cấp một số phương pháp authenticate cho ứng dụng của bạn như:

  • Email & Password
  • Phone numbers
  • Google
  • Facebook
  • Twitter

3.Firebase Cloud Messaging (FCM)

Đây chính là tính năng khởi thủy của Firebase, giúp chúng ta xây dựng ứng dụng chat -trò chuyện. Giờ đây, nó còn cho phép bạn đẩy thông báo( push notification) tới nhiều thiết bị Android, IOS hay Web.

Ứng dụng chat

Một dạng ứng dụng phổ thông mà các lập trình viên hay sử dụng firebase đó là Chat application. Ở trong bài viết này chúng ta cùng mô tả và cài đặc ứng dụng này dưới dạng web app.

Trang đăng nhập:

Chúng ta thực hiện đăng nhập bằng tài khoản Google với dịch vụ Authentication của firebase, với phương thức sử dụng là signInWithPopup
Các hàm tổ chức cho ứng dụng là các hàm: Lưu thông tin user đăng nhập lên LocalStorage và Lưu thông tin user đăng nhập lên collection user của firebase

Lấy thông tin của user từ collection user bằng userId
Lấy tất cả các conversation của user đã đăng nhập trên collection conversations

Hiển thị các conversation của user đó lên trang chat

Tạo message và lưu message lên collection messages

Lấy realtime các tin nhắn đã và đang được gửi đi trong 1 conversation

Vậy là xong ứng dụng chat web cực kỳ đơn giản, chỉ với Firebase, HTML và Javascript. Ngoài ra các bạn có thể triển khai lên các hệ: Asp.net, PHP, Java … đều được cả.

Cùng chuyên mục

Đăng Kí học Fpoly 2023

Bình Luận