Try our new research platform with insights from 80,000+ expert users
it_user879264 - PeerSpot reviewer
Mobile Practice Director
Real User
Significantly reduces development and test costs
Pros and Cons
  • "It has significantly reduced the skill barrier for development and testers."
  • "The most important impact is the reduction in product lifecycle costs."
  • "It significantly reduces development and test costs, and ensures that there is synergy between the platforms on product features and user experience."
  • "The worst build issue concerns are the caching process MSBuild uses to reduce the build time."

What is our primary use case?

We use Xamarin almost exclusively for development of native mobile applications, even when single platform. The development hardware that we use are MacBook Pros with 16GB RAM and min 500GB SSDs. We run Windows 10 in a Boot Camp partition and virtualized using parallels. We have Xcode installed on the iOS partition and Visual Studio 2017 installed on both Windows and Mac partitions, along with Android SDK and NDK.

We use Xamarin.Android and Xamarin.iOS for apps with a complex UI, and use Xamarin.Forms where applicable.

How has it helped my organization?

It has significantly reduced the skill barrier for development and testers. Our company is mostly a Microsoft stack house, so most developers either use, or are familiar with, C# and .NET. Removing the need to become proficient in two other languages, makes adoption easier. Though it should be noted that developers still have to become familiar/proficient with the iOS and Android SDKs and the lifecycles of the native apps.

The ability to reuse significant amounts of code between platforms, have a single code repository, and a single development team for all platforms has massive advantages. It significantly reduces development and test costs, and ensures that there is synergy between the platforms on product features and user experience. However, the most important impact is the reduction in product lifecycle costs.

What is most valuable?

It allows the development of truly native applications in C# using the power of .NET framework and Visual Studio.

Xamarin allows the same development and build environment to be used for all platforms and code to be controlled in a single code repository. Shared logic, such as business logic and models, can be shared between the platforms, which significantly reduces development, test, and maintenance efforts. Typically, this leads to around 75-80% code reuse between the platforms. If Xamarin.Forms can be used, then this reuse typically rises to around 95%.

Xamarin also leverages the full power of the .NET Framework, including things like lambdas, LINQ, properties, bindings, commands, etc. Lastly, it uses the Visual Studio IDE, by far the most powerful and complete IDE available, making development and maintenance much easier.

The Xamarin SDK provides C# bindings to all native iOS and Android SDK APIs, as well as access to the .NET framework and builds to a native package. The Xamarin Mono run time runs a .NET CSR alongside the native run time with a bridge between them, and handles memory management and garbage collection.

App behavior is completely native and performance is near native (depending on the app architecture, but can be even faster than native if the business logic is computationally intensive). App size and memory footprint is slightly larger than native, due to the need for the inclusion of the .NET and Xamarin libraries. In a debug build, this can be significant. However, in release mode, the build process uses a rigorous linking process which removed most of the unused classes and methods from the managed DLLs. As a result, the average app size increases in a release build by only 5 to 6MB.

What needs improvement?

The most common issues involved are with the IDE and build process. The worst build issue concerns are the caching process MSBuild uses to reduce the build time. It is unnecessarily complex (internally) and will sometimes leave cached files which should have been removed, even when a full solution clean is performed. The work around involves closing the solution and deleting some project folders. Occasionally, IntelliSense loses sync with the code and provides visual error indicators when no error exists.

Xamarin.Forms does have some short comings, especially surrounding performance. Launch time on Android is a particular issue because Xamarin.Forms loads all the external assemblies during initialization. Support for lazy loading or merging of assembles would significantly reduce this, but Microsoft is still committed to a solution. Support of platform specific behavior could also still be improved. However, I believe strongly that Xamarin.Forms is the future of cross-platform native mobile development.

Buyer's Guide
Xamarin Platform
October 2024
Learn what your peers think about Xamarin Platform. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
816,406 professionals have used our research since 2012.

For how long have I used the solution?

More than five years.

What other advice do I have?

I have been using Xamarin for about seven years, since before it was Xamarin (it used to be MonoTouch and MonoDroid).

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
reviewer1997040 - PeerSpot reviewer
Consultant/Software Engineer at a tech services company with 10,001+ employees
Real User
Great feature of wrapping old or native libraries into cross-platform libraries; excellent tech support
Pros and Cons
  • "The technical support is very good and it's close to native."
  • "The recent move to .NET MAUI is a big change that's affecting a lot of the good features."

What is our primary use case?

Xamarin is a framework for creating mobile applications. It can be deployed on any device for mobile app development. I am a user of this solution. 

What is most valuable?

