Need advice about which tool to choose?Ask the StackShare community!
Electron vs Xamarin: What are the differences?
Developers describe Electron as "Build cross platform desktop apps with web technologies. Formerly known as Atom Shell, made by GitHub". With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor. On the other hand, Xamarin is detailed as "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.
Electron belongs to "Cross-Platform Desktop Development" category of the tech stack, while Xamarin can be primarily classified under "Cross-Platform Mobile Development".
Some of the features offered by Electron are:
- Use HTML, CSS, and JavaScript with Chromium and Node.js to build your app.
- Electron is open source
- maintained by GitHub and an active community.
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.
"Easy to make rich cross platform desktop applications" is the top reason why over 50 developers like Electron, while over 111 developers mention "Power of c# on mobile devices" as the leading cause for choosing Xamarin.
Electron is an open source tool with 74.4K GitHub stars and 9.72K GitHub forks. Here's a link to Electron's open source repository on GitHub.
Slack, WebbyLab, and triGo GmbH are some of the popular companies that use Electron, whereas Xamarin is used by Rdio, Olo, and Rumble. Electron has a broader approval, being mentioned in 213 company stacks & 366 developers stacks; compared to Xamarin, which is listed in 74 company stacks and 65 developer stacks.
Pros of Electron
- Easy to make rich cross platform desktop applications69
- Open source53
- Great looking apps such as Slack and Visual Studio Code14
- Because it's cross platform8
- Use Node.js in the Main Process4
Pros of Xamarin
- Power of c# on mobile devices121
- Native performance81
- Native apps with native ui controls79
- No javascript - truely compiled code73
- Sharing more than 90% of code over all platforms67
- Ability to leverage visual studio45
- Mvvm pattern44
- Many great c# libraries44
- Amazing support36
- Powerful platform for .net developers34
- GUI Native look and Feel19
- Nuget package manager16
- Free12
- Backed by Microsoft9
- Enables code reuse on server9
- Faster Development8
- Use of third-party .NET libraries7
- It's free since Apr 20167
- Best performance than other cross-platform7
- Easy Debug and Trace7
- Open Source7
- Mac IDE (Xamarin Studio)6
- Xamarin.forms is the best, it's amazing6
- That just work for every scenario5
- C# mult paradigm language5
- Power of C#, no javascript, visual studio5
- Great docs4
- Compatible to develop Hybrid apps4
- Microsoft stack4
- Microsoft backed4
- Well Designed3
- Small learning curve for Mobile developers3
- Ionic2
- Ability to leverage legacy C and C++2
Sign up to add or upvote prosMake informed product decisions
Cons of Electron
- Uses a lot of memory18
- User experience never as good as a native app8
- No proper documentation4
- Does not native4
- Each app needs to install a new chromium + nodejs1
- Wrong reference for dom inspection1
Cons of Xamarin
- Build times9
- Visual Studio5
- Price4
- Complexity3
- Scalability3
- Nuget2
- Maturity2
- Build Tools2
- Support2
- Maturidade0
- Performance0