Đối với những bạn đã quen với Google Cloud Functions rồi nhưng muốn phát triển ứng dụng Mobile – Web App sử dụng Firebase thì ở đây bạn lại gặp thêm Firebase Cloud Functions nữa. Lúc này, có lẽ các bạn sẽ bị xung đột. Tại sao trên cùng nền tảng Google Cloud mà lại có 2 Cloud Functions ? Biết sử dụng cái nào đây? Mấy cái code lúc trước mình code sẽ như thế nào đây??? đủ câu hỏi.
Trong phạm vi bài viết này, mình sẽ tìm hiểu về Google Cloud Functions và Firebase Cloud Functions . Nó là gì? Nó có điểm gì giống nhau – khác nhau? trường hợp nào sử dụng Google Cloud Functions, trường hợp nào sử dụng Firebase Cloud Functions. Chúng ta cùng tìm hiểu nhé !
Trước khi vào nội dung chính của bài viết thì chúng ta điểm sơ lại một chút về Google Cloud Functions và Firebase Cloud Functions.
Sau khi các bạn đã có 2 khái niệm về Google Cloud Functions và Firebase Cloud Functions. Giờ chúng ta tìm hiểu tiếp để xem mối quan hệ của chúng như thế nào nhé.
- Firebase là sản phẩm được Google mua lại và triển khai lên nền tảng Cloud (có thể tìm hiểu ở đây). Khi thực hiện chọn Project để bắt đầu trên Firebase.
- Nếu như Project GCP chưa có thì Firebase sẽ tạo luôn một Project GCP.
- Nếu như đã có Project GCP thì Firebase sẽ không tạo mới.
- Project GCP xem Firebase như là một dịch vụ như các dịch vụ khác. Mình cũng có thể enable hoặc disable dịch vụ Firebase trên Project GCP.
- Firebase SDK và cấu hình trên Google Cloud Platform dành riêng cho phát triển ứng dụng Mobile/Web App.
- Và một điểm chú ý nữa là: Lúc trước là Firebase Cloud Functions và nay là Google Cloud Functions.
Khả năng đồng bộ
Do Firebase Project cũng là GCP Project. Do đó, mình xem như GCP Project là gốc rễ của vấn đề.
Các Cloud Functions được viết trên Firebase sẽ được lưu và hiển thị trong Cloud Functions của Project GCP và ngược lại (chỉ đối với các functions được viết bằng nodejs).
Khả năng support ngôn ngữ
Theo như tài liệu của Cloud Functions và Firebase Function thì Firebase Function hỗ trợ ít ngôn ngữ hơn so với Cloud Functions. Cụ thể ở bên dưới:
- Firebase Cloud Functions
- Google Cloud Functions
Sử dụng
Các Function được viết bằng Node.js ở cả hai Cloud Functions và Firebase Function đều có thể được tái sử dụng. Nhưng chú ý là Firebase hỗ trợ tốt nhất cho Node.js 8. Do đó, để tránh phát sinh những lỗi không mong muốn. Những Function được xác định sẽ tái sử dụng ở cả hai nơi thì tốt nhất là hãy viết bằng Node.js 8.
Lúc viết bài viết này thì những Cloud Functions được viết bằng Python bên Project GCP thì vẫn hiển thị bên Project Firebase. Mặc dù có hiển thị tên hàm nhưng không gọi được các hàm khác nodejs ở Project Firebase. Hy sẽ có bản update để Firebase cũng support như ở Project GCP.
Tóm lại
Sau những chia sẻ bên trên, thì mình sẽ kết lại một số lưu ý như sau:
- Firebase là một service của Google Cloud Platform. Project Firebase cũng là Project GCP hỗ trợ cho phát triển ứng dụng Mobile/Web App.
- Muốn phát triển các Cloud Functions dành cho các ứng dung Mobile /Web App trên Firebase thì nên sử dụng Firebase Cloud Functions .
- Muốn viết Cloud Functions cho các dịch vụ khác thì hãy sử dụng Google Cloud Functions . Lúc này mình sẽ có thêm 2 ngôn ngữ lập trình mà mình lựa chọn là Python và Golang.
- Muốn tái sử dụng các hàm đã viết trên cả hai Firebase và GCP thì nên viết hàm bằng Node.js 8.
Với những chia sẻ bên trên, hi vọng các bạn có thể hiểu thêm về Firebase nếu các bạn phát triển Google Cloud Platform mà muốn xây dựng ứng dụng Mobile/Web App trên nền tảng Google Cloud.
Các bạn hãy liên hệ với các chuyên gia – Cloud Ace Việt Nam – để được hỗ trợ tốt hơn.
Tham khảo :