Firebase là gì? Các đặt điểm của Firebase

2506
13-11-2018
Firebase là gì? Các đặt điểm của Firebase

Với một loạt các công nghệ server-side có mặt trên thị trường hiện nay, các developers sẽ khá khó khăn trong việc quyết định loại backend nào phù hợp nhất cho ứng dụng của họ.

Trong bài này, Bizfly Cloud sẽ khám phá Firebase và tất cả các công cụ và dịch vụ đi kèm.

Khái niệm Firebase

Firebase là nền tảng phát triển ứng dụng dành cho thiết bị di động và web, cung cấp cho nhà phát triển nhiều công cụ và dịch vụ giúp họ triển khai các ứng dụng chất lượng cao. Có thể nói  gồm những API đơn giản mạnh mẽ backend hay server. 

Tóm tắt lịch sử

Trở lại những năm 2011, trước khi Firebase là Firebase bây giờ thì nó là một startup, được gọi là Envolve. Envolve cung cấp cho các nhà phát triển một API cho phép tích hợp chức năng trò chuyện trực tuyến vào trang web của họ. Điều thú vị là mọi người đã sử dụng Envolve để truyền dữ liệu ứng dụng chứ không chỉ là tin nhắn trò chuyện đơn thuần. 

Các nhà phát triển đang sử dụng Envolve để đồng bộ hóa dữ liệu ứng dụng chẳng hạn như trạng thái trò chơi trong thời gian thực trên người dùng của họ. Điều này đã dẫn dắt những người sáng lập Envolve, James Tamplin và Andrew Lee, tách riêng chat system và the real-time architecture. Vào tháng 4 năm 2012, Firebase được tạo ra dưới dạng công ty riêng biệt Backend-as-a-Service với chức năng thời gian thực. Sau khi được Google mua lại vào năm 2014, Firebase nhanh chóng phát triển thành ứng dụng đa năng của nền tảng di động và web hiện nay.

Dịch vụ Firebase

Dịch vụ Firebase có thể được chia thành hai nhóm:

Firebase là gì? Các đặt điểm của Firebase - Ảnh 1.

Phát triển và thử nghiệm ứng dụng của bạn:

  • Realtime Database
  • Auth
  • Test Lab
  • Crashlytics
  • Cloud Functions
  • Firestore
  •  Cloud Storage
  • Performance Monitoring
  • Crash Reporting
  •  Hosting

Phát triển và thu hút đối tượng của bạn:

  • Firebase Analytics
  • Invites
  • Cloud Messaging
  • Predictions
  • AdMob
  • Dynamic Links
  • Adwords
  • Remote Config
  • App Indexing

Realtime Database

Firebase Realtime Database là một cloud-hosted NoSQL database cho phép bạn lưu trữ và đồng bộ hóa người dùng trong thời gian thực.

Realtime Database thực sự chỉ là một đối tượng JSON lớn mà các nhà phát triển có thể quản lý trong thời gian thực.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 2.

Chỉ với một API duy nhất, cơ sở dữ liệu Firebase cung cấp cho ứng dụng cả giá trị hiện tại và tương lai của dữ liệu.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 3.

Đồng bộ hóa trong thời gian thực giúp người dùng dễ dàng truy cập dữ liệu của họ từ bất kỳ thiết bị nào, có thể là web hoặc thiết bị di động. Cơ sở dữ liệu thời gian thực cũng giúp người dùng có khả năng cộng tác với nhau.

Một lợi ích tuyệt vời khác của Cơ sở dữ liệu thời gian thực là nó chứa mobile và web SDKs, cho phép bạn tạo ứng dụng mà không cần máy chủ.

Khi người dùng của bạn ngoại tuyến, Realtime Database SDKs sử dụng bộ nhớ cache cục bộ trên thiết bị để phân phát và lưu trữ thay đổi. Khi thiết bị trực tuyến, dữ liệu cục bộ sẽ tự động được đồng bộ hóa.

Realtime Database cũng có thể tích hợp với Firebase Authentication để cung cấp quy trình xác thực đơn giản và trực quan.

Authentication

Firebase là gì? Các đặt điểm của Firebase - Ảnh 4.

Firebase Authentication cung cấp backend services, easy-to-use SDKs, và ready-made UI libraries để xác thực người dùng cho ứng dụng.

