Creating Nobackend Applications with Firebase
Nobackend does not mean there is no back-end but rather the back-end infrastructure is hidden from the developer, all the functionality being provided by a framework, a library or a service.
Firebase supports all major browsers on the desktop including IE7+, Firefox 3+, Chrome, Safari, and Opera, mobile browsers for iOS and Android, but it can also run on a server setup using Node.js or Java. The library comes with a REST API and accompanying libraries for Java, Python, PHP, Ruby and Clojure.
Firebase currently can handle strings, numbers, booleans and objects, which in turn can include more strings, numbers, booleans and other objects. We wanted to know how data is kept internally, but Lee did not disclose details. He did answer other questions for our readers:
Dropbox' Datastore API allows one to query the storage while Firebase has limited query capabilities. Do you intend to improve on that?
Yes we do! We have some features for this already (you can window and limit based on a single "priority", which is essentially an index). Firebase has two big advantages over the Datastore API: (1) It can be used to share data between multiple users. (2) It can scale to very large sizes. The datastore API is only useful for sharing data between devices with yourself and only for a very small data set (up to 10 MB).
Can you tell us a bit about using Firebase on the server side?
We support both Node.js and Java on the server. The API works the same as it does on the clients -- you can synchronize and modify shared JSON objects. Many of our larger customers use a server-side JS client in production.
Is Firebase licensable to an enterprise that wants to run it on their own servers?
We're happy to discuss this on a customer-by-customer roadmap.
What is on your roadmap?
Lots of things! More platform support (C# is likely next), faster sync speeds, improved Forge and other tools, better tutorials and documentation, and more powerful API features!
Data is secured via user authentication, security rules that establish how authenticated users can modify the data, and all transfers are done via SSL.
Applications built with Firebase can be integrated with other services running in the cloud or developers’ servers, covering additional data computation needs.
Firebase came out of beta last month. The pricing plans include a free Development edition, four production editions with various levels of data transfer and storage limits, and an enterprise edition that is negotiated for each case.