Tin tức

Firebase là gì?

  • Lê Thị Phương Lan
  • 10/05/2021, 04:03 pm
  • 102

Trong thời gian vừa qua, các bạn lập trình Android nói riêng, lập trình hệ thống nói chung đã nghe khá nhiều về Firebase. Vậy Firebase là gì? Điều gì khiến nó trở nên hấp dẫn với cộng đồng lập trình như vậy? Bài viết này Nhân Hòa sẽ hệ thống hóa lại toàn bộ kiến thức về Firebase để bạn đọc có cái nhìn tổng quát hơn về nền tảng này.

 

 

1. Firebase là gì?

Firebase là một dịch vụ hệ thống Backend được Google cung cấp sẵn cho ứng dụng điện thoại của bạn, với Firebase bạn có thể rút ngắn thời gian phát triển, triển khai và thời gian mở rộng quy mô của ứng dụng mobile mình đang phát triển. Hỗ trợ cả 2 nền tảng Android và iOS, Firebase mạnh mẽ, đa năng và bảo mật và là dịch vụ cần thiết đầu tiên để xây dựng với hàng triệu người sử dụng.

Firebase là gì?

Sử dụng Firebase bạn sẽ được hưởng các lợi ích sau: 

- Xây dựng ứng dụng nhanh chóng mà không tốn thời gian, nhân lực để quản lý hệ thống và cơ sở hạ tầng phía sau: Firebase cung cấp cho bạn chức năng như phân tích, cơ sở dữ liệu, báo cáo hoạt động và báo cáo các nhân sự có lỗi để bạn có thể dễ dàng phát triển, định hướng ứng dụng của mình vào người sử dụng nhằm đem lại các trải nghiệm tốt nhất cho họ 

- Uy tín, chất lượng đảm bảo từ Google: Firebase được Google hỗ trợ và cung cấp trên nền tảng phần cứng với quy mô mở rộng khắp thế giới, được các tập đoàn lớn và các ứng dụng với hàng triệu lượt sử dụng từ người dùng

- Quản lý cấu hình và trải nghiệm các ứng dụng của Firebase tập trung trong một giao diện Website đơn giản, các ứng dụng này hoạt động độc lập nhưng liên kết dữ liệu phân tích chặt chẽ

>>> Xem thêm: Tuyệt vời! Cách nhúng messenger vào website mới nhất 2021

2. Ưu điểm và nhược điểm của Firebase

- Về ưu điểm

+ Ứng dụng được triển khai nhanh chóng

Firebase giúp bạn tiết kiệm được rất nhiều thời gian quản lý và đồng bộ tất cả dữ liệu cho người dùng. Đó là nhờ người dùng không phải áp lực, quan tâm đến phần Backend cùng các API tốt, hỗ trợ đa nền tảng

+ Độ an toàn, bảo mật cao

Bạn có thể hoàn toàn yên tâm về độ bảo mật của Firebase nhờ nền tảng Cloud, kết nối thông qua SSL, dùng Javascript phân quyền người dùng cơ sở dữ liệu,...

+ Sự ổn định

Được viết dựa trên nền tảng Cloud cung cấp bởi Google, các công cụ luôn đảm bảo độ ổn định tối đa. Bên cạnh đó, quá trình nâng cấp hay bảo trì Server cũng diễn ra nhanh và đơn giản hơn

Ưu điểm và nhược điểm của Firebase

- Về nhược điểm

Cơ sở dữ liệu của Firebase được tổ chức theo kiểu trees, parent-children. Trong đi khó, người dùng SQL lại quen thuộc với kiểu Table truyền thống. Khi sử dụng Firebase, có lẽ, người dùng sẽ mất thời gian để làm quen trước khi sử dụng thành thạo

Tuy nhiên, nếu so với ưu điểm thì nhược điểm này không đáng kể. Hiển nhiên nó cũng sẽ không trở thành yếu tố gây cản trở cho bạn trong việc quyết định dùng một ứng dụng tuyệt vời như Firebase rồi

>>> Xem thêm: Javascript là gì? Tại sao Javascript được gọi là NGÔN NGỮ CỦA TƯƠNG LAI? 

3. Các hoạt động chính của Firebase

- Firebase Realtime Database

Khi đăng ký tài khoản Firebase để tạo ứng dụng, bạn sẽ được hệ thống cấp cho một cơ sở dữ liệu theo thời gian thực. Trong đó, dữ liệu bạn nhận sẽ tồn tại ở dạng JSON và đồng bộ thời gian thực của tất cả các kết nối Client

Với những ứng dụng đa nền tảng, Client đều sử dụng cùng một cơ sở dữ liệu. Nó sẽ được cập nhật dữ liệu tự động khi có bất kỳ sự thay đổi của lập trình viên trong quá trình phát triển ứng dụng. Sau cùng toàn bộ dữ liệu được truyền qua chứng chỉ kết nối an toàn SSL với độ bảo mật chứng nhận 2048bit

