Sử dụng firebase cho người mới bắt đầu
TIL
738
White

Thuong Nguyen Van viết ngày 30/12/2018

Lời tựa

Sau 4 tháng trời ngồi mò mẫm làm việc với firebase mình muốn viết ra bài này để chia sẻ một chút kinh nghiệm của mình. Với mong muốn giúp người đi sau có thể tránh được những sai lầm mà mình mắc phải và rút ngắn được thời gian làm việc.

Firebase là gì

Firebase là một nền tảng gồm nhiều công cụ giúp bạn xây dựng một app web, hoặc app mobile. Nói đến firebase người ta thường nghĩ tới realtime database. realtime database là một phần của firebase nó là một cơ sở dữ liệu cho phép realtime và là phần quan trọng nhất của firebase giúp bạn xây dựng nên một app. Trong phạm vi bài viết này mình chỉ nói về xây dựng app web

App web là gì ?

Trong giới hạn hiểu biết của mình mình định nghĩa đơn giản app web là 1 trang web mà chúng ta có thể sử dụng nó mà ko cần reload lại trang. Ví dụ khi vào facebook bạn click vào 1 cái link gì đó bạn có thể thấy facebook ko hề reload lại trang. Để làm được điều đó tất cả dữ liệu mới đề được load bằng javascript thông qua API.Client tự load dữ liệu và render kết quả thay vì phải gọi tới server để làm việc đó. Bạn có thể tìm hiểu thêm về SPA web.

Hãy nghĩ xem để xây dựng 1 app web bạn cần gì ?

  • Đầu tiên cái một người đều nghĩ đến là cần 1 server chọn 1 ngôn ngữ lập trình và bắt đầu code. Cái mà mình muốn nhấn mạnh đó chính là server. Server sẽ trực tiếp truy xuất vào csdl và trả lại kết quả cho người dùng.
  • Nếu client có thể truy cập trực tiếp vào database thì chúng ta cần server để làm gì ? Đúng vậy với firebase client sẽ trực tiếp truy cập vào database để truy xuất dữ liệu. Việc cần làm của bạn là viết ra các rule để giới hạn quyền truy cập của người dùng mà thôi.
  • Có thể chúng ta vẫn cần server cho những tác vụ validate dữ liệu phức tạp. Ví dụ khi user input data thì server phải convert trước khi update vào database. Với trường hợp đó thì firebase cung cấp cho chúng ta cloud function được gọi từ client để thực hiện điều đó.

Các khái niệm cơ bản trong firebase

  • firebase authenticate: Như đã nói client sẽ trực tiếp truy cập vào database. Trước khi truy cập bạn phải cấp cho user tài khoản. firebase cung cấp nhiều loại xác thực giúp bạn tạo tài khoản cho người dùng và xác thực người dùng.
  • firebase hosting: như đã nói app web load dữ liệu mới bằng javascript qua api. Khi người dùng lần đầu truy cập các đoạn mã javascript cần được tải xuống, và trang index. hosting giúp lưu các static file để khởi động app web. firebase admin: client có thể truy cập database và bị giới hạn bởi rule. cò admin thì có toàn quyền. admin còn được cung cập các cung cụ để quản lý user và nhiều cái khác.

Cái mà firebase đang cố định hướng deverloper tới

  • Như các bạn thấy với các cung cụ của firebase bạn hoàn toàn tạo được ra 1 app mà không cần server. Điều đó có nghĩa là bạn chỉ cần tập trung build app ở phía client để tăng trải nghiệm của người dùng thôi còn phần server để firebase nó lo. Đó gọi là kiến trúc serverless ( không server )

.................

ThuongNguyenVan 30-12-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Thuong Nguyen Van

5 bài viết.
8 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
13 5
Lập trình socket trong Java Lời nói đầu : Theo đúng lộ trình thì mỗi một kì học mình sẽ làm một project ( tự tìm hiểu về một cái gì đó mình nghĩ l...
Thuong Nguyen Van viết 2 năm trước
13 5
White
6 2
Mở đầu Sau vài ngày tìm hiểu về Kubernetes mình cũng muốn chia sẻ một chút kiến thức mình đã học được về Kubernetes tới cộng đồng. Trong lúc mình ...
Thuong Nguyen Van viết 9 tháng trước
6 2
White
2 0
Tại sao là linux. Tùy từng người nhưng mình thấy dùng linux thực sự rất hay. nó là môi trường để run product nên mình cũng muốn học cách sử dụng ...
Thuong Nguyen Van viết 5 tháng trước
2 0
Bài viết liên quan
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết hơn 1 năm trước
0 4
White
2 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết 11 tháng trước
2 0
White
23 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết 3 năm trước
23 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
8 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!