This is a Microsoft-supported source platform so the technical support is very good and it's close to native. It's all compiled into related code and at the same time wraps old libraries or native libraries into cross-platform libraries which is great. I do a lot of proof of concepts, and part of the reason I like Xamarin is that I'm familiar with it and know my way around which saves me a lot of time. 

What needs improvement?

Xamarin is reaching its end of life and they're moving it to .NET MAUI, combining it with other platforms and creating a centralized framework. It's a big change that's affecting a lot of the good features and something they could have done in a more user-friendly way.

For how long have I used the solution?

I've been using this solution for six years. 

What do I think about the stability of the solution?

I have had times when I ran into bugs which can take some time to sort out. I found out the hard way that these bugs can often take quite some time to resolve and that's obviously not ideal.

What do I think about the scalability of the solution?

The solution is scalable, we can vertically build on top of it.

How are customer service and support?

Customer support is good. 

How was the initial setup?

The deployment is fairly straightforward. Since it's backed by Microsoft, the documentation is expensive. There are MVPs working around the clock to help get you up to speed, so implementation is a breeze. It's not really a problem. In that respect, it's much better than React Native. I've deployed this on my phone. 

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

Xamarin is open source, so it's free. If you're planning on development within a company, it might require purchasing the commercial version.

What other advice do I have?

Until relatively recently, I used this solution all day, every day, but at this stage it would not be my go-to choice and I'd now prefer Flutter or React Native. If you're starting something new and you have experience with .NET, and are already in the environment of the ecosystem, then I would say that you could potentially use Xamarin. But if you are coming from a JS perspective, then I would recommend Flutter. If you're production ready, go with Flutter or React Native. 

The solution has served me well and I rate it eight out of 10. 

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Xamarin Platform
October 2024
Learn what your peers think about Xamarin Platform. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
816,406 professionals have used our research since 2012.
Software Developer at Politecnico di Milano
Real User
Top 5Leaderboard
An open-source solution that is stable and scalable
Pros and Cons
  • "The initial setup is very simple."
  • "The solution always has room for improvement with price, integration, stability, and documentation."

What is our primary use case?

The primary use case of this solution is to reduce the development of applications. For example, when we develop an application for both Android and iOS, instead of writing two different applications using Java and Quest, we write everything in Xamarin Platform and that one application can run on Android and iOS.

What is most valuable?

The solution saves us time by containing all the development work in one application instead of two and it's well-documented. The solution is consolidated, meaning that it's been on the market for many years. Xamarin Platform is stable, it works, and it is very simple.

What needs improvement?

The solution always has room for improvement with price, integration, stability, and documentation.

For how long have I used the solution?

I have been using the solution for one year.

What do I think about the stability of the solution?

The solution is stable.

What do I think about the scalability of the solution?

The solution is used to develop apps for mobile devices so there is no limit. We have 10 developers using the solution in our organization.

How was the initial setup?

The initial setup is very simple.

What about the implementation team?

The deployment was completed in-house.

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

There is no license fee because the solution is open-source.

What other advice do I have?

I give the solution an eight out of ten.

I recommend the solution to others.

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Gurswak Singh - PeerSpot reviewer
Xamarin Developer at Beesolver Technology Pvt Ltd
Real User
Provides a tool kit that crossbreeds from hybrid applications and is user-friendly
Pros and Cons
  • "A single line of code works with android and iOS."
  • "The application platform could be improved."

What is our primary use case?

I'm a developer and we are customers of Xamarin. 

What is most valuable?

We are a 5-member team and Xamarin provides us with a tool kit that crossbreeds from hybrid applications. We write a single line of code that works both with android and iOS. It's a main feature of Xamarin and makes the product very user-friendly. 

What needs improvement?

The application platform could be improved. We've had some compatibility issues on the android side with the different versions although they work fine with iOS. The product lacks some controls and enhancements that would provide additional features that we need.

What do I think about the stability of the solution?

The solution is stable. 

How are customer service and support?

The customer support is quite good, they've helped me several times. 

How would you rate customer service and support?

Positive

How was the initial setup?

The initial setup is very straightforward. Implementation takes about an hour. 

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

This is an open-source solution and there are no costs on the Xamarin side. If you're using it with iOS then you need to purchase a membership which is about USD$100 per year. 

What other advice do I have?

I recommend Xamarin Platform, it's a good solution and I rate it eight out of 10. 

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Other
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Arif Imran - PeerSpot reviewer
Independent Cross Platform App Development Consultant
Real User
A free and open source mobile app platform with a valuable cross-platform development feature
Pros and Cons
  • "I think the best part about Xamarin is that you can create apps for both platforms using one source code. That's the most powerful feature. When you develop something for Android, it also builds for iVerse as well. The cross-platform aspect of Xamarin is unique. The ability to develop both apps with a single code base is something very unique."
  • "It would be better if they offered more certifications. They offer a number of certifications for Azure but none for Xamarin. This is something that could be provided for developers to show off their competency. Technical support could be better."