Khi kết nối mạng có sự gián đoạn thì dữ liệu sẽ được lưu trữ ở local nên các thay đổi đều được cập nhật tự động lên máy chủ của Firebase. Ngay cả những dữ liệu ở local cũ cũng được cập nhật mới nhất theo Server

- Firebase Authentication

Hoạt động này cho phép xây dựng các bước xác thực người dùng bằng Email hoặc tài khoản Google, Facebook, Twitter, GitHub và xác thực nặc danh cho ứng dụng. Điều này giúp người dùng an tâm về khả năng bảo mật thông tin cá nhân, tránh rủi ro bị đánh cắp tài khoản

- Firebase Hosting

Firebase Hosting là dịch vụ deploy trang Web app chỉ bằng những thao tác đơn giản. Khi tạo ra một app, nhiều trường hợp nhà phát triển sẽ muốn xử lý một số chức năng trên trang web

Khi sử dụng Firebase Hosting ta có thể sử dụng web page cho ứng dụng iOS và Android của mình. Với các ưu điểm thao tác nhanh, đơn giản, tính an toàn cao, Firebase Hosting giúp các nhà phát triển tạo lập ứng dụng một cách đơn giản hơn so với việc tự tạo hoặc thuê Server thực

- Firebase Cloud Messaging

Với hoạt động này ra có thể gửi nhận tin nhắn miễn phí. Khái niệm “gửi Message” ở đây còn dùng để chỉ việc push thông báo. Khi tin nhắn mới được gửi tới, người dùng có thể nhận được thông báo. Ví dụ, với trường hợp người dùng sử dụng iPhone, khi có mail hay thông báo từ Application ở góc trên bên phải icon của app đó sẽ xuất hiện dấu tròn nhỏ màu đỏ, hay tiện lợi hơn, trong dấu tròn đỏ sẽ hiển thị số lượng thông báo, tin nhắn mới

Thêm vào đóm ra cũng có thể thiết lập để tin nhắn chỉ gửi tới những đối tượng mà ta mong muốn, ví dụ như việc gửi thông báo yêu cầu viết Feedback sản phẩm cho những khách hàng thường xuyên sử dụng sản phẩm 

Các hoạt động chính của Firebase

- Firebase Cloud Storage

Firebase Cloud Storage hỗ trợ việc quản lý, chia sẻ các content người dùng upload lên như ảnh, video cũng như sử dụng những tài nguyên ấy cho ứng dụng của bạn. Data được lưu trữ trong Google Cloud Storage buckets và có thể được actress từ Server. Đây cũng là một chức năng quan trọng và tiện lợi cho việc phát triển dịch vụ

- Firebase Remote Config

Giúp thực hiện việc thay đổi UI cũng như hoạt động của ứng dụng mà không cần phải update app đó. Việc này được thực hiện bằng cách set giá trị ban đầu cho giao diện và hoạt động của app, sau đó sử dụng Remote Config REST API hoặc Firebase Console để ghi đè giá trị mới lên setting default

- Firebase Test Lab

Bằng cách sử dụng Test Lab ta có thể kiểm tra hoạt động của từng ứng dụng trên nhiều thiết bị đa dạng, nhờ đó có thể xác minh được app sẽ chạy thế nào trên thiết bị thực của người dùng

- Firebase Crashlytics

Là công cụ báo cáo các hoạt động bất thường phát sinh trên ứng dụng theo thời gian thực. Tool này giúp ích cho việc truy vết các vấn đề bất thường hạ thấp chất lượng sản phẩm từ đó ta có thể đặt thứ tự ưu tiên để có phương hướng xử lý thích hợp. Công cụ này còn hỗ trợ việc chia nhóm các bất thường phát sinh, truy xuất tình trạng có liên quan đến crash ấy giúp tiết kiệm thời gian xử lý sự cố

- Firebase App Indexing

Firebase App Indexing là chức năng hiển thị content trong ứng dụng trong kết quả tìm kiếm Google. Với user đã cài đặt sẵn ứng dụng trên thiết bị của mình, khi user chọn kết quả tìm kiếm có chứa content trong ứng dụng thì application sẽ được khởi động

- Firebase Console

Để sử dụng những chức năng được giới thiệu ở trên, ta cần đến Firebase Console. Để login vào console, ta cần có tài khoản Google, vậy bước trước tiên cần được thực hiện là đăng ký một tài khoản Google nếu bạn chưa sở hữu, và đăng nhập với account đó. Thêm vào đó, bằng việc sử dụng Notifications Composer của Firebase Console, ta có thể gửi tin nhắn thông báo tới thiết bị iOS hay Android

