Skip to content

About Swytch


Hello, and welcome to the Swytch docs! Swytch (pronounced "switch" like the network device or a light bulb switch) is a web framework written in C#. It is lightweight, fast and offers an alternative and refreshing way to author web services . Swytch focuses on minimal abstraction, allowing developers more control over their applications while simplifying repetitive tasks.

Swytch is built on HttpListener for a lightweight, programmatically controlled HTTP server, RazorLight for dynamic content rendering with Razor syntax, Dapper for efficient database interactions, and Akka.NET for the actor based concurrency functionality it provides.

Philosophy

Swytch follows a simple philosophy, "Do less, so you can do more". Instead of imposing a load of rigid conventions, it provides just enough abstraction to handle common tasks efficiently while giving you, the developer full control over your code. Swytch is designed for those who enjoy recreational programming and want a framework that stays out of their way. If that sounds like you or if you're open to making a switch (pun intended) and try something new, then I encourage you to approach Swytch with an open mind. It’s not meant to be like anything you’ve used before. The project is still young, and there's plenty of room for growth. Many features could be built in to further simplify development and hopefully, contributions through pull requests will help shape Swytch into something even better.

Getting Started

Get started with Installation and then get an overview of what a Swytch application looks like with the Quickstart. There is also a more detailed Tutorial that shows how to create a small but complete application with Swytch. The Guide section also shows how to set up and use various features and functionality built into Swytch in detail.

Note

I (Gwalisam) started Swytch as an educational project to explore C# as a language and to experiment with a lightweight alternative for building simple web services or hacking on personal projects without the overhead of ASP.NET/ASP.NET CORE. It has been a rewarding experience, and I learned a lot along the way. I work on Swytch in my spare time, balancing it with my professional life and the other million things I have on my desk. It took almost a year to get Swytch to a point where I felt it was stable enough to share. Since I only work on this when I can afford to, I kindly ask for patience when raising issues or reporting bugs. I'll address them as soon as I can.