Thông thường, sẽ mất vài tháng để thiết lập nên một hệ thống xác thực của riêng bạn. Và sau đó, bạn sẽ phải cần đến một đội ngũ chuyên viên để duy trì hệ thống đó. Nhưng nếu sử dụng Firebase, bạn có thể thiết lập toàn bộ hệ thống chỉ với dưới 10 dòng mã, bao gồm cả các hoạt động phức tạp như hợp nhất tài khoản.

Bạn có thể xác thực người dùng ứng dụng của mình thông qua các phương pháp sau:

  • Email và mật khẩu
  • Số điện thoại
  • Google
  • Facebook
  • -Twitter

Sử dụng Xác thực Firebase giúp việc xây dựng hệ thống xác thực an toàn dễ dàng hơn, đồng thời cải thiện sign-in và onboarding experience cho người dùng cuối.

Firebase Authentication được tạo bởi cùng một người trong Google Sign-in, Smart Lock, và Chrome Password Manager.

Firebase Cloud Messaging (FCM)

Firebase Cloud Messaging (FCM) cung cấp kết nối đáng tin cậy và tiết kiệm pin giữa máy chủ và thiết bị cho phép bạn gửi và nhận tin nhắn cũng như thông báo trên iOS, Android và web miễn phí.

Bạn có thể gửi tin nhắn thông báo (giới hạn 2KB) và tin nhắn dữ liệu (giới hạn 4KB).

Sử dụng FCM, bạn có thể dễ dàng nhắm mục tiêu các thư bằng cách sử dụng các phân đoạn được xác định trước hoặc tạo các phân đoạn của riêng bạn bằng cách sử dụng nhân khẩu học và hành vi. Bạn có thể gửi tin nhắn tới một nhóm thiết bị được đăng ký với các chủ đề cụ thể.

FCM có thể gửi tin nhắn ngay lập tức hoặc vào thời điểm tương lai theo múi giờ địa phương của người dùng. Bạn có thể gửi dữ liệu ứng dụng tùy chỉnh như đặt mức độ ưu tiên, âm thanh và ngày hết hạn cũng như theo dõi các sự kiện chuyển đổi tùy chỉnh.

Điểm nổi bật của FCM là hầu như không có bất kỳ mã hóa nào liên quan! FCM được tích hợp hoàn toàn với Firebase Analytics, mang đến cho bạn sự tương tác chi tiết (detailed engagement) và theo dõi chuyển đổi (conversion tracking).

Firebase là gì? Các đặt điểm của Firebase - Ảnh 5.

Bạn cũng có thể sử dụng A/B testing để thử các phiên bản khác nhau của notification messages và sau đó chọn một phiên bản hoạt động tốt nhất với mục tiêu đã định.

>> Xem thêm: A/B Testing là gì? 9 nguyên tắc khi áp dụng A/B Testing

Firebase Database Query

Truy vấn cơ sở dữ liệu Firebase

Firebase đã đơn giản hóa quá trình truy xuất dữ liệu cụ thể từ cơ sở dữ liệu thông qua truy vấn. Truy vấn được tạo bằng cách kết hợp một hoặc nhiều phương pháp lọc.

Firebase có 4 ordering functions:

orderByKey()

orderByChild('child')

orderByValue()

orderByPriority()

Lưu ý rằng bạn sẽ chỉ nhận được dữ liệu từ một truy vấn nếu bạn đã sử dụng phương thức on () hoặc once ().

Bạn cũng có thể sử dụng các hàm truy vấn nâng cao này để hạn chế thêm dữ liệu:startAt('value')

endAt('value')

equalTo('child_key')

limitToFirst(10)

limitToLast(10)

Trong SQL, các vấn đề cơ bản về truy vấn liên quan đến hai bước. Đầu tiên, bạn chọn các cột từ bảng. Ở đây tôi chọn cột Users. Tiếp theo, bạn có thể áp dụng một hạn chế cho truy vấn của bạn bằng mệnh đề WHERE. Từ truy vấn dưới đây, tôi sẽ nhận được một danh sách Người dùng có tên là GeekyAnts.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 6.

Bạn có thể sử dụng mệnh đề LIMIT, điều này sẽ hạn chế số lượng kết quả nhận được từ truy vấn.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 7.

