Đã 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
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:
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ả.