Manos de Mono – Quick overview

13Oct10

I heard about this new web framework the other day, the code its available on github/jacksonh/manos the main interesting thing I heard about it were:

  • runs on Mono
  • Has its own server
  • Has no dependecies on Asp.net
  • the main goal of mono is to simplify web application development
  • routing appears to be simpler ( to use and test)
  • command line for managing your apps (deployment included)

At this point, I wanted to see some code, I went to the example on github and I was pleasantly surprised

//
	// A mango application is made of MangoModules and MangoApps
	// There really isn't any difference between a Module and an App
	// except that the server will load the MangoApp first. A mango
	// application can only have one MangoApp, but as many MangoModules
	// as you want.
	//
	public class MangoProject : MangoApp {

		public MangoProject ()
		{
			//
			// Routing can be done by using the Get/Head/Post/Put/Delete/Trace
			// methods. They take a regular expression and either a method
			// or another module to hand off processing to.
			//
			// The regular expressions come after the method/module, because
			// Mango uses params to allow you to easily register multiple
			// regexs to the same handler
			//
			Get (Home, "Home");

			//
			// The Route method will hand off all HTTP methods to the supplied
			// method or module
			//
			Route (new DocsModule (), "Docs/");
		}

		//
		// Handlers can be registered with attributes too
		//

		[Get ("About")]
		public static void About (MangoContext ctx)
		{
			//
			// Templates use property lookup, so you can pass in
			// a strongly typed object, or you can use an anonymous
			// type.
			//
			RenderTemplate (ctx, "about.html", new {
				Title = "About",
				Message = "Hey, I am the about page.",
			});
		}

		public static void Home (MangoContext ctx)
		{
			RenderTemplate (ctx, "home.html", new {
				Title = "Home",
				Message = "Welcome to the Mango-Project."
			});
		}
	}
  • Like the module and App ideas
  • like the simplicity of the code above
  • seems to work at a slightly lower level of abstraction than MVC but I can live with that
  • Interesting that it uses it’s own template engine, the syntax is nice, but I wonder why not spark, razor, nhaml, nvelocity. After all, It would be cool to use what I know already. Will have to find out.

Will have to do some more research on it

Advertisements


No Responses Yet to “Manos de Mono – Quick overview”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: