spamname5 wrote: > > I'm trying to make a case for using Mono for a new project coming up and > was hoping that this list could help me with that decision. We would like > to develop a new high availability web application using jQuery and > jQueryUI within a MVC framework while utilizing the development tools in > visual studios. We currently have a web farm consisting of linux servers > running apache (and hosting some legacy products that can't get moved) and > the shear cost of new hardware plus Microsoft license fees for those > webservers is forcing us to search for another solution. >
Well, I think you answered your own question there. The advantage of using Mono is that you get to use Linux (your existing Linux servers) without abandoning your .NET and Visual Studio skills. My own experience is that Mono works very, very well for ASP.NET MVC. In general, I recommend it highly. For your setup, will it be as performant and reliable as .NET? Well, I guess that depends. Mono is generally similar in speed to .NET although a little slower overall. There are cases where it is faster. I doubt your performance will be limited by Mono though. I/O and database stuff will likely be the killer and I would rather be using Linux when solving that problem. There are two garbage collectors available for Mono at this point. The new one 'sgen' seems to handle complex loads more gracefully. I would already say it is your best bet. It is not the default though so there may be some workloads for which it is not the answer. You may want to profile your stuff on each of them. Other people may be able to comment more about this. Overall, I have found Mono to be very reliable. There is certainly a greater degree of flux in Mono though and it is not as widely deployed. I believe you are much more likely to run into bugs in Mono than with .NET. The good news is that the Mono team rocks. Usually fixes come quickly and you can deploy them immediately without having to wait for a new build. Fixes do not always come though as Mono itself is not a commercially supported product. Well, that is unless you are using SUSE and paying for the enterprise extensions but I have no experience with that. You can, at the very least, get in there and fix the problem yourself. You cannot beat Open Source for that. Compatibility in the core technologies is excellent. WCF is pretty weak on Mono still. You may want to check out ServiceStack instead. You cannot use Entity Framework and probably do not want to use LINQ2SQL. NHibernate and other options do work well though. I find that generally third-party libraries work well on Mono but it is not always the case. Officially, Razor is not available on Mono but it does work well if you bring over the DLLs. I have ASP.NET MVC 3 apps running on Mac and Linux that use Razor. Naturally, there is also Spark and other options (including good old Web Forms of course which ships with Mono). For what it is worth, the ASP.NET MVC code itself was written by Microsoft. They released it under Apache 2.0 and Mono builds from that. This is true of the F# language as well if you were considering that. You should talk to Xamarin to see if the Mono tools for Visual Studio are still available. They sound like they would work for you. -- View this message in context: http://mono.1490590.n4.nabble.com/Advantages-to-Using-Mono-tp3693668p3693993.html Sent from the Mono - General mailing list archive at Nabble.com. _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
