Herding Code 97: Jackson Harper on Manos de Mono

In this episode of Herding Code, the guys talk with Jackson Harper about Manos de Mono, his lightweight web application framework that runs on Mono. The goal of Manos is to simplify the entire process of creating, managing and updating a web application from prototyping and design to deployment.  Manos aims to be Simple, Testable, High Performance, Reusable and Flexible. Sounds kind of dreamy, right?  Listen in this week and find out how C# and Mono can be a viable option for web application development.

  • The show kicks off with Harper offering an overview of the Manos Web Application Framework. He notes his preference in using frameworks like Django over ASP.NET, his appreciation  for Mono and  C# and how these factors lent themselves to the creation of Manos.
  • Kevin asks what’s different and interesting about Manos compared to ASP.NET MVC.  Jackson speaks the philosophy of application development and digs into simplifying developer workflow. 
  • Kevin asks what Manos includes.  Harper lists off the simple routing, template engine and a non-blocking web server.  He also notes that Manos will support any ORM and configuration management is in the works.
  • The guys talk about the simple and flexible routing system and continue to conversation by digging into Manos’s html-centric templating engine. 
  • Jackson walks through the developer steps to get going with Manos and is quick to note that Manos is not geared to the Windows developer.  There will be Mac and Windows support but it is being build with Linux in mind.
  • Kevin and Jackson get into the core bits – what’s included from the .NET Framework and what’s custom built?  Harper calls out that he’s not referencing System.Web and his custom HTTP server is built on Tornado.
  • Jon asks about session management, authentication and security.  Jackson talks about how the wish to ease deployment drove much of the implementation and custom component decisions.
  • Jackson further explains his interest in creating his non-blocking web server and why it benefits such operations as long pulling.  This prompts Jon to asks if Manos is an alternative to learning Node.js.
  • Jackson talks about stealing users and pie.
  • Jackson talks about his strict No XML policy and how that will work into Manos’s configuration management faculties.
  • Kevin and Jackson explore model binding in ASP.NET MVC and Manos.
  • Jon summarize what Manos has to offer – lght-weight, more html-like view engine, the routing system is nice, non-threaded architecture and high-performance – and asks how Harper decides what gets into Manos?  Jackson explains the framework is more driven by need rather than trying to implement merely what other frameworks offer.
  • K Scott asks about the challenges of working with a static language, C#, in this space.  Jackson flips the question on its head and talks about the benefits.
  • K Scott and Jackson talk about open and close mustaches, type safety, anonymous types and Manos’s templating code.
  • Kevin asks about inspiration and Jackson reflects on how Manos came to be – starting with a focus on development flow to his need for a cleaner view engines to ease of deployment and then his interest in a non-blocking web server.
  • Jon asks about applications running on Manos and the long pulling niche.
  • Jackson talks about how .NET sets itself apart from other languages when it comes to parallelism and multi-core computing.   Jon and Jackson talk about how parallel extensions are used in Manos and how Manos could be used to manage tasks on the server with C#.
  • @zbowling asks about the C10K Problem and the ability to handle 10,000 connections at once.
  • Scott K and Jackson discuss how have your own HTTP stack makes development and deployment a lot easier.
  • The show wraps with talk of route definition management, Sinatra and Cooking for Geeks.

Show Links:

Show notes compiled by Ben Griswold. Thanks!

Download / Listen:

Herding Code 97: Jackson Harper on Manos