If you’re thinking about developing an Android or iOS native app, you may be navigating the choice between Objective-C versus Swift and Java. Since they are native stacks for mobile app development, they are often the first to come to mind.
However, there are easier, faster, and more affordable ways to build a mobile application. With cross-platform mobile app development,
you can use a single code base for your mobile apps.
Mobile App Development With .NET
Microsoft’s .NET framework has expanded leaps and bounds in the last few years when it comes to mobile and cross-platform development. In 2016, Microsoft acquired Xamarin, a solution we started using long ago—we launched our first app
on it in 2014—because it let us develop native apps in .NET and C#.
Xamarin has been around for some time now and with its integration into Microsoft’s ecosystem, it has steadily climbed in developers’ preferences. The shared Xamarin C# codebase and its integration directly with Visual Studio have helped
us deliver apps that meet all the performance criteria and stay within budget and deadline.
Curious to see Xamarin in action? Check out the Rooted Carrot Co-op app. This app was built by Far Reach using Xamarin Forms and Azure-hosted data. Rooted Carrot provides members with a digital member card and a way to find businesses that provide discounts. You can find it in Google Play and the App Store.
Cross-platform Is Here to Stay
One of the major concerns when choosing an app development platform is its lifecycle. Large platform creators can always retire a platform with little or no notice or simply stop supporting it.
Microsoft has come a long way in integrating Xamarin into its .NET ecosystem, but times change. With a request from developers to enhance cross-platform capabilities, Microsoft recently announced .NET MAUI, the next evolution of Xamarin and cross-platform development.
.NET 6.0, the latest release, still has full support for Xamarin. But as MAUI is rolled out throughout 2022, Xamarin is expected to be retired in 2023. This type of lifecycle is nothing new in software development—it’s part of the process.
We’ll start exploring MAUI when it’s released and migrate from Xamarin based on best practices, recommendations, and individual client needs.
Microsoft’s push on MAUI shows us that cross-platform development tools are a big deal and will become central to the .NET ecosystem rather than a standalone afterthought.
Good thing we love learning new things!
Cross-platform development is growing for many reasons:
With cross-platform development, you use one codebase for all the platforms—desktop, web, iOS, Android. We can develop in the .NET tools we’re familiar with to build across these different spaces.
Microsoft estimates that you can share up to 90% of your code across platforms, which speeds up the development cycle significantly. Microsoft
continues to integrate cross-platform development tools, bringing them right into the integrated development environment (IDE).
More Affordable App Development
Time is money, especially in custom software development. If you can re-use 90% of your code, you don’t
just shorten the development cycle, you also spend less development time on rebuilding the same features for different platforms.
More importantly, this doesn’t only apply to the development phase, but also to maintenance, bug fixes, and continuous development phases.
Close to Native App Performance
Some cross-platform solutions are based on web technologies—like embedded HTML apps that basically frame a website inside a downloadable app. Web-based hybrid solutions can’t really be classified as native.
Apps developed on Xamarin—and MAUI coming down the pipeline—on the other hand, can be considered native. Furthermore, the platform is continuously developed by Microsoft and its performance is constantly improved upon, so it’s as
close to native standards as it gets without developing in Swift or Java.
Complete Hardware Support for Your App
Because they’re built with native functionality, apps built with Microsoft’s cross-platform tools can take advantage of native device functionality—push notifications, camera access, offline use, and more. The platform takes care
of hardware compatibility requirements.
Even more, you can tap into native libraries through the Xamarin/Microsoft development community. This way, you can eliminate reinventing the wheel and still get native-level functionality and customization options.
Best of Both Worlds: Open-Source Platform, But with Corporate Support
When Microsoft bought Xamarin in 2016, the Xamarin SDK (along with the libraries, runtime, and other tools) became open-source and available for developers to build on top of the existing toolset.
Yet there’s comfort in knowing that the cross-platform tools are backed by Microsoft’s enterprise-level interests, which makes it more reliable and predictable. For example, the Xamarin-to-MAUI change was announced more than a year ahead
of time, so we started to prepare.
Simplified, More Affordable Maintenance
If you’re a regular on the Far Reach blog, then you already know that we believe that the development of an application never really stops—unless you want to retire it completely, of course. Maintenance for mobile apps often includes additional
With cross-platform development, maintenance and adding new features can happen on your web application,
iOS app, and Android app at the same time. Since you can re-use up to 90% of the code, you can push updates faster and across all platforms—giving users a more consistent experience.
The Big Picture
We think about mobile apps as a larger part of a software strategy, which is why we’re
happy about the improvements in cross-platform development.
Are you looking to build a mobile app or another cross-platform technology? We’re versatile! Let’s talk about your upcoming mobile app.