

Manos de Mono: The Manifesto (.NET Web Framework) - eduardoflores
http://jacksonh.tumblr.com/post/1159500924/manos-de-mono-the-manifesto

======
WorkerBee
One unanswered question:

What specifically does this project bring that isn't present in ASP.NET MVC,
OpenRasta, FubuMVC or MonoRail?

Or that couldn't have been achieved by porting one of those to Mono (if they
aren't there already)?

~~~
markkanof
I posed the same question to the author on his blog. As far as I know at least
ASP.NET MVC will run on Mono, and I would bet the other frameworks would as
well.

I'm all for any new tool that would make my life easier, but it would be great
to hear what this framework is going to offer that isn't already offered in
the other existing frameworks.

~~~
bad_user
> _As far as I know at least ASP.NET MVC will run on Mono_

ASP.NET (MVC or classic) is not efficient on Mono, the pipeline is too heavy,
and Mono (at least until 2.8 / 3.0 is released) leaks memory if you're not
careful with the object allocation patterns you're using, since the GC is
conservative ... and of course ASP.NET leaks memory.

Mod_mono even includes a setting for automatic restarting of the Mono server,
which kind of sucks. See <http://www.mono-project.com/Mod_mono>

Async I/O is built around async sockets in the Windows kernel, and as such the
API couldn't be implemented efficiently on top of poll/epoll. See this thread
which is fairly recent:

    
    
         http://lists.ximian.com/archives/public/mono-devel-list/2010-January/033814.html
    

ASP.NET (both MVC and classic) is designed for usage in an IDE ... and you
shouldn't ignore this point. For references, compare the experience of using
JSF / Struts2 to the PlayFramework.

It's practically the reason Java/.NET programmers say they can't live without
IntelliSense, and Python/Ruby programmers are saying they can live just fine
... the difference it's in the design of those sucky APIs you have to use with
Java/.NET

I also haven't heard of any web apps that are running on Mono, and if there
are apps out there, pretty much nobody heard of them ... so this whole
argument is a myth.

~~~
SeveredCross
I don't know of any .NET/Java programmers who say they can't live without
IntelliSense. I certainly know I can, and do, frequently. Why, just this
morning, I wrote some Java in Emacs. No IntelliSense there.

As far as async I/O, that is a problem. It might get better with the new GC,
but proper async I/O would need to use one of the async I/O implementations
available (libev/libevent, libaio, etc.).

~~~
antileet
I'm primarily a .NET developer on Linux. While I'm comfortable with other
languages, and am quite proficient at using vim & and a little emacs - it
simply makes no sense to not use an IDE for Java or C#.

These are tools built around the language and the workflow, and thus have been
extremely tailored to ensure that productivity is high. While you can type the
code out in any editor, and maybe even get CTAGS based completion and jump-to-
type support, I haven't seen as tight an experience as MonoDevelop or Netbeans
(or VS, but I don't know that very well).

There exists a tradeoff - you won't get the extensibility of Emacs or the
efficiency of vi (they have vi-modes but it doesn't come close). Ultimately,
when it comes to simply getting the idea from your head into the code, IDEs do
help a lot.

~~~
SeveredCross
As a .NET/PHP on Linux developer, I 100% agree. I just wanted to provide a
counterexample. ;)

