Katana and OWIN - ablealias/MVC GitHub Wiki

Katana, to provide a lightweight piece of software that you can use to build web applications, websites, and Web API, but Katana can still include the features that you need for the web. With ASP.NET MVC, we use the System.Web assembly in every project. System.Web is the core of ASP.NET and it includes everything from caching and configuration to WebSockets, but instead of one large assembly, Katana features are highly modular and componentized so you can add only the features that you need for a project and that is one goal of Katana, to be as lightweight as possible. And another goal to enable modular software. To do that, Katana actually builds on a specification called OWIN.

Katana is Microsoft's implementation of an open standard named OWIN, which stands for Open Web Interface for .NET. OWIN is a specification. It defines an API for frameworks and servers to cooperate. Katana is Microsoft's implementation of OWIN, using Microsoft components. So, you write a web component for OWIN, you can theoretically run in any environment where OWIN is supported by the server, not just in environments using System.Web and IIS, but also in self-hosted environments like a console mode application or on a server running on Mono, the open source implementation of .NET.

So, System.Web contains a lot of greate features, but it is tied to ASP.NET and IIS and having so many features is not so great when it comes to quickly iterating and releasing new features because everything needs to ship at one time. Katana is focused on small components that you can put together to build a custom web application using only the features that the application needs and those individual components are very modular. They can be developed in an iterative fashion and have a faster release pace.