The Xamarin acquisition was one of Microsoft’s smartest deals. It quickly gave it access to tools that let developers use familiar tools and technologies to build cross-platform applications. Now built into every version of Visual Studio, and providing the basis for its MacOS Visual Studio release, Xamarin has become a key element of Microsoft’s development tools.
Until recently—even with Xamarin—building cross-platform applications wasn’t easy. For all that the core development tools handle working with iOS and Android from .Net, using it to build apps meant having significant amounts of device-specific code to handle both native UX and deep platform integration. Although you could keep your core code across device-specific projects, building and testing the full application required domain knowledge and specialized skills. The result was code that, although a little cheaper than using native tools for each platform, really wasn’t as cheap to build as it could have been.
Cross-platform UI and device integration with Xamarin
Microsoft’s platform developers have been working to get around this financial and personnel bottleneck, first with Xamarin Formsand now with the beta release of Xamarin.Essentials.
Xamarin Forms takes care of most of the user interface side of the problem, providing common controls that are rendered appropriately on each supported platform. You can write code, lay out controls and then build versions for all your target devices. While it’s a lowest common denominator approach, it offers controls that fill many of the enterprise application development requirements. You might not want to ship a Xamarin Forms app to users, but it’s more than adequate for in-house apps, such as for sales and for field service.