Trong Firebase, truy vấn cũng bao gồm hai bước. Đầu tiên, bạn tạo một tham chiếu đến khóa cha và sau đó bạn sử dụng một hàm thứ tự. Tùy chọn, bạn cũng có thể nối thêm một hàm truy vấn để hạn chế nâng cao hơn.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 8.

Làm thế nào để lưu trữ dữ liệu? Firebase Storage

Firebase Storage là một giải pháp độc lập cho việc tải lên nội dung của người dùng, như hình ảnh và video từ thiết bị iOS và Android cũng như Web.

Firebase Storage được thiết kế đặc biệt để mở rộng ứng dụng của bạn, cung cấp bảo mật và đảm bảo khả năng phục hồi mạng.

Firebase Storage sử dụng hệ thống tệp/ thư mục đơn giản để cấu trúc dữ liệu của nó.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 9.

Firebase Test Labs

Firebase Test Labs cung cấp một số lượng lớn thiết bị thử nghiệm trên thiết bị di động giúp bạn kiểm tra ứng dụng của mình.

Firebase Test Labs có 3 chế độ kiểm tra:

  • Instrumentation Test

Đây là các bài kiểm tra cụ thể được viết để kiểm tra ứng dụng của chính bạn, sử dụng các frameworks như Espresso và UI Automator 2.0.

  • Robo Test

Bài kiểm tra này dành cho những người chỉ muốn rảnh tay , mọi việc sẽ được Firebase xử lý. Firebase Test Labs có thể mô phỏng liên lạc của người dùng và xem mỗi thành phần của ứng dụng hoạt động như thế nào.

  • Game Loop Test

Test Labs hỗ trợ game app testing. Nó đi kèm với một beta support cho việc sử dụng "demo mode", nơi các ứng dụng trò chơi chạy trong khi mô phỏng các hành động của người chơi.

Remote Config

Firebase là gì? Các đặt điểm của Firebase - Ảnh 10.

Remote config về cơ bản cho phép chúng ta xuất bản các bản cập nhật cho người dùng ngay lập tức. Cho dù bạn muốn thay đổi bảng màu cho màn hình, bố cục cho một phần cụ thể trong ứng dụng hoặc hiển thị tùy chọn quảng cáo/theo mùa…, điều này hoàn toàn có thể thực hiện được bằng các thông số bên máy chủ mà không cần xuất bản phiên bản mới.

Remote config giúp:

  • Cập nhật nhanh chóng và dễ dàng các ứng dụng mà không cần phải xuất bản bản dựng mới lên app/play store.
  • Dễ dàng cài đặt cách phân đoạn hoạt động trong ứng dụng dựa trên người dùng/ thiết bị đang sử dụng nó.

Firebase App Indexing

Firebase là gì? Các đặt điểm của Firebase - Ảnh 11.

Để Google lập chỉ mục nội dung của ứng dụng, hãy sử dụng cùng một URL trong ứng dụng mà bạn sử dụng trên trang web của mình và xác minh rằng bạn sở hữu cả ứng dụng và trang web của mình. Google Search thu thập thông tin các liên kết trên trang web của bạn và phục vụ chúng trong kết quả Tìm kiếm. Sau đó, những người dùng đã cài đặt ứng dụng trên thiết bị sẽ truy cập trực tiếp vào nội dung trong ứng dụng khi họ nhấp vào liên kết.

Firebase Dynamic Links

Deep links là các URL đưa bạn đến một nội dung. Hầu hết các liên kết web là deep links.

Giờ đây, Firebase có thể sửa đổi deep links thành Dynamic Links. Dynamic Links cho phép người dùng trực tiếp đến một vị trí cụ thể trong ứng dụng của bạn.

Có 3 cách sử dụng cơ bản cho Dynamic Links:

- Chuyển đổi người dùng Web di động thành người dùng ứng dụng gốc.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 12.

Tăng conversion cho user-to-user sharing. Bằng cách chuyển đổi người dùng ứng dụng của bạn, khi ứng dụng được chia sẻ với người dùng khác, bạn có thể bỏ qua thông báo chung được hiển thị khi người dùng tải xuống từ cửa hàng. Thay vào đó, bạn có thể hiển thị cho họ thông điệp chào mừng được cá nhân hóa.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 13.

