Introduction
Most app programmers start with one platform – Windows, Android, or Apple. Yes, some start with Unix or Linux, but that is another topic. Once you write and deploy an app, you might start thinking about how nice it would be if you could reach the other platforms. This is especially true if you are a Windows based developer. There are still many Windows based desktops out there, but there are so many more Android and Apple mobile devices. How can you reach the broader base of customers?
Jack of All Trades
You could try to learn all three platforms yourself. Each platform has its own preferred language, software development kit, and tools. Platforms are constantly changing making it hard to stay current or become an expert in all three platforms. You will spend more time trying to learn, remember, and adapt your program than you will spend actually developing the program.
Hire it out
You could hire different teams to develop on each platform. You’ll have to spend the same money three times to produce one cross-platform app. You may use the exact same design and requirements for each platform but end up with three very different versions of the same app. The look and feel may not be the same. One platform may have more or less functionality than another. One platform may behave differently than the others. And finally, each will have a unique set of bugs to fix.
Xamarin Forms
My preferred solution is Xamarin and specifically Xamarin Forms. It is a cross-platform development tool that allows you to write an app once and deploy it to Windows, Android, or Apple stores. Xamarin takes advantage of the fact that the UI of each platform has similar components with variations that can by accommodated behind the scenes.
It works well for me because I already know C#. I’ve spent years developing on the Windows Platform. Xamarin allows me to leverage that experience and apply it to other platforms without the need to learn new languages. Even if you don’t already know C#, you might find the following benefits compelling enough to learn.
Top 5 reasons to use Xamarin Forms
Less Complexity
The majority of code is shared in a Xamarin Forms app. The backend functionality and logic is reused on each platform. The user interface is written once. You can share as much as 95% of your code in a simple app or an average of 75% with more complexity. There are some nuances to learn within Xamarin, but it’s far easier to learn Xamarin than to learn multiple new programming languages. The reduction in complexity creates other benefits.
Quicker Time to Market
Less complexity means you can get to market quicker. You won’t have three different sets of backend code to test. You won’t need to wait to synchronize different teams of platform developers. Not to mention you can roll out new features more quickly and easily.
Uniform Customer Experience
Sharing backend and user interface code means that your app will behave and appear the same or very similar on each platform. All of the platforms share very similar visual elements, layouts, and controls. Some of your customers may switch between using a Windows desktop to an iPhone or an Android tablet. Maintaining a uniform experience will cut down on the frustration of remembering how to use the same app on different platforms or remember which features exist where. A uniform customer experience can yield happy customers.
Native Apps
The app you create will run natively on each platform. Having a native app means you have an app written for the platform you are using. You don’t have to load special interpreters or do any special setup on the client device. You write the code and Xamarin builds your app to run natively on each platform. This means your app written in C# will run like an app written in Java on Android or Swift on Apple devices.
Support
Xamarin is backed by Microsoft. Microsoft has heavily invested in Xamarin. There is a significant team within Microsoft dedicate to Xamarin. The Xamarin site has tons of information, examples, guidance, and training. There is a large and vibrant community. Any problem you run into typically has a solution that can be found in a simple search. Getting started is easy with the training available online. Xamarin supports the latest version of Windows, Android, and iOS almost as soon as new platform updates are issued.
Conclusion
Xamarin Forms is a fabulous tool designed for developing an app once that can run on multiple devices running Microsoft Windows, Android, or Apple iOS. It gives you the ability to reach a larger audience more quickly with less investment while maintaining a stable and uniform customer experience. Xamarin is backed by Microsoft with a large community of support. Xamarin is what I use to develop apps and I recommend you give at a try.
Leave a Reply