Dream “Denim” (1.4.1) Released

MindTouch Dream is our web-centric programming library and lightweight, standalone host for REST web-services. Dream is written in C# and runs on Microsoft .Net 2.0 and Novell Mono 1.2.5. The best way to describe it is in guise of a question: “What would a web-centric programming environment look like if it were built from ground up for a service-oriented world?”

There are several key features that set Dream apart from other frameworks for .Net, such as Windows Communication Foundation:

  • it’s lightweight
  • it’s cross-platform
  • it’s built to comply with industry standards
  • it’s open source
  • and it’s devoid of SOAPiness!

Our flagshp product, Deki Wiki, is built using Dream. Without it, we would not have been able to accomplish as much as we did. For instance, connecting to a remote service and retrieve an XML document from it takes 1 line of code!

XDoc xml = Plug.New("http://my-server/my-service").Get().AsDocument();

Building a simple XML document takes 1 line of code!

XDoc xml = new XDoc("html").Start("body").Value("Hello World!!!").End();

Doing an asynchronous operation takes 1 line of code!

Async.Write(stream, buffer, 0, buffer.Length).WhenDone(delegate() { stream.Close(); });

And this is just the tip of the iceberg. Dream not only makes working with REST web-services trivial, it also makes writing them much easier. Over the next few weeks, I’ll post about Dream and highlight its capabilities and architecture.

MindTouch Dream is an open-source project licensed under LGPL. It can be downloaded from SourceForge.net. Questions or comments about it? Visit our forums at OpenGarden.org.

One Comment

  1. Indeed this is some great peace of software. I could not imagine doing any REST development on .NET without this. Unfortunately, word has to be spread so more people get to know this gem. Oh, and the documentation still needs some work :p