Google offers the Firebase suite of application development tools, available free or at cost for higher degree of usages, priced flexibly accorded to features needed. The suite includes A/B testing and Crashlytics, Cloud Messaging (FCM) and in-app messaging, cloud storage and NoSQL storage (Cloud Firestore and Firestore Realtime Database), and other features supporting developers with flexible mobile application development.
$0.01
Per Verification
Xamarin
Score 6.0 out of 10
N/A
N/A
N/A
Pricing
Firebase
Xamarin
Editions & Modules
Phone Authentication
$0.01
Per Verification
Stored Data
$0.18
Per GiB
Xamarin
Free
Offerings
Pricing Offerings
Firebase
Xamarin
Free Trial
No
No
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
Firebase
Xamarin
Considered Both Products
Firebase
Verified User
Engineer
Chose Firebase
It eases the app development process, has an extensive database that allows you to store media files in the cloud, supports robust uploads and downloads, and login authentication on any platform.
Firebase should be your first choice if your platform is mobile first. Firebase's mobile platform support for client-side applications is second to none, and I cannot think of a comparable cross-platform toolkit. Firebase also integrates well with your server-side solution, meaning that you can plug Firebase into your existing app architecture with minimal effort.
Firebase lags behind on the desktop, however. Although macOS support is rapidly catching up, full Windows support is a glaring omission for most Firebase features. This means that if your platform targets Windows, you will need to implement the client functionality manually using Firebase's web APIs and wrappers, or look for another solution.
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and effort from your development team to be able to build applications seamlessly for android, IOS, Windows, and web on a single platform instead of requiring multiple tools to get the job done.
Analytics wise, retention is extremely important to our app, therefore we take advantage of the cohort analysis to see the impact of our middle funnel (retargeting, push, email) efforts affect the percent of users that come back into the app. Firebase allows us to easily segment these this data and look at a running average based on certain dates.
When it comes to any mobile app, a deep linking strategy is essential to any apps success. With Firebase's Dynamic Links, we are able to share dynamic links (recognize user device) that are able to redirect to in-app content. These deep links allow users to share other deep-linked content with friends, that also have link preview assets.
Firebase allows users to effectively track events, funnels, and MAUs. With this simple event tracking feature, users can put organize these events into funnels of their main user flows (e.g., checkout flows, onboarding flows, etc.), and subsequently be able to understand where the drop-off is in the funnel and then prioritize areas of the funnel to fix. Also, MAU is important to be able to tell if you are bringing in new users and what's the active volume for each platform (Android, iOS).
Xamarin allows you to write cross platform code. This allows companies to build apps more quickly by writing less code. Having code abstracted and reused across multiple platforms allows for more testing and less issues overall.
The ability to use Visual Studio is a huge plus. Visual Studio is one of the best IDE's available and being able to write cross platforms apps while in a great IDE makes everything less painful.
Xamarin is now free with a large company backing. This means that bugs on the platform get fixed more quickly and there is a large community of developers.
Attribution and specifically multi-touch attribution could be more robust such as Branch or Appsflyer but understand this isn't Firebases bread and butter.
More parameters. Firebase allows you to track tons of events (believe it's up to 50 or so) but the parameters of the events it only allows you to track 5 which is so messily and unbelievable. So you're able to get good high-level data but if you want to get granular with the events and actions are taken on your app to get real data insight you either have to go with a paid data analytics platform or bring on someone that's an expert in SQL to go through Big Query.
City-specific data instead of just country-specific data would have been a huge plus as well.
Xamarin has been great for developing different projects efficiently and effectively. It's nice to reuse the core business logic across different platforms so that there are less to maintain and little replications are needed. The biggest benefit is that C# programmers do not have to learn a different language to do mobile development.
Firebase functions are more difficult to use, there are no concepts of triggers or cascading deletes without the use of Firebase functions. Firebase functions can run forever if not written correctly and cause billing nightmares. While this hasn't happened to us specifically it is a thing that happens more than one realizes.
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and efforts from your development team to be able to build applications seamlessly for android, IOS, windows, and web on a single platform instead of requiring multiple tools to get the job done
Our analytics folks handled the majority of the communication when it came to customer service, but as far as I was aware, the support we got was pretty good. When we had an issue, we were able to reach out and get support in a timely fashion. Firebase was easy to reach and reasonably available to assist when needed.
I never had to contact support for any help. Most of the problems we ran into, we were able to identify and use peer support through blogs and other internet sources to resolve the problems. There are plenty of sources online which provide tutorials, discuss problems, etc. Example: StackOverflow
Just with any programming tasks, have a plan first. Design out the system, spend time to build it correctly the first time and have plenty of testing and user acceptance opportunities. Xamarin was easy to implement for a C# programmer. However, you need to do tutorials to realize the platform's capabilities.
Before using Firebase, we exclusively used self hosted database services. Using Firebase has allowed us to reduce reliance on single points of failure and systems that are difficult to scale. Additionally, Firebase is much easier to set up and use than any sort of self hosted database. This simplicity has allowed us to try features that we might not have based on the amount of work they required in the past.
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software development, provided a developer is comfortable switching between the IDE the command line for certain parts of their workflow, like building, package management, or debugging. But for C# .NET development on MacOS specifically, Xamarin is the best product I've used for the job.
Makes building real-time interfaces easy to do at scale with no backend involvement.
Very low pricing for small companies and green-fields projects.
Lack of support for more complicated queries needs to be managed by users and often forces strange architecture choices for data to enable it to be easily accessed.