Xamarin Platform Review

Helps reduce overhead significantly through code-share and reuse

What is our primary use case?

The primary use case at Seamgen for the Xamarin platform is to create forms or data-driven apps that utilize mostly stock UI components and benefit greatly by sharing a common core software layer for data processing and handling.

How has it helped my organization?

With the help of Xamarin.Forms, we can effectively realize a cross-platform app with a very small team of 1-2 developers, targeting both iOS and Android platforms.

In a purely native development environment, you would typically find a developer specializing in one of the major platforms. If the objective is to create a mobile experience for more than one platform at the same time, you typically need distinct resources for each platform. Often times they create the same code/logic in different programming languages for each platform. In this scenario, the Xamarin platform can reduce overhead significantly through code-share and reuse. The typical team size for a Xamarin project is significantly reduced compared to purely native projects.

What is most valuable?

The ability to share a platform-agnostic common core, or business logic, enables a mobile developer to write code for all targeted mobile platforms, independent of the individual developer's specialization in iOS, Android, or Windows. This helps not only during development but also enables easier maintenance of deployed apps, since bug fixes or feature additions can be often made in the platform-agnostic layer.

What needs improvement?

Xamarin's profiling tools are only available for the highest tier of MSDN subscription and compatibility with platform-native profiling tools is rather lacking. This causes friction when working on performance-related issues.

For how long have I used the solution?

Three to five years.

What do I think about the stability of the solution?

While working with the Xamarin framework at Seamgen, we do not encounter any major stability issues in the framework itself. However, we do recommend testing any third-party component for fitness, because it is fairly easy to incur stability issues by importing external components or libraries.

What do I think about the scalability of the solution?

Outside of the general issues that come with bigger development teams, the Xamarin framework added no extra overhead.

How are customer service and technical support?

Before Microsoft acquired Xamarin, the technical support was excellent. The acquisition added some noticeable friction and the transformation period for long-running Xamarin customers to the Microsoft environment wasn't the smoothest.

Which solution did I use previously and why did I switch?

At Seamgen, we evaluate which framework and platform are the most viable to achieve our client's goals on a per-project basis. We do not default to any one set of tools for everything. We work on many projects where Xamarin is not suitable.

How was the initial setup?

The initial setup is very well documented and there are plenty of resources available to hit the ground running if you are an experienced developer already. For beginners, the entire setup can be overwhelming because it involves setting up development environments for iOS, Android, and Windows at the same time if you want to target all three.

What's my experience with pricing, setup cost, and licensing?

Xamarin is available under several licensing arrangements. Each developer needs one license at least. To access all features, especially the Profiler, you need the highest tier.

Which other solutions did I evaluate?

We do evaluate other options like PhoneGap, Itanium, React Native, Cordova and the like, not only against the technical requirements of each project but also against the particular requests of our clients.

Compared to alternative cross-platform development frameworks for mobile (i.e. Appcelerator, Cordova, Ionic, React Native, etc.) we consider Xamarin the most viable option in most cases.

What other advice do I have?

We have been using Xamarin for over four years on multiple app projects of varying sizes, complexity, and code-reuse, ranging from fully featured custom UI social networking applications to data-driven forms apps with a maximum degree of codeshare and minimal UI.

Xamarin can sure look like the one hammer that makes every project look like a nail, but it is not. Here at Seamgen, we consider it another tool in our toolbox, suitable to successfully realize our customer's ideas.

Disclosure: I am a real user, and this review is based on my own experience and opinions.

Add a Comment