Blog

All Blog Posts

Cross-platform App Development—Why It’s Often Your Best Bet

Cross Platform Development Far Reach

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.


Curious to see how mobile fits into your bigger software strategy?

Check out our guide to help you decide.

 


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.

Rooted Carrot Mobile App

 

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:    

Shared Codebase

With cross-platform development, you use one codebase for all the platforms—desktop, web, iOS, Android. We can develop in the .NET tools and custom integrations 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 development.

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.