Need advice about which tool to choose?Ask the StackShare community!
.NET vs Vapor: What are the differences?
.NET: A free, cross-platform, open source developer platform for building many different types of applications. .NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more; Vapor: A type-safe web framework for Swift. Vapor is the first true web framework for Swift. It provides a beautifully expressive foundation for your app without tying you to any single server implementation.
.NET and Vapor can be categorized as "Frameworks (Full Stack)" tools.
Some of the features offered by .NET are:
- Multiple languages: You can write .NET apps in C#, F#, or Visual Basic.
- Cross Platform: Whether you're working in C#, F#, or Visual Basic, your code will run natively on any compatible OS.
- Consistent API & Libraries: To extend functionality, Microsoft and others maintain a healthy package ecosystem built on .NET Standard.
On the other hand, Vapor provides the following key features:
- Pure Swift (No makefiles, module maps)
- Modular
- Beautifully expressive
"Tight integration with visual studio" is the primary reason why developers consider .NET over the competitors, whereas "Fast" was stated as the key factor in picking Vapor.
.NET and Vapor are both open source tools. It seems that Vapor with 16.7K GitHub stars and 989 forks on GitHub has more adoption than .NET with 11K GitHub stars and 2.37K GitHub forks.
Stack Exchange, Starbucks, and Docplanner are some of the popular companies that use .NET, whereas Vapor is used by Applicodo, N26, and Nodes. .NET has a broader approval, being mentioned in 1561 company stacks & 231 developers stacks; compared to Vapor, which is listed in 6 company stacks and 5 developer stacks.
I was considering focusing on learning RoR and looking for a work that uses those techs.
After some investigation, I decided to stay with C# .NET:
It is more requested on job positions (7 to 1 in my personal searches average).
It's been around for longer.
it has better documentation and community.
One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.
Rail's front end support is starting to waver.
C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.
Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.
I would avise to stick to rails when building small projects, and switching to C# for more long term ones.
Opinions are welcome!
Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.
Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.
Pros of .NET
- Tight integration with visual studio272
- Stable code261
- Great community190
- Reliable and strongly typed server side language.182
- Microsoft140
- Fantastic documentation119
- Great 3rd party libraries89
- Speedy80
- Great azure integration71
- Great support63
- Highly productive34
- Linq34
- C#34
- High Performance31
- Great programming languages (C#, VB)28
- Open source26
- Powerful Web application framework (ASP.NET MVC)19
- Fast16
- Clean markup with razor16
- Powerful ORM (EntityFramework)15
- Dependency injection14
- Visual studio + Resharper = <310
- Constantly improving to keep up with new trends10
- High-Performance9
- TFS8
- Security8
- Job opportunities7
- Integrated and Reliable7
- Huge ecosystem and communities7
- Light-weight6
- Lovely6
- {get; set;}5
- Variations5
- Asynchrony5
- Scaffolding4
- Support and SImplicity4
- Default Debuging tools4
- Concurrent4
- Useful IoC4
- Entity framework4
- Nuget package manager3
- Blazor3
- F♯2
Pros of Vapor
- Fast13
- Swift11
- Type-safe10
- Great for apis6
- Readable5
- Compiled to machine code5
- Good Abstraction5
- Asynchronous5
- Maintainable3
- Complete1
- Mature1
Sign up to add or upvote prosMake informed product decisions
Cons of .NET
- C#13
- Too expensive to deploy and maintain12
- Microsoft dependable systems8
- Microsoft itself8
- Hard learning curve5
- Tight integration with visual studio3
- Not have a full fledged visual studio for linux3
- Microsoft itself 🤡🥲1
Cons of Vapor
- Server side swift is still in its infancy1
- Not as much support available.1