Thúc đẩy lượt cài đặt từ bên thứ ba. Bạn có thể sử dụng mạng truyền thông xã hội, email và SMS để tăng đối tượng mục tiêu. Khi người dùng cài đặt ứng dụng, họ có thể xem nội dung chính xác của các chiến dịch.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 14.

Firestore

Firebase là gì? Các đặt điểm của Firebase - Ảnh 15.

Cloud Firestore là một NoSQL document database cho phép bạn dễ dàng lưu trữ, đồng bộ hóa và truy vấn dữ liệu cho các ứng dụng di động và web ở quy mô toàn cầu.

Mặc dù điều này nghe có vẻ giống như Realtime Database, nhưng Firestore mang lại nhiều điều mới mẻ hơn cho nền tảng, làm nó trở nên hoàn toàn khác với Realtime Database.

Improved Querying and Data Structure

Realtime Database lưu trữ dữ liệu dưới dạng một cây JSON khổng lồ, Cloud Firestore có một cách tiếp cận có cấu trúc hơn nhiều. Firestore giữ dữ liệu bên trong các đối tượng được gọi là tài liệu. Các tài liệu này bao gồm các key-value pairs và có thể chứa bất kỳ loại dữ liệu nào, từ strings tới binary data đến even objects giống với JSON trees (Firestore gọi nó là bản đồ). Các tài liệu lần lượt được nhóm thành các bộ sưu tập.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 16.

Firestore database có thể bao gồm nhiều collections có thể chứa các tài liệu hướng tới các sub-collections. Các sub-collections này lại có thể chứa các tài liệu trỏ đến các sub-collections,...

Firebase là gì? Các đặt điểm của Firebase - Ảnh 17.

Bạn có thể xây dựng hệ thống phân cấp để lưu trữ dữ liệu liên quan và dễ dàng truy xuất bất kỳ dữ liệu nào bạn cần bằng truy vấn. Tất cả các truy vấn có thể mở rộng với kích thước của tập hợp kết quả, do đó ứng dụng đã sẵn sàng chia tỷ lệ ngay từ đầu.

Các truy vấn của Firestore khá "shallow". Có nghĩa là trong Firestore, bạn chỉ có thể lấy bất kỳ tài liệu nào mà bạn muốn mà không phải lấy tất cả dữ liệu được chứa trong bất kỳ linked sub-collections nào của nó.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 18.

Query with Firestore

Hãy tưởng tượng rằng bạn đã tạo ra một collection trong Firestore có chứa một danh sách các thành phố. Vì vậy, trước khi bạn có thể gửi một truy vấn, bạn sẽ phải lưu trữ cơ sở dữ liệu bên trong một biến.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 19.

Ở đây, citiesRef là biến chứa collection thành phố của bạn. Bây giờ, nếu bạn muốn tìm danh sách các thành phố thủ đô, bạn sẽ viết một truy vấn như sau:

Firebase là gì? Các đặt điểm của Firebase - Ảnh 20.

Dưới đây là một ví dụ khác về truy vấn trong Firestore. Giả sử bạn chỉ muốn xem 2 thành phố từ cơ sở dữ liệu của bạn có dân số trên 100.000.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 21.

Nhưng Cloud Firestore có thể làm cho việc truy vấn dễ dàng hơn! Trong một số trường hợp, Cloud Firestore có thể tự động tìm kiếm cơ sở dữ liệu của bạn trên nhiều trường. Firestore sẽ hướng dẫn bạn hướng tới việc tự động xây dựng một chỉ mục giúp Firestore truy vấn cực kỳ đơn giản.

Firebase là gì? Các đặt điểm của Firebase - Ảnh 22.

Multi-Region Database

Trong Firestore, dữ liệu của bạn được tự động sao chép sang các vùng khác nhau. Vì vậy, nếu một trung tâm dữ liệu ngoại tuyến do một số lý do không lường trước được, bạn có thể chắc chắn rằng dữ liệu của ứng dụng của bạn vẫn an toàn ở một nơi khác.

Cơ sở dữ liệu đa vùng của Firestore cũng cung cấp sự nhất quán mạnh mẽ. Mọi thay đổi đối với dữ liệu của bạn sẽ được nhân đôi trên mọi bản sao của cơ sở dữ liệu.

Theo Bizfly Cloud chia sẻ

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

TAGS: firebase
SHARE