Elixir vs Xamarin: What are the differences?
Developers describe Elixir as "Dynamic, functional language designed for building scalable and maintainable applications". Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain. 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.
Elixir and Xamarin are primarily classified as "Languages" and "Cross-Platform Mobile Development" tools respectively.
"Concurrency", "Functional" and "Erlang vm" are the key factors why developers consider Elixir; whereas "Power of c# on mobile devices", "Native apps with native ui controls" and "Native performance" are the primary reasons why Xamarin is favored.
Elixir is an open source tool with 15.5K GitHub stars and 2.21K GitHub forks. Here's a link to Elixir's open source repository on GitHub.
Poll Everywhere, NoRedInk, and Resultados Digitais are some of the popular companies that use Elixir, whereas Xamarin is used by Rdio, Olo, and Rumble. Elixir has a broader approval, being mentioned in 175 company stacks & 183 developers stacks; compared to Xamarin, which is listed in 74 company stacks and 65 developer stacks.
What is Elixir?
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
Postmates built a tool called Bazaar that helps onboard new partners and handles several routine tasks, like nightly emails to merchants alerting them about items that are out of stock.
Since they ran Bazaar across multiple instances, the team needed to avoid sending multiple emails to their partners by obtaining lock across multiple hosts. To solve their challenge, they created and open sourced ConsulMutEx, and an Elixir module for acquiring and releasing locks with Consul and other backends.
It works with Consul’s KV store, as well as other backends, including ets, Erlang’s in-memory database.
Another major decision was to adopt Elixir and Phoenix Framework - the DX (Developer eXperience) is pretty similar to what we know from RoR, but this tech is running on the top of rock-solid Erlang platform which is powering planet-scale telecom solutions for 20+ years. So we're getting pretty much the best from both worlds: minimum friction & smart conventions that eliminate the excessive boilerplate AND highly concurrent EVM (Erlang's Virtual Machine) that makes all the scalability problems vanish. The transition was very smooth - none of Ruby developers we had decided to leave because of Elixir. What is more, we kept recruiting Ruby developers w/o any requirement regarding Elixir proficiency & we still were able to educate them internally in almost no time. Obviously Elixir comes with some more tools in the stack: Credo , Hex , AppSignal (required to properly monitor BEAM apps).
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
i've give a try to Ruby, Crystal, Python and GO, and yeah, for web development i use Elixir-Phoenix, because idk why just amazing, my phoenix app is very stable (comparing to api that written in other language), Ruby is slow, Crystal has unstable API, GO, umm yeah, you need too complicated (i use golang for microservice)
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!
Huge boon to productivity when coupled with Phoenix. Moreover, it has made background jobs and all the unseen aspects of a business easily abstracted.
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.