What is our primary use case?

We are using Xamarin for a messaging app and customer-facing end-user experiences. It's been great so far, and thankfully all the upgrades that happened throughout the year have led us to develop good UI.

What is most valuable?

I think the best part about Xamarin is that you can create apps for both platforms using one source code. That's the most powerful feature. When you develop something for Android, it also builds for iVerse as well. The cross-platform aspect of Xamarin is unique. The ability to develop both apps with a single code base is something very unique.

What needs improvement?

It would be better if they offered more certifications. They offer a number of certifications for Azure but none for Xamarin. This is something that could be provided for developers to show off their competency. Technical support could be better.

For how long have I used the solution?

I have been working with Xamarin since 2016. I'm very fortunate to have started working with Xamarin before Microsoft acquired it. I have been using Xamarin ever since.

What do I think about the stability of the solution?

Xamarin is a well-supported stable solution.

What do I think about the scalability of the solution?

Xamarin is very scalable. You can develop apps for hundreds or thousands of customers with the same code base. That is something very unique. I have a company that has a team of six Xamarin developers. They are all very experienced.

How are customer service and support?

Technical support could be better. We often get support from the community and only sometimes from the Xamarin team. They are not the best, but they are okay.

How was the initial setup?

The initial setup is straightforward. It wasn't earlier, but now it's pretty easy. You can deploy this solution with just a few clicks. Like any other app, if it's an automated deployment, it will probably take an hour or two. 

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

Xamarin is free. There is no license unless you go for some high-end enterprise features. Other than that, everything's free.

What other advice do I have?

I would tell potential users to look at the new updates coming in over the next three or four months, as those are critical. The best place for you to start with Xamarin is by following the contributors on YouTube. I know there are many paid courses, but they aren't good or worth the money. It's best to take a course directly provided by the content creator or contributor.

On a scale from one to ten, I would give Xamarin an eight.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Valmik Magar - PeerSpot reviewer
Sr.Xamarin Developer at SculptSoft
Real User
High availability, scales well, and good dashboard
Pros and Cons
  • "The most valuable feature of the Xamarin Platform is that both the UI are the same in Android and iOS, in one project and Android and iOS, are applications for developing PCL projects. Additionally, the dashboard is good."
  • "The Xamarin.Forms could improve."

What is our primary use case?

I am using the Xamarin Platform because I am using Visual Studio or Xamarin Studio.

What is most valuable?

The most valuable feature of the Xamarin Platform is that both the UI are the same in Android and iOS, in one project and Android and iOS, are applications for developing PCL projects. Additionally, the dashboard is good.

What needs improvement?

The Xamarin.Forms could improve.

For how long have I used the solution?

I have been using the Xamarin Platform for approximately two years.

What do I think about the stability of the solution?

Xamarin Platform is stable.

What do I think about the scalability of the solution?

The scalability of the Xamarin Platform is good.

We have four developers using this solution in my organization.

How are customer service and support?

I have not contacted the support from Xamarin Platform.

How was the initial setup?

The initial setup of the Xamarin Platform is easy and takes one day.

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

Xamarin Platform is a free open-source solution.

What other advice do I have?

This is a good platform.

I rate Xamarin Platform an eight out of ten.

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Works at D’aprile Properties
Real User
Well-integrated with Visual Studio so it will feel very familiar to you once you start
Pros and Cons
  • "Their leadership is exceptional at both listening to the customer base and delivering innovative, best-in-class products."
  • "Being able to use the .NET framework and platform have me creating applications better than anyone who develops on Windows."
  • "Xamarin is well-integrated with Visual Studio so it will feel very familiar to you once you start."
  • "There is limited support for UX widgets."
  • "There are compatibility issues between versions of various Xamarin components."

What is our primary use case?

Xamarin helped us to develop a cross platform mobile app with less time and resources. 

How has it helped my organization?

Managing code is useful using TFS, so a separate code managing software was not required. Authenticating user to app is easy using Azure authentication, which is supported in Xamarin

What is most valuable?

Provides a wide variety of technical work and some interesting problems to solve. 

Being able to use the .NET framework and platform have me creating applications better than anyone who develops on Windows. 

Being able to use Visual Studio means development gets to use the best IDE currently available.

Xamarin is well-integrated with Visual Studio so it will feel very familiar to you once you start. 

What needs improvement?

There is limited support for UX widgets. Also, there are compatibility issues between versions of various Xamarin components.

For how long have I used the solution?

