Hello, > So's Hurd. And Duke Nukem Forever. OK, that's an unfair comparison in many > respects, but I'd have a lot of difficulty in recommending any business > decision on the basis of a not-yet-usable open-source or free project. It's > too easy for one of the key people to get hired by a competitor/get run over > by a truck/lose interest, and for that to stall the project. If it's > delivered to the point where it's usable, that's different. If it has the > backing of a major company, again, that's different (because they can afford > to hire replacements for key people). When I looked, Mono with Winforms > wasn't anywhere near that. It may or may not be now. (And I would class > 100%-compatible for 95% of applications as usable, not 95%-compatible for > 100% of applications.)
Mono is an open source project developed by a commercial company Novell and various open source contributors. You are correct that Windows.Forms has taken more time than it should have. For one, our initial interest was in creating applications in Unix using a native interface, which is why we created Gtk#. Today Mono ships supported versions of Gtk#, ADO.NET and ASP.NET. The big missing piece is Windows.Forms. Today Windows.Forms is API complete, but it is still buggy, and it still lacks a few layers of polish, but we are working towards fixing those. Implementing Windows.Forms completely from scratch is much more difficult than implementing something like ASP.NET or other web frameworks (which are essentially glorified printfs). > Even so, I do believe that if Mono could "just run" .NET apps, it would put > Mono, GNU/Linux, and .NET all in much stronger positions. The fact that it > can't means that you can't treat an application as independent of its > platform, even though we're /so close/ to that with .NET. You are making a storm in a teacup. Software that is initially developed with portability in mind typically do not require any extra effort; Software that has not been designed with portability in mind requires some effort to port. "Some" depends on how many features and how tied your software is to the Windows platform. In the ASP.NET case, very few applications depend on the Windows OS. Windows.Forms is a different beast though, many applications have historically resorted to P/Invoking features that were not wrapped by Windows.Forms. These are more difficult to port. But porting an application that runs on Windows to run on Linux is typically as hard as porting an application that used to work on BSD Unix to SystemV Unix. There are a few differences, but even for large applications they are almost noise. Most applications can be ported by making sure they do not hard code the backslash, and do not depend on filesystem casing for their own data files. If you need to support other platforms and you happen to have written code in .NET, porting with Mono might take from a few days to a couple of weeks to port your software as opposed to either having to write the code from scratch in Java or another language or not even entering that market. Once you do the porting work, the testing and the associated Quality Assurance work, then you can deploy the same binary across all platforms. miguel =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
