[U-SPAM] Re: [Mono-dev] Mono is crossplatform ?
ClassDevelopment at A-SoftTech.com
Mon Apr 3 19:29:59 EDT 2006
Well I guess the problem is that it says 99% of all elements (methods, classes, properties, e.g. are implemented). However that does not mean that 99% of all applications are able to run. If we assume that there are 10000 elements in Windows Forms then 99% means 100 are missing and if you hit ONE of those your app is sure going to fail. Moreover in Windows Forms you are usually using much more elements than in every other class library.
By the way, there are likely also a lot of bugs in there as it is the latest of all the libraries.
The point is: The Mono WinForms implementation is not complete. The status page says that it is covering 99% of the MS implementation but before our tests i think it's not true. Simple apps created with VS.NET using C# language on version 1.1 of the MS runtime (Mono claims to be compatible with MS .NET implementation) simply suddenly close or shows the controls in the wrong positions on the form.
It's my opinion only from Winforms perspective. For class libraries it's ok, for ASP.NET it's ok, but for crossplatform WinForms it's not ok. I believe it will be soon.
On 4/3/06, Atsushi Eno < atsushi at ximian.com> wrote:
Flavio Medeiros wrote:
> Hi, we are starting a (large) project that needs to be cross platform
> (windows/linux) and we are discussing about the .NET (MS framework and Mono)
> and the Java technology.
> Anyone can point me to any interesting information about projects developed
> under windows using VS.NET <http://vs.net/> (language C#) ? I know that the
> ASP.NET <http://asp.net/> support of Mono is great, but we know none about
> Winforms support. Is there any project that uses WinForms developed using
> VS.NET <http://vs.net/> that runs in Windows and Linux without problems ?
> Is it possible or only using GTK# ?
> Mono is realy crossplatform today on desktop apps ?
Not really. The biggest and worst reason is because C#/.NET users just
ignore cross-platform mind to work their code run on other OSes and
platforms than Windows. They rather dream too much on others' effort
while they just neglect what they should do.
Their reality is a fantasy but their fantasy is killing me.
In cross-platform talk, .NET is much worse than Java. Java people
tried to make things cross platform, though unfortunately it is not
perfect. Microsoft just gave up efforts to make things cross-platform.
There are plenty of Windows-oriented parts in the class libraries in
On the other hand, under pure Mono environment, things are much more
likely to work on several OSes and platforms since our implementations
are rather careful for cross-platform.
Having said that, if users still forget cross-platform mind, it is
easily broken; for example,
- invoking native libraries which is not cross platform:
we don't have kernel32.dll
- No runtime callable wrapper in mono: COM is not love. It
is windows only stuff.
- ignoring environment-dependent matters, for example:
- file path separators (using '/' is the best; using '\\'
in paths is bad; Path.AltDirectorySeparatorChar is wrong)
- expecting drives, illegal path character differences
- end-of-line (CRLF and LF)
- native encoding (obsolete language dependent encoding on
MS.NET; always utf-8 on Mono as GNOME 2.0 uses)
- implementation dependent matters: one of the most FAQ is for
runtime serialization compatiblity which we can never promise
because they depend on Microsoft implementation internals
which we don't copy. They have different set of private
fields than ours.
This kind of differences exist by nature.
Oh, seems like there already is a explanation on how to make your
It tells that cross-platformness is *up to you*.
BTW I don't think this subject is not subject to the topic of mono-dev,
as some other people are already losing the point.
Flavio Medeiros Sales
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list