10 Apps Made with Xamarin: Cross-Platform Development in Practice
You’ve probably seen similar statistics: Smartphone users spend 89% of their mobile media time using apps. Or heard Gartner’s prediction that by 2017 mobile app downloads will generate $77 billion worth of revenue. It’s hard not to take such numbers into consideration. Today every enterprise must come to terms with the necessity of creating a mobile application to retain users who prefer to handle their issues via mobile. CEOs and startups who have developed mobile apps are familiar with the struggles– between speed and quality, iOS and Android, hybrid and native. And Xamarin could certainly change the rules of the game.
Xamarin has been taking the world by storm. In its 5 plus years of existence, it has grown to 1.4 million developers across 120 countries and was acquired by Microsoft to become part of its Visual Studio environment. This makes Xamarin the technology of choice for 15,000 companies in such fields as energy, transport, media, healthcare, and many more. Today Xamarin not only provides its platform to build cross-platform mobile applications, it also further supports the development ecosystem to test and debug products. Xamarin Test Cloud, for instance, allows developers to run their apps on over 2,000 real devices and analyze detailed reports. Another service, Xamarin.Insights, was previously used by mobile .NET developers to find and debug issues, but recently merged with HockeyApp, Microsoft’s testing platform for receiving feedback and preventing crashes.
Having experience in cross-platform mobile development with Xamarin, we decided to compile this Xamarin app showcase to discuss the most distinct features of the technology and what role they played in delivering these applications.
The ability to reuse code
By building applications for all three major mobile platforms, the developers can share up to 75 percent of code. Moreover, using Xamarin.Forms, a library with more than 40 cross-platform controls and layouts mapped to native controls, the shared codebase can reach 100 percent.
Olo builds apps for 160 brands using the same core logic
Rebuilding the app using Xamarin wasn’t a difficult decision. Already being a C# and .NET shop, they took the chance of finally inviting their existing engineering into mobile. Greg Shackles, Principal Engineer at Olo, doesn’t think that engineers should avoid unshared code if it makes a platform-specific experience better. Either way, Olo benefits from code sharing at the core level consisting of services, database access, network and API calls. The tooling they’ve built allows them to create unique projects for each brand using the similar logic.
MRW Mobile made use of existing Windows app to build Android solution
MRW is Spain’s leading international express transport company. More than 10,000 MRW employees operate in over 1,300 franchises in Spain, Portugal, Andorra, Gibraltar, and Venezuela. A critical element to the company’s progress is an app that supports 2,500 concurrent users by facilitating delivery coordination.
Having successfully created a Windows version of the app, MRW started looking for a way to build on Android and keep the native performance. Completely rewriting the numerous features of MRW Mobile for another platform would have exceeded the budget and taken significantly more time. With Xamarin, they managed to make use of the existing skillset and reuse the code. The management is also eager to start building for iOS, estimating 90 percent code sharing with the Android app.
CA Mobile provides a safe and native mobile banking experience
Being one of the largest banks in Portugal with over 100 years of history and 1.6 million customers, Crédito Agrícola was in a hurry to respond to the ever-growing need of smartphone users to transact their finances via mobile. The company was concerned with providing ongoing support to the clients on mobile platforms while ensuring necessary security requirements.
Within three months, the company managed to release the app for all three platforms by reusing 75 percent of the code. As a result, CA Mobile covers 34 expense categories, supports payment authorization, and real-time push notifications for expense approvals.
Novarum DX is building medical apps the Xamarin way
Novarum DX is a subsidiary of BBI Solutions, a leading manufacturer of finished test platforms for diagnostics and pharmaceutical markets. Experts at Novarum DX aimed to build an app that would simplify interpreting lateral flow tests and allow users to recognize results via a smartphone camera.
The team used native camera access and applied the same code across operating systems to create Novarum Reader, the first diagnostic application that works without any added hardware. With Xamarin, the company managed to reduce their resources and allocate only one engineering team for all apps. Following their first experience with the technology, Novarum DX shipped about 20 different apps made with Xamarin, each in four to six weeks, using the same Xamarin-based development approach.
It doesn’t necessarily mean that by using just one programming language your development time and expenses will automatically cut in half. You will still need to spend time adjusting an app for each operating system, especially when it comes to UI and platform-specific features.
Working in a familiar environment
Very few developers are highly skilled in both Objective-C and Java, which means that the majority of them will have to add one or two programming languages to their existing skillset. This obviously involves a learning curve and will set the development of your application way back. Many Xamarin use cases derive from the need to stay within familiar engineering environment. C# is not just a handy tool to replace Objective-C, Java or Swift. It has its own advantages, such as asynchronous programming and the availability of C# libraries.
Foundbite was built for Windows but followed by Android and iOS
Foundbite is an audio-sharing service that allows users to record 5 seconds to 5 minutes of sound, tag their location, and post for the world to see. The idea for the app occurred to Foundbite’s founder James Mundy in 2012. Since then, the student’s side project grew to become a London-based business and a leader in its field.
Thanks to funding from Microsoft, Mundy developed the first version of the app for Windows Phone. Having experience in C#, his small team didn’t have to learn Objective-C and Java and could reply to the users’ requests by delivering the iOS and Android apps within months. Mundy recommends everyone who’s starting mobile development use Xamarin advantages in order to “write less, better code with a smaller team to reach more customers quicker.”
Storyo’s team of three shipped 5-star-rated app
Nativo Labs established by three entrepreneurs from Portugal, aimed to create a better way to tell stories using photographs. Storyo’s AI-driven moviemaker can automatically and with very simple adjustments make a video from your photos in a mobile gallery.
Just as many other startups, the team was looking for an easy way to develop an app on their own, and Xamarin allowed them just that. Having extensive C# expertise, engineers could use their skills to develop for iOS and complete the project in just six months, greatly improving the app’s time to market. After the app earned five stars in the Apple App Store, Nativo Labs decided to target Android. “None of us had worked with Android before starting this project; it wouldn’t have been possible to do it at all without a tool like Xamarin,” says Filipe Vasconcellos, CEO.
Captio rebuilt their fully native apps with the existing C# skills
A Spain-based company developed an application that allows employees and supervisors to easily manage travel expenses. An automatic scanning system extracts important data from a photo of a receipt or any paper document, sending it directly to the office. By integrating the expense management process into a single paperless workflow, Captio not only eliminates manual tasks, but also prevents possible fraud.
The first application was released five years ago. Back then, the team went the hybrid way and used PhoneGap, but the results were disappointing. Although the features were available on different devices, they just weren’t as good as native. This is why Captio started working on a new version. This time it was three completely native apps, which was a big improvement, but the cost was high – the developers weren’t ready to deal with such maintenance expenses. That’s when the CEO heard about Xamarin. Now the engineers can make use of their previous experience with C# and build the cross-platform apps while reusing up to 80 percent of code.
Many companies using Xamarin admit that it didn’t spare them from learning how to use the iOS and Android platform APIs. Still, replicating code and adapting samples is not the same as learning two more programming environments. Furthermore, the thousands of Xamarin developers reside on Xamarin Forums, a platform for sharing tips and exchanging opinions, where most of the questions can be answered and explained.
These days native rendering is crucial to an app’s success. Users demand fluid applications that look and behave like they belong to the operating system. Xamarin achieves it through native API access and leveraging platform-specific hardware.
Picturex switched from Cordova to Xamarin to develop iOS and Android apps
MIT Innovation AG is a subsidiary of MIT-Group, a Swiss company offering ICT solutions for more than 25 years. Picturex is one of their four applications created using Xamarin, along with Photo2Folder, a local filesaver that can be integrated as a service for the existing app. Picturex lets you collect the photos from a single event taken by your friends and yourself in a single private photo album. The control over who’s allowed to see, share, and download photos belongs to you only and all the content will be automatically deleted in 14 days. The company also promotes the app as a business tool for exchanging pictures with customers and employees by offering custom branding, analytics, and guaranteed data security.
Previously using Apache Cordova for the Windows Phone app, the developers weren’t satisfied with hybrid performance and were always looking for a way to build Picturex as a fully native app. Given the effort needed to completely rewrite the app for Android and iOS, they chose Xamarin and started working only in C#. According to Linard Moll, Senior IT Consultant, they were able to develop “true native apps that offer a device-specific experience and run at full speed compared to web-based frameworks.” This accordingly allowed the company to reuse the business logic and simplify branding the app for corporate customers.
Vanderlande saves money and customers’ loyalty thanks to the enterprise app
Vanderlande is a global market leader in airport luggage and sorting systems based in the Netherlands. The company’s systems handle 8.8 million luggage items every day and sort 300 packages per second. Due to manual or even missing records of the items, the company often had to deal with lost items, which not only resulted in high costs but also disrupted the entire process.
Vanderlande decided to create an application that allowed the employees to scan bar and QR-codes and automatically trace each item. The app also functions offline and uploads the reports automatically when a device finds a connection. Xamarin gave the app access to all required data, such as the user’s location, media files, camera and Wi-Fi connection information. By tightly integrating the app into the platform with Xamarin, they managed to create an intuitive user experience, regardless of whether a person speaks English, and support uniform processes among the staff.
Alaska Airlines created customer and internal apps for all major platforms
With over 75 years of history and 17 million customers a year, Alaska Airways has always been adopting the latest travel technology solutions. It was the first North American airline to sell tickets online and print boarding passes via the Internet.
The need to include all major operating systems in their app production was expected: They wanted to create both a customer and internal app for 15,000 team members. Xamarin along with Visual Studio Team Services and Hockey App allowed Alaska Airlines to focus on native features such as Touch ID or push notifications, and seamless experience rather than the tools required to achieve it.
So, what are the most viable scenarios to opt for the Xamarin environment?
- Applications with simple UI
Most adjustments between mobile platforms usually belong to UI. But if your app doesn’t require extensive user experience, the development time can be significantly reduced.
- Applications with heavy logic
Xamarin provides native level of hardware capabilities. With standard UI, all the core logic can be shared, leaving only 5-10 percent to the customization process.
- Startups that want to focus on ideas rather than engineering
At the early stages of development, the last thing you want to do is bury yourself deep in the engineering process. You want your team to stick to one of the agile project management methodologies, test hypotheses and bring your product to market as fast as possible. With Xamarin, you spend less time writing code and deliver better results while continuing to generate ideas.
- Apps that must cover multiple platforms
Sometimes your application should work with a wide range of devices and all main platforms. If accessibility is one of the focal points of your project, you can use Xamarin to completely customize the product. And, as we already mentioned, Xamarin Test Cloud allows you to run automated tests and identify performance issues on over 2,000 devices.
- When a team is familiar with C# and .NET
Even if you’re not planning to build for iOS and/or Android, the prospect of doing it in the future with little to no effort is worth it. You can keep the experts you already have and waste no time or money on learning new languages.
Regardless of whether you face one of the cases above, if you are engaged in a mobile development project, you should familiarize yourself with Xamarin. This is by far the best cross-platform development tool on the market and, standing on Microsoft’s shoulders, its influence will only grow over time.
To learn more about Xamarin’s advantages and drawbacks, read our article on Pros and Cons of Xamarin vs Native Mobile Development.