Less than one year.

What do I think about the stability of the solution?

The new go-to-market with Microsoft is different. It will require some adapting.

How is customer service and technical support?

They are genuine, smart, and action-oriented people across the board!

What was our ROI?

It saved a lot of time and resources needed to develop a cross platform mobile app.

What other advice do I have?

If you are already heavily invested in the .NET platform and C# development, Xamarin is the quickest way to make native iOS apps.

Their leadership is exceptional at both listening to the customer base and delivering innovative, best-in-class products. A company that takes great care of its people. 

Xamarin has just been bought by Microsoft. What an endorsement!

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
System Analyst at Intersoft Data Labs
Real User
I can develop apps for iOS and Android without migrating to Objective-C or Java
Pros and Cons
  • "For me, developing apps for iOS and Android is a dream came true, without migrating to Objective-C or Java. Xamarin enables me to do so."
  • "Test Cloud, Calabash, SpecFlow, and Xamarin.UITest are the features which can’t be ignored because just writing code doesn’t mean your app will run flawlessly. You need to test your app on each possible device and configuration, which you can do easily."
  • "Plugins like MvvmCross make a developer’s life easy."
  • "All Xamarin library issues need to be taken care of as a top priority."
  • "There is room for increasing the scale a little bit further with the designer in the Visual Studio, more specifically, Xamarin.Android Designer in Visual Studio."

What is our primary use case?

Let’s take an example of a simple restaurant App which needs to be developed for each platform (iOS, Android, Mac, and Windows). Xamarin gives you the power to produce a quick proof of concept where you can use Xamarin.Forms and have your app ready within some days for each platform, using only one Xamarin developer. Otherwise, you need different native developers to have your app developed for each Platform. 

How has it helped my organization?

I have been using Xamarin Platform for four years and learning new things each day. Being just an Asp.NET C# developer, I feel more confident because, for me, developing apps for iOS and Android is a dream came true, without migrating to Objective-C or Java.

Also, it’s cost-effective when you don’t require more native developers for each platform. You can train one C# developer for Xamarin using free resources or even provide paid training, and he or she alone can deliver your apps for each platform.

What is most valuable?

Test Cloud, Calabash, SpecFlow, and Xamarin.UITest are the features which can’t be ignored because just writing code doesn’t mean your app will run flawlessly. You need to test your app on each possible device and configuration, which you can do easily.

And how can I forget plugins like MvvmCross, which make a developer’s life easy.

What needs improvement?

I would say that every technology has room for improvement, Xamarin Platform is no exception. All Xamarin library issues which need to be taken care of should be top priority. Sometimes it becomes clumsy when there are a lot of things going on in your project or solution and you need to take care of business logic in parallel. On top of everything, providing only wrapper classes does not make a developer’s life easy.

So yes, there are improvements going on and they will need to continue to improve in the future as well.

For how long have I used the solution?

Three to five years.

What do I think about the stability of the solution?

As far as my experience with Xamarin, I’ve found no issues with the stability, if you have the right people working with you. It’s always easy to criticize a technology and it amazes me to see people out there criticizing some technology just because they couldn’t use it properly.

Over time it has created a revolutionary change in the technology and market. In our case, we were able to deliver projects on time and that’s what matters in the end. Maybe we have faced some issues but it would not be nice to say that Xamarin is not a stable technology. As a matter of fact, it is very stable, and they're working on making it more and more stable each day.

What do I think about the scalability of the solution?

People are flying radio-controlled drones and aircraft as a hobby with the help of apps which were developed using Xamarin technology. Yes, there is room for increasing the scale a little bit further with the designer in the Visual Studio, more specifically, Xamarin.Android Designer in Visual Studio.

How is customer service and technical support?

I would rate technical support at eight out of 10. There are communities like Xamarin Forums and Stack Overflow that will possibly give you answers. If you are a developer you know exactly what I am talking about.

How was the initial setup?

In the very beginning, it was a bit complex because I was using Visual Studio 2015 which doesn’t come with a Xamarin module like Visual Studio 2017; you need to add it manually.

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

If you plan smartly enough I think you will save some bucks for sure. You don’t need different native developers for each platform as Xamarin comes with cross-platform development so that’s an advantage.

What other advice do I have?

I would rate Xamarin Platform an eight out of 10 because, while developing applications using Xamarin Platform you will come across some library issues which need to be taken care of first. But I would strongly recommend Xamarin Platform because it’s a reliable technology compared with what is out there in the market and a plus-point is support for C# language. 

My only advice is that you please do a proof of concept before diving straight into development. It is always good to see beyond what you want and the requirements of your project. First, do some benchmarking of the requirements and then go for implementation of your solution.

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