Dart vs Xamarin: What are the differences?
What is Dart? A new web programming language with libraries, a virtual machine, and tools. Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.
What is Xamarin? Create iOS, Android and Mac apps in C#. Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch.
Dart can be classified as a tool in the "Languages" category, while Xamarin is grouped under "Cross-Platform Mobile Development".
Some of the features offered by Dart are:
- Dart’s comprehensive libraries give you lots of choices
- Pub package manager
On the other hand, Xamarin provides the following key features:
- Cross-platform development- Thinking about supporting iOS, Android, Mac and Windows? Xamarin allows you to write it all in C#.
- Reuse existing code- Use your favorite .NET libraries in Xamarin apps. Easily use third-party native libraries and frameworks.
- Discover as you type- Explore APIs as you type with code autocompletion.
"Backed by Google" is the primary reason why developers consider Dart over the competitors, whereas "Power of c# on mobile devices" was stated as the key factor in picking Xamarin.
Olo, Crowdkeep, and GoFormz are some of the popular companies that use Xamarin, whereas Dart is used by Google, Hybrid Heroes, and Blossom. Xamarin has a broader approval, being mentioned in 75 company stacks & 66 developers stacks; compared to Dart, which is listed in 19 company stacks and 78 developer stacks.
What is Dart?
What is Xamarin?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I use Dart because it is a fast, modern language with an intuitive package manager and syntax similar to Java, while less verbose (i.e. public by default,
_ in front of a variable, class, etc. to be private). Dart has an excellent asynchronous syntax making asynchronous calls such as filesystem interaction or HTTP requests simple and concise.
Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.
This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!
But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?
I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.
Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...
I'm working in Huge company and I'm in charge to choose the cross-platform environment to develop Mobile application for all our services. I choose Xamarin but because the error i get everytime in Visual Studio, I want to leave it and recommand another solution. In fact that's why I'm here.
Weird, Install VS2017 with Xamarin on a new PC Create a new app GOT ERRORS.....!!!!!
Thank you for considering this
Xamarin enables us to develop for 3 platforms (iOS, Android and Windows Phone) with one core codebase coded in C#. Xamarin has allowed us to release an app on all three platforms and develop them simultaneously - not bad for a team of 2!
Self taught : acquired knowledge or skill on one's own initiative. Platform: OSX 10.8 or later. Mac computer user.
Build & ship OS X & iOS apps from Visual Studio on Windows. Requires paid team license.