- Firebase Analytics

Bằng Firebase Analytics, ta có thể phân tích sự tương tác của người dùng với ứng dụng cũng như tình trạng sử dụng ứng dụng đó. Firebase có sẵn chức năng tạo report, nhìn report ấy, chúng ta có thể nắm được một cách rõ ràng hoạt động của người dùng.

Bằng việc cài đặt SDK (Software Development Kit, cụ thể hơn với trường hợp này là FirebaseAnalytics.unitypackage), chức năng phân tích các access trở nên khả dụng. Khi đó, ta không chỉ xem được hoạt động của người dùng mà còn có thể biết được thông tin về thuộc tính hoạt động hay hiệu quả quảng cáo, tình trạng trả phí, v.v…

>>> Xem thêm: 4 bước cài đặt email pop3 trên android mới nhất 2021

4. Có nên dùng Firebase cho các ứng dụng lớn không?

Firebase cung cấp cho chúng ta 2 nhóm sản phẩm chính tập trung vào 2 đối tượng là Develop & test your app và Grow & Engage Your Audience. 

- Giải pháp 1: Mỗi user có key “wish_list” luôn chứa các sản phẩm mà họ yêu thích

Giải pháp này là dễ nhất, đơn giản là chỉ cần add nguyên cái object product vào đây là xong. Cần realtime chỉ cần listen trong wish_list của user logged in. Tuy nhiên khi chúng ta update sản phẩm (giá, tình trạng sản phẩm), chúng ta phải quét qua hết tất cả user để update lại cái product trong wish_list của họ. Mất rất nhiều thời gian và băng thông và dữ liệu bị mất tính nhất quán rất nhanh. Đối với cách này data nó không được flatten, không phải là best practice

Có nên dùng Firebase cho các ứng dụng lớn không?

- Giải pháp 2: Tạo riêng một Wishlist ở ngoài, trong mỗi item có key UserID để biết là của ai

Cách này cũng như cách trên, nhưng đỡ cái là khỏi phải đi quét qua tất cả user, update product nhanh hơn nhiều. Tuy nhiên cách này vướng phải 1 cái khó chịu hơn là mình cần realtime cho WishList riêng cho 1 user logged in thôi thì không được. Client lúc nào cũng nhận event mỗi khi bất kỳ user trên hệ thống tương tác vào WishList. Điều này ảnh hưởng hiệu năng đáng kể

- Giải pháp 3: Thực hiện theo kiểu RDBMS, chỉ cần nhớ Product IDs

Cách này có nhiều loại thi công: mảng productIDs trên mỗi user, 1 object riêng để map UserID và ProductID. Dù là cách nào thì khi chúng ta lấy thông tin sản phẩm trên WishList đều rất rắc rối. Ví dụ Wishlist ta có [1,4,8], 3 sản phẩm với ID lần lượt là 1,4 và 8.

Khi ta cần lấy các chi tiết các sản phẩm này (màn hình danh sách Wishlist của user chẳng hạn) thì chúng ta phải đi lấy sản phẩm có ID là 1, rồi 4, rôi 8. Tuy nhiên hàm lấy details nó chạy async nên chúng ta phải dùng 1 cái group queue hoặc kỹ thuật lập trình tương đương để đảm bảo là đã fetch xong tất cả details cho mảng trên….

5. Lời kết

Trên đây là những dịch vụ nổi bật, lợi ích và những tính năng cơ bản giúp bạn có cái nhìn cụ thể về lợi ích mà Firebase mang đến cho lập trình viên trong việc xây dựng và phát triển ứng dụng. Hy vọng với bài viết này, bạn đã tìm được nền móng để tạo dựng một app tuyệt vời. Chúc các bạn thành công!

Nếu có nhu cầu lưu trữ cao hơn bạn có thể tham khảo các dịch vụ khác như Hosting, Thuê máy chủ, email theo tên miền, wordpress hosting... Với 20 năm kinh doanh dịch vụ công nghệ Nhân Hòa luôn tự tin là nhà đăng ký top uy tín hàng đầu Việt Nam. Liên hệ với Nhân Hòa theo địa chỉ 

+ Fanpage: https://www.facebook.com/nhanhoacom

+ Chỉ đường: https://g.page/nhanhoacom

+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html

————————————————————

CÔNG TY TNHH PHẦN MỀM NHÂN HÒA

https://nhanhoa.com

Hotline: 1900 6680

Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội

Tel: (024) 7308 6680 – Email: sales@nhanhoa.com

Chi nhánh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM

Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com

Bài viết cùng chủ đề

Gọi miễn phí
Gọi miễn phí
Hệ thống đang xử lý .Quý khách vui lòng không tắt trình duyệt!
× Lổi!
×
×
Web Analytics