Firebase Storage là gì
Firebase là gì?
Show
Nếu bạn là một lập trình viên hay đơn giản chỉ là một người yêu công nghệ và hay đọc các tin tức trên điện thoại hoặc máy tính thì Firebase có thể là một cụm từ được trông thấy khá nhiều. Vậy Firebase là gì? Firebase có những ưu điểm và hạn chế nào? Hãy cùng tìm hiểu rõ hơn nhé! 1. Firebase là gì?Firebase là một nền tảng sở hữu bởi Google giúp chúng ta phát triển các ứng dụng di động và web. Họ cung cấp rất nhiều công cụ và dịch vụ tiện ích để phát triển ứng dụng nên một ứng dụng chất lượng. Điều đó rút ngắn thời gian phát triển và giúp ứng dụng sớm ra mắt với người dùng. Firebase cung cấp cho người dùng các dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây với hệ thống máy chủ cực kỳ mạnh mẽ của Google. Chức năng chính của firebase là giúp người dùng lập trình ứng dụng, phần mềm trên các nền tảng web, di động bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Firebase là gì? Với Firebase, bạn có thể tạo ra những ứng dụng real-time như app chat, cùng nhiều tính năng như xác thực người dùng, Cloud Messaging,… Bạn có thể dùng Firebase giống như phần backend của app. Các dịch vụ của Firebase hoàn toàn miễn phí, tuy nhiên bạn cần phải trả thêm tiền nếu muốn nâng cấp lên. Điều này bạn nên cân nhắc nếu muốn xây dựng một ứng dụng lớn sử dụng phần backend là Firebase, vì cái giá khi muốn nâng cấp còn khá đắt đỏ so với việc xây dựng backend truyền thống. >>> Xem thêm: Hướng dẫn mua tên miền Google chi tiết nhất 2. Ưu điểm và hạn chế của Firebase- Ưu điểm của Firebase+ Tạo tài khoản và sử dụng dễ dàngFirebase cho phép người dùng đăng nhập bằng tài khoản Google đơn giản. Gói Spark của Firebase miễn phí và cung cấp nhiều tính năng để giúp các nhà phát triển bắt đầu sử dụng Khi yêu cầu ngày càng tăng, bạn nên chọn gói Blaze có trả phí với nhiều tính năng nâng cao hơn + Tốc độ phát triển nhanhFirebase là một tùy chọn phát triển ứng dụng phù hợp có thể giúp các nhà phát triển tiết kiệm thời gian và giảm thời gian tiếp thị ứng dụng Thông thường, mọi Developer cần có quyền truy cập vào Server và Host để tạo, bảo trì cơ sở dữ liệu và dịch vụ phụ trợ. Do đó, cần có một Backend Developer và một Frontend Developer để xây dựng các ứng dụng Tuy nhiên, việc này thường có thể dẫn đến lỗi và các vấn đề có thể gây ra sự cố ứng dụng và làm tăng chi phí phát triển. Thông qua việc sử dụng Firebase và Firestore, Frontend Developer có thể quản lý, giảm thời gian cần thiết để hoàn thành tất cả công việc + Có nhiều dịch vụ trong một nền tảngFirebase cũng cung cấp danh sách đầy đủ các sản phẩm để hỗ trợ các Developer trong quá trình phát triển Hai tùy chọn cơ sở dữ liệu là Firestore và Realtime Database của Firebase. Tương tự như vậy, Firebase cho phép bạn thực hiện lưu trữ Cloud Media dễ dàng. Nó cũng cho phép phát triển ứng dụng không cần máy chủ thông qua việc tích hợp Cloud Functions Firebase bao gồm toàn bộ chu trình phát triển ứng dụng. Nền tảng này chứa các tính năng để xây dựng, phát hành và giám sát các ứng dụng Ngoài ra, là bước cuối cùng của chu trình phát triển ứng dụng, nó cung cấp các công cụ để thu hút người dùng và giữ họ sử dụng nó. Đây cũng là ưu điểm của Firebase mà mình đánh giá khá cao + Được cung cấp bởi GoogleFirebase được cung cấp bởi Google, một trong những tên tuổi nổi bật và đáng tin cậy nhất trong thế giới công nghệ. Theo mình được biết, kể từ khi được mua lại, Firebase đã trải qua một loạt thay đổi, phát triển và trở thành nền tảng đáng tin cậy như ngày nay. Nó khai thác sức mạnh của Google Cloud và nhiều dịch vụ của Google Firebase hiện là một phần của Google Cloud Platform. Nó hoạt động tốt với các dịch vụ Google Cloud khác và tích hợp với nhiều dịch vụ của bên thứ ba + Tập trung vào phát triển giao diện người dùngMột ưu điểm khác khiến Firebase được yêu thích đó là nó cho phép Developer tập trung vào việc tạo mã Frontend cho các ứng dụng di động. Nền tảng này giúp cho việc phát triển ứng dụng trở nên thuận tiện và giúp giảm chi phí đáng kể Sử dụng Firebase cũng cho phép các công ty, Developer chuẩn hóa môi trường Backend theo một công nghệ duy nhất và dễ học. Mẫu Backend làm giảm số lượng đào tạo cần thiết để hỗ trợ nó và cho phép Developer tập trung vào phát triển giao diện người dùng + Firebase không có máy chủTôi cho rằng việc mở rộng hoặc giảm quy mô máy chủ không phải là một nhiệm vụ dễ dàng. Đặc biệt, việc mở rộng một cụm cơ sở dữ liệu là một thách thức và việc tối ưu hóa hiệu suất cho khối lượng công việc khổng lồ đòi hỏi các chuyên gia có kinh nghiệm Firebase giải quyết vấn đề này và cung cấp một môi trường hoàn toàn không có máy chủ. Firebase đi kèm với kiến trúc không máy chủ (Serverless Architecture). Do đó, bạn sẽ không cần lo lắng về cơ sở hạ tầng máy chủ + Học máy (Machine Learning)Theo Gartner, 30% doanh nghiệp sẽ sử dụng Machine Learning (ML) trong một phần quy trình của họ. Firebase cũng có lợi vì nó cung cấp cho các nhà phát triển tùy chọn để dựa vào Machine Learning Firebase đi kèm với bộ ML với các API sẵn có cho các tính năng khác nhau của nền tảng di động như nhận dạng văn bản, nhận diện khuôn mặt, ghi nhãn hình ảnh, quét mã vạch,… + Tạo lưu lượng truy cậpFirebase hỗ trợ lập chỉ mục ứng dụng để cho phép người dùng thu hút lại những khách tìm kiếm trên Google. Cụ thể, nó cung cấp liên kết ứng dụng trên mục tìm kiếm của Google Xếp hạng ứng dụng cũng có thể được nâng cao trên Tìm kiếm một lần bằng cách lập chỉ mục ứng dụng. Điều này giúp ứng dụng của bạn tiếp xúc với những người dùng mới có thể cài đặt ứng dụng đó + Theo dõi lỗiTiếp theo, tôi muốn giới thiệu với bạn tính năng Crashlytics của Firebase. Đây là một công cụ tuyệt vời để tìm và khắc phục sự cố một cách nhanh chóng Firebase có thể theo dõi cả lỗi không nghiêm trọng và lỗi nghiêm trọng. Đồng thời, báo cáo được tạo dựa trên mức độ ảnh hưởng của lỗi đến trải nghiệm của người dùng + Sao lưuFirebase đảm bảo tính bảo mật tối ưu và tính sẵn có của dữ liệu nhờ các bản sao lưu thường xuyên. Các ứng dụng được bảo vệ khỏi mọi khả năng mất dữ liệu bằng cách dựa vào tính năng sao lưu tự động của nền tảng này Khi sử dụng gói Blaze, bạn cũng có thể dễ dàng định cấu hình Cơ sở dữ liệu thời gian thực của Firebase để thực hiện các bản sao lưu tự động
Ưu điểm và hạn chế của Firebase - Hạn chế của Firebase+ Không phải mã nguồn mởFirebase không phải là một tùy chọn mã nguồn mở để phát triển ứng dụng di động. Điều này khiến nó trở thành một lựa chọn không tối ưu cho nhiều nhà phát triển Người dùng không thể sửa đổi mã nguồn Firebase. Theo tôi thì đây là hạn chế lớn nhất của Firebase và ngăn cộng đồng cải tiến sản phẩm + Người dùng không có quyền truy cập mã nguồnĐây là một hạn chế lớn khác của Firebase cho người dùng. Việc không có quyền truy cập vào mã nguồn có thể khá khó khăn đối với một số nhà phát triển Đặc biệt, đối với các ứng dụng lớn, việc chuyển sang các nhà cung cấp khác không phải là một nhiệm vụ dễ dàng và để thực hiện việc này, toàn bộ Backend sẽ cần được xây dựng lại từ đầu + Firebase không hoạt động ở nhiều quốc giaFirebase là một Subdomain của Google. trang Web chính thức của nó là https://firebase.google.com và bị chặn ở nhiều quốc gia Theo mình được biết, Google cùng với các dịch vụ khác của Google bị chặn và không thể truy cập được ở nhiều quốc gia, trong đó có Trung Quốc + Chỉ hoạt động với cơ sở dữ liệu NoSQLCả Firestore và Firebase Realtime Database đều cung cấp cấu trúc NoSQL. Chúng không có tùy chọn nào để sử dụng cơ sở dữ liệu quan hệ Mặc dù Firebase đã thực hiện những cải tiến đáng kể trên Cloud Firestore so với RTDB, nhưng việc chạy các truy vấn phức tạp vẫn là một thách thức đối với một số người dùng nhất định Với Firebase, người dùng không thể xử lý nhanh chóng việc di chuyển dữ liệu tương tự như cơ sở dữ liệu SQL đơn giản. Firebase sử dụng JSON và hầu như không có tính năng SQL nào. Vì vậy, việc di chuyển từ cơ sở dữ liệu sẽ không dễ dàng + Truy vấn chậmKhông phải tất cả cơ sở dữ liệu đều lý tưởng cho mọi trường hợp sử dụng và Cloud Firestore cũng không ngoại lệ Mặc dù đó là một giải pháp tuyệt vời để mở rộng ứng dụng của bạn, cung cấp hỗ trợ truy vấn ngoại tuyến và cập nhật thời gian thực, nhưng nó cũng có những hạn chế như: Kích thước yêu cầu API tối đa 10 MiB Không có truy vấn tổng hợp gốc Giới hạn kích thước tài liệu là 1 MiB Kết nối đồng thời tối đa 1M Truy vấn hiệu suất chậm + Không phải tất cả các dịch vụ Firebase đều miễn phíCác chức năng đám mây chỉ khả dụng trên gói Blaze và người dùng không thể dùng thử dịch vụ trong gói Spark API Cloud Vision trong tính năng học máy cũng không khả dụng trong gói Spark miễn phí của nền tảng này. Dịch vụ này chỉ có sẵn cho người dùng của gói Blaze và tính phí 1,5 USD/ k API + Giá thành khá đắt và không ổn địnhFirebase là một nền tảng phát triển ứng dụng di động có nhiều tính năng nhưng cũng là một nền tảng đắt tiền đối với một số người. Nó cung cấp một gói miễn phí nhưng có hạn chế nhất định Firebase cung cấp nhiều tính năng hữu ích hơn nhưng giá cũng sẽ cao hơn so với một nhà cung cấp IaaS thuần túy. Nói chung, tôi cho rằng việc tự lưu trữ một ứng dụng sẽ rẻ hơn so với sử dụng Firebase Trước khi sử dụng Firebase, tôi khuyên bạn hãy so sánh chính xác chi phí trả trước của việc thiết lập một cụm tại nhà cung cấp IaaS và chi phí đang thực hiện để duy trì máy chủ so với chạy ứng dụng trực tiếp trên Firebase Một khía cạnh khác khiến Firebase trở nên đắt đỏ là nó là một công nghệ độc quyền. Firebase phải bù đắp khoản đầu tư kỹ thuật cho cơ sở người dùng của nó Firebase cung cấp dịch vụ theo mô hình định giá dựa trên mức sử dụng và không có cách nào để giới hạn giá cả. Không có bảng giá cố định cho nền tảng và việc theo dõi mức độ sử dụng tài nguyên có thể là một vấn đề phức tạp Việc ước tính chi phí của Firebase có thể khó khăn đối với một số người dùng, đặc biệt là khi không thể dự đoán được các yêu cầu về khả năng mở rộng. Việc định giá rất phức tạp và Firebase có giá cụ thể cho mọi tính năng Theo thông tin tôi được biết, Firebase từng cung cấp gói Flame. Đó là gói có giá cố định 25USD / tháng. Nhưng nó đã được gỡ bỏ vào tháng 1/ 2020 + Chỉ chạy trên Google CloudFirebase hiện là một phần của Google và cơ sở hạ tầng của nó chạy hoàn toàn trên Google Cloud. Bạn sẽ không có tùy chọn để chạy Firebase trên các nhà cung cấp đám mây khác như AWS, Azure hoặc Digital Ocean + Thiếu Dedicated Server và hợp đồng doanh nghiệpFirebase không có tùy chọn Dedicated Servers hoặc hợp đồng doanh nghiệp. Cách duy nhất để sử dụng Firebase là sử dụng cấu trúc Serverless ít tính linh hoạt hơn Một hạn chế mà tôi thấy khá bất tiện khi dùng Firebase là việc không cung cấp các gói định giá, hợp đồng hoặc hỗ trợ doanh nghiệp. Tuy nhiên, gói Blaze có thể được coi là một phương án chấp nhận được. Nhưng tôi vẫn hy vọng có thêm nhiều lựa chọn và sự hỗ trợ hơn + Không cung cấp các API GraphQLFirebase không cung cấp API GraphQL như một phần của thiết lập tiêu chuẩn. Mặc dù có những giải pháp thay thế cho việc triển khai GraphQL với Firebase, REST vẫn là tùy chọn mặc định của nền tảng >>> Xem thêm: Google Cloud Platform là gì? Giúp bạn quản lý doanh nghiệp đơn giản, hiệu quả nhất 3. Chức năng chính của Firebase- Firebase AnalyticsBằng Firebase Analytics, ta có thể phân tích sự tương tác của người dùng với ứng dụng cũng như tình trạng sử dụng ứng dụng đó Firebase có sẵn chức năng tạo report. Nhìn report ấy, chúng ta có thể nắm được một cách rõ ràng hoạt động của người dùng Bằng việc cài đặt SDK (Software Development Kit, cụ thể hơn với trường hợp này là FirebaseAnalytics.unitypackage), chức năng phân tích các access trở nên khả dụng Khi đó, ta không chỉ xem được hoạt động của người dùng mà còn có thể biết được thông tin về thuộc tính hoạt động hay hiệu quả quảng cáo, tình trạng trả phí, v.v - Firebase HostingFirebase Hosting là dịch vụ deploy trang web và web app chỉ bằng những thao tác đơn giản Khi tạo một app, nhiều trường hợp nhà phát triển sẽ muốn xử lý một số chức năng trên trang web Ví dụ tiêu biểu nhất là trường hợp của Điều khoản dịch vụ (Terms of service) hoặc Chính sách bảo mật (Privacy policy), ta thường sẽ sử dụng trang web có sẵn để hiển thị chúng thay vì tạo riêng một trang trong application Khi sử dụng Firebase Hosting, ta có thể sử dụng web page cho ứng dụng iOS và Android của mình Với các ưu điểm thao tác nhanh, đơn giản, tính an toàn cao, Firebase hosting giúp các nhà phát triển tạo lập ứng dụng một cách đơn giản hơn so với việc tự tạo hay thuê server thực - Firebase Cloud MessagingVới Firebase Cloud Messaging, ta có thể gửi nhận tin nhắn miễn phí. Khái niệm "Gửi message" ở đây còn dùng để chỉ việc push thông báo Khi tên nhắn mới được gửi tới, người dùng có thể nhận được thông báo. Ví dụ, với trường hợp người dùng sử dụng iPhone, khi có mail hay thông báo từ application, ở góc trên bên phải icon của app đó sẽ xuất hiện dấu tròn nhỏ màu đỏ, hay tiện lợi hơn, trong dấu tròn đỏ ấy sẽ hiển thị số lượng thông báo, tin nhắn mới Thêm vào đó, ta cũng có thể thiết lập để tin nhắn chỉ gửi tới những đối tượng mà ta mong muốn, ví dụ như việc gửi thông báo yêu cầu viết feedback sản phẩm cho những khách hàng thường xuyên sử dụng sản phẩm - Firebase AuthenticationFirebase Authentication là chức năng dùng để xác thực người dùng bằng Password, số điện thoại hoặc tài khoản Google, Facebook hay Twitter, v.v... Việc xác thực người dùng là một chức năng quan trọng trong phát triển ứng dụng. Tuy nhiên, việc đối ứng với nhiều phương pháp xác thực khác nhau sẽ tốn nhiều thời gian và công sức Firebase Authentication giúp thực hiện việc chia sẻ ID giữa các ứng dụng, giúp người dùng dễ dàng tiếp cận sản phẩm hơn. Vì thế, nó là một chức năng rất quý - Firebase Cloud StorageFirebase Cloud Storage hỗ trợ việc quản lý, chia sẻ các content người dùng upload lên như ảnh, video; cũng như sử dụng những tài nguyên ấy cho ứng dụng của bạn Data được lưu trữ trong Google Cloud Storage buckets, và có thể được access từ server Đây cũng là một chức năng quan trọng và tiện lợi cho việc phát triển dịch vụ
Chức năng chính của Firebase - Firebase Remote ConfigFirebase Remote Config giúp thực hiện việc thay đổi UI cũng như hoạt động của ứng dụng mà không cần phải update app đó Việc này thực hiện bằng cách set giá trị ban đầu (giá trị default) cho giao diện và hoạt động của app, sau đó sử dụng Remote Config REST API hoặc Firebase Console để ghi đè giá trị mới lên setting default - Firebase Test LabFirebase Test Lab được sử dụng để test ứng dụng trên nền tảng Cloud Bằng cách sử dụng Test Lab, ta có thể test hoạt động của ứng dụng trên nhiều thiết bị đa dạng, nhờ đó có thể xác minh được app sẽ chạy thế nào trên thiết bị thực của người dùng - Firebase CrashlyticsFirebase Crashlytics là công cụ báo cáo các hoạt động bất thường (crash) phát sinh trên ứng dụng theo thời gian thực (real time) Tool giúp ích cho việc truy vết các vấn đề bất thường hạ thấp chất lượng sản phẩm, nhờ đó ta có thể đặt thứ tự ưu tiên để có phương hướng xử lý thích hợp. Công cụ này còn hỗ trợ việc chia nhóm các bất thường phát sinh, truy xuất tình trạng có liên quan đến crash ấy, giúp tiết kiệm thời gian xử lý sự cố - Firebase App IndexingFirebase App Indexing là chức năng hiển thị content trong ứng dụng trong kết quả tìm kiếm Google Với user đã cài đặt sẵn ứng dụng trên thiết bị của mình, khi user chọn kết quả tìm kiếm có chứa content trong ứng dụng thì application sẽ được khởi động - Firebase Dynamic LinksFirebase Dynamic Links là chức năng phân chia trang đích một cách thích hợp tùy vào tình trạng người dùng - Firebase ConsoleĐể sử dụng những chức năng được giới thiệu ở trên, ta cần đến Firebase console Để login vào console, ta cần có tài khoản Google, vậy bước trước tiên cần được thực hiện là đăng ký một tài khoản Google nếu bạn chưa sở hữu, và đăng nhập với account đó Thêm vào đó, bằng việc sử dụng Notifications Composer của Firebase Console, ta có thể gửi tin nhắn thông báo tới thiết bị iOS hay Android >>> Xem thêm: Google analytics là gì? Hướng dẫn cài đặt và sử dụng Google analytics 4. Những giải pháp thay thế Firebase
|