12/08/2018, 15:08

GIỚI THIỆU GOOGLE FIREBASE – REALTIME DATABASE SYSTEM - Phần 1

GIỚI THIỆU GOOGLE FIREBASE – REALTIME DATABASE SYSTEM I. Giới thiệu Firebase Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.. ...

GIỚI THIỆU GOOGLE FIREBASE – REALTIME DATABASE SYSTEM I. Giới thiệu Firebase Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.. Hình 1: Google Firebase – Realtime database system 1.1. Các chức năng chính của Google Firebase Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message của ngày xưa hoặc như Facebook Messager của ngày nay trong thời gian cực ngắn như khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client còn phần server và database đã có firebase lo. Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database. Cụ thể hơn Google Firebase cung cấp tới chúng ta những chức năng chính sau: 1.1.1. Realtime Database – Cơ sở dữ liệu thời gian thực Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Cụ thể hơn là bạn có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa đổi. Ngoài ra Firebase còn cho phép bạn phân quyền một các đơn giản bằng cú pháp tương tự như javascript. 1.1.2. Firebase Authentication – Hệ thống xác thực của Firebase Với Firebase bạn có thể dễ dàng tích hợp các công nghệ xác thực của Google, Facebook, Twitter, … hoặc một hệ thống xác thực mà bạn tự mình tạo ra vào trong ứng dụng của bạn ở bất kì nền tảng nào như Android, iOS hoặc Web. 1.1.3. Firebase Hosting Các bạn có thể triển khai một ứng dụng nền web nhanh chóng với hệ thống Firebase, và các dữ liệu sẽ được lưu trữ đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL. Các ứng dụng sẽ được cấp 1 tên miền dạng *.firebaseapp.com hoặc bạn có thể trả tiền để sử dụng tên miền của riêng mình. 1.2. Những lợi ích từ việc sử dụng Google Firebase Ở phía trên là các chức năng của google firebase, vậy các chức năng đó sẽ đem lại cho bạn những lợi ích gì, có lẽ một số bạn đã mường tượng ra rồi nhưng cũng có bạn có lẽ vẫn còn mơ hồ vì vậy hãy đọc kĩ phần này sẽ biết câu trả lời chính xác nhất. 1.2.1. Triển khai ứng dụng nhanh Với Firebase bạn có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase. Không chỉ có vậy Firebase còn hỗ trợ đã nền tảng nên bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng. Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp ta đơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực do chính Firebase cung cấp. 1.2.2. Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server. Không chỉ có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu. 1.2.3. Tính linh hoạt và khả năng mở rộng Sử dụng Firebase sẽ giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ. Ngoài ra firebase còn cho phép bạn tự xây dựng server của riêng mình để bạn có thể thuận tiện hơn trong quá trình quản lý. Việc Firebase sử dụng NoSQL, giúp cho database của bạn sẽ không bị bó buộc trong các bảng và các trường mà bạn có thể tùy ý xây dựng database theo cấu trúc của riêng bạn. 1.2.4. Sự ổn định Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm, … nữa, bởi đơn giản là Firebase hoạt động trên hệ thống server của Google. Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản  mà không cần phải dừng server để nâng cấp như truyền thống. 1.2.5. Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến $$500 đủ để đáp ứng được nhu cầu của tất cả các đối tượng. Chính vì vậy bạn có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu của mình. Điều này giúp bạn tới ưu hóa được vốn đầu tư và vận hành của mình tùy theo số lượng người sử dụng. Ngoài ra bạn còn không mất chi phí để bảo trì, nâng cấp, khắc phục các sự cố bởi vì những điều này đã có Firebase lo.

II. Tạo một app mới trên Firebase

Bước 1: Tạo một tài khoản trên Firebase hoặc bạn có thể login vào Firebase bằng tài khoản gmail. Bước 2: Sau khi đã đăng nhập tài khoản Firebase. Chúng ta tạo một app mới trên Firebase. Ở đây mình tạo một app có tên devpro-firebase. Chúng ta viết vào dòng APP NAME và chọn CREAT NEW APP. Sau khi đã tạo app mới. Ta nhấn chọn Manager App trên app chúng ta vừa tạo để vào trang quản trị. Toàn bộ dữ liệu của app sẽ được hiển thị ở phần Data. Như vậy chúng ta đã tạo xong một app mới trên Firebase.

III. Cấu hình Firebase lên Android studio.

Việc tiếp theo chúng ta cần làm là cấu hình Firebase lên Android studio. Bước 1: Mở Android studio, tạo một project mới và chọn MainActivity dạng Empty Activity. Khi đã tạo project xong. Vào FileProject Structure chọn thẻ Cloud tích chọn vào ô Firebase và nhấn Ok. Cấu hình firebase cho android

Bước 2: Tại góc nhìn Project ta chọn appbuild.gradle Tại thẻ android thêm dòng lệnh này vào. và ấn Sync Now

     packagingOptions {
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/LICENSE-FIREBASE.txt'
            exclude 'META-INF/NOTICE'
        }	
     packagingOptions {
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/LICENSE-FIREBASE.txt'
            exclude 'META-INF/NOTICE'
        }

firebase android studio

Vậy là ta đã hoàn thành cấu hình FireBase lên Android studio. Tiếp theo chúng ta sẽ code một ví dụ về lấy dữ liệu từ Firebase về và add lên ListView trong Android studio.

0