13 Apps Made with Xamarin: Cross-Platform Development in Practice
You’ve probably seen similar statistics: Among all other mobile activities, users spend up to 92 percent of their time on smartphone apps. Or, look at Statista predicting that by 2020 mobile app downloads will generate $188 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 7 plus years of existence, it has grown to 1.6 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. We are going to look at some outstanding Xamarin app examples further. Today Xamarin not only provides its platform to build cross-platform mobile applications but it also further supports the development ecosystem to test and debug products. Xamarin Test Cloud, now a part of Microsoft Visual Studio App Center, allows developers to run their Xamarin 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 the 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 similar logic.
MRW Mobile made use of existing Windows solution to build Xamarin.Android app
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.
APX field service and travel management tools took advantage of code sharing
Upskill, formerly known as APX Labs, is a subsidiary of HelloWorld Travel Limited, developer of field management tools that use Xamarin. APX Travel Management is an iOS/Android application that serves as all-in-one data storage for travelers, including flight details, delays, interactive maps with hotels, public transport, and car pick up points.
Another project by APX Labs is the Skylight platform, an AI-based smart glass technology for field management and complex manufacturing. Among Skylight’s biggest clients are Tesla, General Electric, and Boeing. To create Skylight, Upskill used Xamarin with about 90 percent of the shared code. The major part of the backend is based on C# code, which was used with Google Glass’s groundworks. Currently, the Skylight platform is tested via Sony’s Smart Glasses. The Skylight app can be easily integrated with other devices, like Microsoft HoloLens, making it a diverse tool for different industries that rely on field technicians or engineers.
Novarum DX is introducing medical apps built with Xamarin
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 its 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 a 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.
The World Bank survey application expands its capabilities on mobile devices and tablets
The World Bank is one of the largest funding sources for charity organizations and educational institutions across the globe. In 2013, they released the survey application named Survey Solutions. Basically, it includes a mobile app, a survey tool, and server software for data aggregation and survey management.
The World Bank team, consisting of eight persons, has chosen Xamarin to work on their mobile application, since they had C# expertise, and needed to implement their survey tools on mobile platforms. The main task was to create on-device data storage that contains survey data, questions, lists, etc. Working on the app in Xamarin and Visual Studio, World Bank managed to create an app to conduct surveys on various mobile platforms confidentially.
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 a Xamarin.iOS app 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 the 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 as they belong to the operating system. Xamarin achieves it through native API access and leveraging platform-specific hardware.
Altexsoft develops a cross-platform app for Fareboom
A Best Travel Store Inc. project, Fareboom.com in cooperation with AltexSoft created a mobile travel and booking application both for iOS and Android platforms. Fareboom Mobile became a cross-platform mobile application that allows customers to search for and compare fares, observe flight details and schedules, purchase tickets and post reviews, among numerous smaller but convenient features. The application is meant to be a mobile travel assistant for Fareboom users. The biggest challenge for the AltexSoft team was a simultaneous release for the App Store and the Google Play market. That’s why Xamarin was chosen as a development tool.
The application required creating UX and UI design from scratch for both platforms. Native Android and iOS development could delay time to market. So, Xamarin was used to make the simultaneous release possible. The technology stack included Xamarin iOS, Xamarin Android, C#, and .NET. As a result, Fareboom Mobile was released on both platforms on time, without decreased performance as it covered the full range of Native application functionality.
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 belong 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 the 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.
To learn more how Xamarin differs from other mobile cross-platform frameworks, check our dedicated story: Xamarin vs React Native vs Ionic.
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.
Insightly CRM offers native functionality on mobile devices
Insightly is a web-based CRM application available in 200+ countries designed to support project management needs in businesses of all sizes. Insightly helps to manage customer interactions, leads, and share information across sales staffs. Its Xamarin-based application represents a mobile solution which shares up to 65 percent of code between iOS and Android platforms. Exploiting Xamarin also allowed preservation of native functionality and integration with native API’s.
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 an 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 a 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, or watch the high-level overview below:
Originally published on AltexSoft tech blog “13 Apps Made with Xamarin: Cross-Platform Development in Practice”