Need advice about which tool to choose?Ask the StackShare community!
Swift vs Xamarin: What are the differences?
Swift: An innovative new programming language for Cocoa and Cocoa Touch. Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C; 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.
Swift belongs to "Languages" category of the tech stack, while Xamarin can be primarily classified under "Cross-Platform Mobile Development".
"Ios", "Elegant" and "Not Objective-C" are the key factors why developers consider Swift; whereas "Power of c# on mobile devices", "Native apps with native ui controls" and "Native performance" are the primary reasons why Xamarin is favored.
Swift is an open source tool with 48.2K GitHub stars and 7.71K GitHub forks. Here's a link to Swift's open source repository on GitHub.
According to the StackShare community, Swift has a broader approval, being mentioned in 979 company stacks & 526 developers stacks; compared to Xamarin, which is listed in 74 company stacks and 65 developer stacks.
Pros of Swift
- Ios253
- Elegant178
- Not Objective-C125
- Backed by apple106
- Type inference92
- Generics60
- Playgrounds54
- Semicolon free49
- OSX39
- Tuples offer compound variables35
- Easy to learn24
- Clean Syntax23
- Open Source21
- Functional20
- Beautiful Code19
- Linux11
- Dynamic11
- Promotes safe, readable code10
- Protocol-oriented programming10
- Explicit optionals8
- No S-l-o-w JVM8
- Storyboard designer7
- Super addicting language, great people, open, elegant5
- Type safety5
- Optionals5
- Best UI concept5
- Its friendly4
- Swift is faster than Objective-C4
- Feels like a better C++4
- Highly Readable codes4
- Fail-safe4
- Powerful4
- Faster and looks better4
- Much more fun3
- Easy to learn and work3
- Protocol extensions3
- Native3
- Its fun and damn fast3
- Strong Type safety3
- Easy to Maintain3
- Protocol oriented programming2
- Esay2
- MacOS2
- Type Safe2
- All Cons C# and Java Swift Already has2
- Protocol as type2
- Objec1
- Can interface with C easily1
- Numbers with underbar1
- Optional chain1
- Runs Python 8 times faster1
- Actually don't have to own a mac1
- Free from Memory Leak1
- Swift is easier to understand for non-iOS developers.1
- Great for Multi-Threaded Programming1
Pros of Xamarin
- Power of c# on mobile devices120
- Native performance80
- Native apps with native ui controls77
- No javascript - truely compiled code71
- Sharing more than 90% of code over all platforms67
- Ability to leverage visual studio45
- Many great c# libraries44
- Mvvm pattern43
- Amazing support36
- Powerful platform for .net developers34
- GUI Native look and Feel19
- Nuget package manager15
- Free11
- Backed by Microsoft9
- Enables code reuse on server9
- Faster Development8
- Easy Debug and Trace7
- Use of third-party .NET libraries7
- It's free since Apr 20167
- Best performance than other cross-platform7
- Open Source7
- Mac IDE (Xamarin Studio)6
- Xamarin.forms is the best, it's amazing6
- Power of C#, no javascript, visual studio5
- C# mult paradigm language5
- Compatible to develop Hybrid apps4
- Microsoft backed4
- Microsoft stack4
- Great docs4
- That just work for every scenario4
- Well Designed3
- Small learning curve for Mobile developers3
- Ability to leverage legacy C and C++2
- Ionic2
Sign up to add or upvote prosMake informed product decisions
Cons of Swift
- Must own a mac5
- Memory leaks are not uncommon2
- Its classes compile to roughly 300 lines of assembly1
- Complicated process for exporting modules1
- Very irritatingly picky about things that’s1
- Is a lot more effort than lua to make simple functions1
- Overly complex options makes it easy to create bad code0
Cons of Xamarin
- Build times9
- Visual Studio5
- Complexity3
- Scalability3
- Price3
- Nuget2
- Maturity2
- Build Tools2
- Support2
- Maturidade0
- Performance0