When comparing Sinatra vs ASP.NET Core, the Slant community recommends ASP.NET Core for most people. In the question“What are the best web frameworks to create a web REST API?” ASP.NET Core is ranked 9th while Sinatra is ranked 18th. The most important reason people chose ASP.NET Core is:
Thanks to breakthroughs in ROSLYN compiler and the efforts of the .NET COre developer team, code written in C# can reach speeds just a step behind C++.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Small loading time
Since it has very few dependencies, the loading time for a Sinatra app is considerably small.
Pro Has only the bare minimum needed
Sinatra has taken an approach of having only the most useful components needed to build applications out of the box. It has simple routes along with a Domain Specific Language over a Rack layer.
Pro Fast and getting faster
Thanks to breakthroughs in ROSLYN compiler and the efforts of the .NET COre developer team, code written in C# can reach speeds just a step behind C++.
Pro Multi platform
Can run on Windows, Linux and Mac (also Visual Studio Code editor).
Pro JSON optimization
In .NET Core 2.1 and 3.0, new APIs are added that make it possible to write JSON APIs that require less memory, using Span<T> and UTF8 strings, and improve throughput of applications like Kestrel, ASP.NET Core web server. See also Utf8JsonReader.
Pro Tutorials and documentation quality
Both microsoft and 3rd party tutorials are mostly of high quality and encourage you to use the industry best-practices.
Pro Built-in middleware
Built-in middleware featuring: Authentication, Cookie policy, Health Check, MVC, Session etc.
Pro Hosting
Ability to host on IIS, Nginx, Apache, Docker, or self-host in your own process.
Pro Ease of Use
Pro Security
It is a very secure platform.
Pro Tooling
Both VS and VSCode are powerful free IDEs that are well integrated with ASP.net Core. VS Community also allows for commercial use for projects with less than 5 developers.
Cons
Con Hard to scale well
Because it's rather small and minimalistic, scaling up is not very easy with Sinatra. You need a great deal of knowledge on libraries and modules that may be useful for your particular use-case. As your application grows larger it may be hard to keep things clean and minimalistic, losing a lot of the advantages that Sinatra has.
Con Microsoft environment
Alternative Products
