Cross-Platform Development
Xamarin allows developers to write code once and deploy it across multiple platforms (iOS, Android, and Windows), which can significantly reduce development time and effort.
Native Performance
Apps built with Xamarin perform as well as native apps because they leverage platform-specific hardware acceleration and compile directly to native ARM assembly code.
Shared Codebase
With Xamarin, developers can use a single codebase for different platforms, making it easier to maintain and update apps across multiple operating systems.
Large Ecosystem
As part of the broader .NET ecosystem, Xamarin benefits from a large collection of libraries, tools, and developer resources provided by Microsoft.
Strong Community Support
Xamarin has a strong developer community and comprehensive documentation, making it easier for developers to find support and resources.
Integration with Visual Studio
Xamarin integrates seamlessly with Visual Studio, providing a robust development environment complete with debugging, profiling, and unit testing tools.
Xamarin is a good choice for developers who are entrenched in the Microsoft ecosystem and are looking to create cross-platform mobile applications using a shared codebase. Its native performance, extensive library support, and community backing make it a viable option. However, it's crucial to consider the specific needs of your project, including performance requirements and platform-specific features.
We have collected here some useful links to help you find out if Xamarin is good.
Check the traffic stats of Xamarin on SimilarWeb. The key metrics to look for are: monthly visits, average visit duration, pages per visit, and traffic by country. Moreoever, check the traffic sources. For example "Direct" traffic is a good sign.
Check the "Domain Rating" of Xamarin on Ahrefs. The domain rating is a measure of the strength of a website's backlink profile on a scale from 0 to 100. It shows the strength of Xamarin's backlink profile compared to the other websites. In most cases a domain rating of 60+ is considered good and 70+ is considered very good.
Check the "Domain Authority" of Xamarin on MOZ. A website's domain authority (DA) is a search engine ranking score that predicts how well a website will rank on search engine result pages (SERPs). It is based on a 100-point logarithmic scale, with higher scores corresponding to a greater likelihood of ranking. This is another useful metric to check if a website is good.
The latest comments about Xamarin on Reddit. This can help you find out how popualr the product is and what people think about it.
I haven't been following .NET lately, but AFAIK .NET works on Linux now and "Mono" is basically .NET for Linux... What even are the differences? Sounds like Microsoft just doesn't want to maintain 2 different versions so they're dumping it. Also, > Microsoft became the steward of the Mono Project when it acquired Xamarin in 2016 They probably never even wanted Mono, they just inherited it because they wanted... - Source: Hacker News / 3 months ago
Mobile Applications: With Xamarin, a cross-platform mobile development framework, developers can write C# code to build native Android, iOS, and Windows mobile applications. - Source: dev.to / about 1 year ago
Xamarin - Basically an older version of MAUI. I would advise against creating new projects on Xamarin since MAUI is supposed to render it obsolete. Source: over 2 years ago
Microsoft Xamarin: For this you'll need to know C# and .net. Source: over 2 years ago
At my internship, we moved to Microsoft's Visual Studio for C# development from Java, and for application development we use Xamarin which can be used on Windows and Mac. Source: over 2 years ago
Of course, Unity is better with games. So, alternatives include MAUI, which is the new hip thing that Microsoft wants people to switch to. There is also WPF, WinForms, UWP, and Xamarin, which are compared nicely in this Reddit thread. Source: almost 3 years ago
A bit later, Microsoft made their answer in the form of Xamarin, which got a lot of popularity. Xamarin is an open-source mobile app development platform later incorporated into Visual Studio. Xamarin allowed you to use C# to write business logic. Instead of HTML and CSS, it offered its markup language, XAML, which maps to the visual elements of the corresponding operating system. These were already much more... - Source: dev.to / almost 3 years ago
You can totally go down the route or learning to do native iOS development using Apple provided SDKs, another commented pointed out some resources there. However, if you have C# experience already, why not look into Xamarin? Source: almost 3 years ago
Dash/plotly have done interesting things with Python -> React, but I expect this to increase with the implementation possibilities of things like Pyodide, as there is a gaping hole for something like both Blazor and Xamarin/MAUI for Python, but these things take a lot of work to make, and I'm not surprised that an open source ecosystem takes a bit longer to have these appear than a big behemoth like Microsoft's... Source: almost 3 years ago
For non-games, C# can also be used with Xamarin and MAUI, both created by Microsoft, with MAUI being the successor of Xamarin. Source: almost 3 years ago
I too tried to learn Java for Android development, later I found Xamarin (https://dotnet.microsoft.com/en-us/apps/xamarin) using which you can write native Android and iOS applications in C#. Currently Microsoft offer MAUI (https://dotnet.microsoft.com/en-us/apps/maui) for cross-platform development. Source: almost 3 years ago
Xamarin is part of the .Net ecosystem - so if that is your choice of direction - there lots of developers and a large community of support for C# and Xamarin both. here is a link to the MS site - https://dotnet.microsoft.com/en-us/apps/xamarin. Source: about 3 years ago
First, I have only a vague idea how to do something like this with C#. I'm thinking it'd be an Android app with Xamarin that somehow gets around Android's permissions to simulate touches on another app. Most of the work of this project would be learning specific libraries, and you've got to be pretty comfy with C# before that. Source: about 3 years ago
I mean you can do iOS development in C#... https://dotnet.microsoft.com/en-us/apps/xamarin. Source: about 3 years ago
The application is written in C# using Xamarin, which allows to deliver a cross-platform mobile application that can run in Windows, Android, and iOS among other platforms. - Source: dev.to / over 3 years ago
Mono still exists and is not deprecated. In fact, Mono is used by the Unity gaming engine. Xamarin, the .NET-based platform for developing iOS and Android applications, also uses Mono (although they may be switching to the official .NET soon). Mono will also likely be used indefinitely by pre-existing free software such as Tomboy. - Source: dev.to / over 3 years ago
C# has big potential to be used in Mobile Development. Knowing there are so many different types of platforms that users use sometimes code will have to be re-created for different platforms for example IOS and Android. However, with C# and another program that uses C# we can use the same code for both platforms. This program is called Xamarin. A nice helpful link to Xamarin.. With Xamarin this allows for... - Source: dev.to / over 3 years ago
There’s also Xamarin. Uses C# and dotnet. You can choose between native widgets and platform-agnostic. https://dotnet.microsoft.com/apps/xamarin. - Source: Hacker News / almost 4 years ago
Context: I want to try to learn a programming language, and C# is of interest for me. It looks like it is a decent option to develop desktop applications (on Windows, Mac, and Linux) as well as mobile applications. Source: almost 4 years ago
I think that Xamarin would be the more appropriate choice there, as it's an app-building framework rather than a game framework (at least, assuming that OP is trying to build an app and not a game). But conceptually it's just like React Native or Flutter; something that lets you build a cross-platform app in a single language/framework. Source: almost 4 years ago
You'd need to use a language and a framework that supported making ios apps. You could do this with Python using Kivy, JavaScript/TypeScript using React-Native, C# using Xamarin, Dart using Flutter, etc etc. There are tons of options depending on which language you know. Some of those options are easier than others. Source: almost 4 years ago
Xamarin, a Microsoft-owned cross-platform app development framework, continues to command attention in the app development landscape. As a tool primarily designed for creating native iOS, Android, and Windows applications, Xamarin occupies a specialized niche, leveraging the .NET ecosystem and C# language. The framework, though lauded for its robustness and integration capabilities, evokes a diverse array of opinions among developers and technology platforms, reflecting a balance of strengths and challenges.
Cross-Platform Consistency: Xamarin is celebrated for its ability to streamline the development process by enabling code sharing across various platforms. Up to 95% of the code can be reused, significantly improving development efficiency and reducing time-to-market.
Integration with Visual Studio: As a Microsoft product, Xamarin seamlessly integrates with Visual Studio, offering developers a familiar and powerful Integrated Development Environment (IDE). This provides a comfortable setting for those already embedded within the Microsoft ecosystem.
Native Performance and UI Flexibility: By facilitating access to native APIs and toolkits, Xamarin allows developers to achieve near-native performance. Its use of the XAML language supports flexible and powerful UI design, making it a top choice for those seeking to build visually appealing and responsive applications.
Active Community and Support: The Xamarin community is described as vibrant and helpful, offering numerous resources such as tutorials, forums, and official channels like YouTube to assist developers in overcoming obstacles.
Learning Curve: For developers coming from a primarily web-oriented background, stepping into the Xamarin environment can be challenging. Mastering C# and managing the intricacies of memory and garbage collection are often cited hurdles.
Complexity in Memory Management: Developers acknowledge that achieving optimal app performance requires diligent attention to Xamarin apps' memory management and garbage collection, which can be more complex than in other frameworks like Flutter.
Transition to .NET MAUI: With the introduction of .NET Multi-platform App UI (MAUI), Xamarin faces the challenge of obsolescence. MAUI is seen as the successor to Xamarin, prompting some to recommend newcomers to consider MAUI for new projects instead of Xamarin.
Skillset Limitations: Given that C# is predominantly used within the Microsoft ecosystem, there’s a perception that finding developers proficient in Xamarin can be more difficult, particularly for startups lacking the resources to train new hires.
Market Position: While Xamarin is praised for its capability to produce native and high-performance apps, the shift towards frameworks like React Native and Flutter, which offer similar benefits with different languages and paradigms, poses stiff competition.
Xamarin’s standing as a potent tool for cross-platform development is evident from its nuanced reception in the tech community. Its seamless integration with Microsoft's broader ecosystem renders it a persuasive option for developers entrenched in .NET and C#. However, balancing its strengths against challenges such as the steep learning curve and the emergence of MAUI is crucial for potential adopters. With the evolving landscape of app development, Xamarin remains a compelling choice for those prioritizing native performance and Visual Studio integration, even as it faces the need to adapt amidst new technological shifts.
Do you know an article comparing Xamarin to other products?
Suggest a link to a post with product alternatives.
Is Xamarin good? This is an informative page that will help you find out. Moreover, you can review and discuss Xamarin here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.