If you pay any attention to the varying philosophies on web development, you'll know that there is an "enthusiastic" (dare I say religious) following of the Open Source Linux + Apache + MySql + Php/Perl/Python (or LAMP) stack. This "stack" (a word that roughly means "platform") carries the banner for Open Source web development and it has several huge websites to trumpet its ability run modern applications that scale well, such as digg.com and oriley.com. At the core of this stack is the Linux operating system, which many people consider to be a more secure and better scaling OS than Windows.
As ASP.NET developers, we don't often give second thought to running happily along on our easy to manage and well supported Windows + IIS + SQL Server + ASP.NET (or WISA) "stack". Microsoft created all of the technologies in this "stack"- from our venerable database software to our modern web programming language- so why mess with what works? Besides, everyone knows that you need IIS to run ASP.NET, so that automatically precludes you from even considering Linux or Apache. Or does it?
Earlier this month Novell and Microsoft announced a patent truce that prevents the companies from suing each other over patent disputes for certain technologies. Among the covered technologies in Mono, an open source project that has been doing the work to enable .NET applications (Web or Windows) to run on Linux. Several days after the announced truce, the Mono project announced a new release that delivers full support for the .NET 1.1 run-time and "preview" support for much of the .NET 2.0 run-time (including ASP.NET). With its new found protection and aggressive Road Map to deliver full .NET 2.0 (and eventually .NET 3.0) support, can ASP.NET developers realistically consider new stacks?
That's the question I will address in future posts on Telerik Watch, specifically focusing on how well (if at all) the telerik controls function in a Mono environment and what considerations you must make in your application design if you plan to try Mono in the future. There is no question that the WISA "stack" will always be the easiest (and probably fastest) way to run .NET, but it's always good to know your options. If Mono 2.0 makes it easy for ASP.NET to run on a Linux + Apache + MySql + ASP.NET (or LAMA) stack, perhaps LAMA will become the new LAMP.
I did some testing about a year ago and the results were really good. Back then the biggest problem was our IL obfuscator -- it exploited a problem with the MS runtime that allowed running invalid IL. Of course that broke on Mono. The obfuscator got better with time, but we ditched it eventually.
The ASP.NET controls should be mostly compatible with Mono. We do not officially support them, but they should be runnable. The only thing that might bite you are file paths. Remember that RadControls is different than radcontrols on Linux!
Interesting news. Mono support for ASP.net doesn't seem to be 100% yet, but developing rapidly.
It does seem pretty easy to deploy applications on XSP.
"There is no question that the WISA "stack" will always be the easiest (and probably fastest) way to run .NET"