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
- Ios257
- Elegant179
- Not Objective-C125
- Backed by apple107
- Type inference92
- Generics60
- Playgrounds54
- Semicolon free49
- OSX38
- Tuples offer compound variables35
- Easy to learn24
- Clean Syntax23
- Open Source22
- Beautiful Code20
- Functional20
- Linux11
- Dynamic11
- Promotes safe, readable code10
- Protocol-oriented programming10
- No S-l-o-w JVM8
- Explicit optionals8
- Storyboard designer7
- Best UI concept5
- Super addicting language, great people, open, elegant5
- Type safety5
- Optionals5
- Feels like a better C++4
- Swift is faster than Objective-C4
- Its friendly4
- Faster and looks better4
- Powerful4
- Fail-safe4
- Highly Readable codes4
- Easy to Maintain3
- Easy to learn and work3
- Much more fun3
- Protocol extensions3
- Native3
- Its fun and damn fast3
- Strong Type safety3
- 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 devices121
- Native performance81
- Native apps with native ui controls78
- 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 Swift
- Must own a mac5
- Memory leaks are not uncommon2
- Very irritatingly picky about things that’s1
- Complicated process for exporting modules1
- Its classes compile to roughly 300 lines of assembly1
- 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