Xamarin Mobile Application Development – Choosing the Right Platform

Even in a small company you can quickly lose track of everything that is going on. Sure, you can hire people to handle the smaller details so that you can focus on the “big picture”, but even this is made up of tiny details. When choosing the right mobile development platform, how do you solve this dilemma?

Choose a platform? I would rather walk the plank!

If you want to start something close to a war, walk into your IT department and ask which mobile platform you should go with (I’ll wait right here…at a safe distance)! As much as we love choice, it can cause massive headaches. However, choices have to be made all the same, and through this article, we’ll show the benefits of choosing Xamarin mobile application development. But first, some prelude…

Recently I was on a project that wanted to introduce mobile applications for work orders and time entry into their business. Their workforce is in the field, scattered, and highly mobile. So they were looking at cellular-enabled iOS or Android tablets, and they eventually chose a Windows Mobile device. What?!? I was surprised, too, and intrigued.

Smartbridge is a Xamarin Partner

Why the sudden dark-horse option? Most of the selection criteria made it an even race for an iOS or Android device, but there was one point that was realized late in the process that changed the direction. Users in the field still need to use Windows-specific applications to interface with specialized hardware. So do you give them a laptop AND a tablet? No, you go with the device that meets the needs. However, your requirements may be very different – you may not even require a specific device.

Benefits of Xamarin Mobile Application Development

Now, let’s examine how Xamarin handles this disparity. Applications are written in one language (C#) so you can use existing skills, teams and code. C# is a strongly typed object-oriented language that can use already-existing .NET libraries and components. Development can be done in Visual Studio if your developers are on Windows, or Xamarin Studio if your developers are on a Mac. Your choice, or lack of choice, can now be more directly determined by your business needs and not by the idiosyncrasies of a platform.

I don’t want to repeat myself… I don’t want to repeat myself

Even when devout practitioners meticulously hand-copied sacred texts, variations and errors still crept in. With multiple platforms in the mix (iOS, Android, Windows, and web) do you want all of the business rules and logic recreated for each platform? If so, know that something WILL be lost.

With Xamarin mobile application development, apps are written in C# and compiled against the .NET runtime. This means that all of the important, mission-critical parts of your application only have to be written once – having that code in a Portable Class Library (PCL) means that it’s not a copy of the same code on another platform, it is the same code.

When the rules change, that PCL is recompiled and shared between applications. Using the same language, APIs, and data structures allows you to share an average of 75% of app code across the supported platforms. For mobile applications on Android, iOS, and Windows, this percentage can be increased by utilizing Xamarin.Forms for building common UI. Remember, sharing is caring … which means no duplication!

enterprise mobility with xamarin

Credit: Xamarin

Your users are already being trained. Don’t rearrange the keys on their keyboard!

How much are you budgeting for training? Not just money – time as well. Training ranks right up there behind User Documentation as one of the most rushed parts of a project. It’s too often crammed into those last few weeks before roll-out and depends heavily on the project being on time, which is rare…still never enough time or money.

Training IS very important but what if you didn’t have to do all of it? Or pay for all of it? What if your users would train themselves eagerly? Done. At least, partially. You have to do your part (always a catch). When you consider mobile applications, don’t ignore the millions of apps on the App Store. You don’t have to try them all, just know that they exist. Know that they are being used and consumed all day, every day and use that to your advantage.

Each platform looks and behaves a certain way. Your users are training themselves every day on how to use their platform of choice: tabs, hamburger menus, slide-overs, carousels. They are swiping, flicking, pinching, and zooming. Do you want your data fast? Then don’t throw clunky UI roadblocks in the way! When you force all of your applications to look and behave the same way across multiple platforms, then you are clearly stating that you either want to spend more time and money training your users or you don’t care how long it takes them to accomplish their task.

Don’t believe me?

Hand an Android device to an iOS user- or any combination of platforms and users of another platform. Sure they can do it, but it slows the user down. Build applications that make sense to your user.

Xamarin starts with C# wrappers around the native UI APIs. The application looks like the native UI because it is the native UI. It is compiled and not interpreted, so it is fast and can take advantage of any hardware acceleration on the device. Users hate sluggish apps – don’t give them one!

The UI code can be written independently for each platform or it can be written using Xamarin.Forms which provides for a common UI language that translates to native controls on the platform. Xamarin.Forms can be written as C# code or using XAML, an HTML-like markup that makes building a unified UI much easier. For more information about XAML in Xamarin, see this blog post.

Xamarin Mobile Application Development

In the end, it comes down to this…

Consider what makes up your business. It is the ideas, the processes, the decisions, and the work, all coming together – but if you don’t know about it then you can’t use it. A mobile application that stands on its own can be useful. The calculator app is used frequently, but it is limited in scope. Your business must be much broader than that. To do that, you need to connect. You need your field data talking to your sales data talking to your ERP system talking to YOU.

I keep mentioning the three primary mobile platforms, but how many can you name for the middleware and back-end? So many! This is where the data meets the crunching! From a mobile perspective, the choice is clear: you need to talk to as many of them as possible! Since so many platforms now rely on standard communication protocols, it is easier to find libraries that connect to a wide range of systems. There are multiple components available to connect Xamarin mobile application development efforts with other systems, such as Oracle Mobile Cloud Services, Microsoft Azure, Amazon Web Services, IBM MobileFirst, SAP, and Salesforce.

Other enterprise systems, such as JD Edwards EnterpriseOne, Salesforce, and enterprise data stores, can be accessed using REST services over HTTP. With Xamarin being adopted across the enterprise landscape, these options will continue to expand.

Choosing a mobile platform can be as easy as it is hard. That was meant exactly as it sounds: confusing. Building the application(s) for your platform(s) can be easier. Xamarin has proven itself as a solid, flexible and capable application development platform. It builds upon a solid foundation and experienced user base to deliver great-looking, high performance applications that can fulfill your business needs.

Looking for more on Xamarin?

Explore Xamarin and other mobile app development solutions at smartbridge.com/modernization

There’s more to explore at Smartbridge.com!

Sign up to be notified when we publish articles, news, videos and more!