[Mono-dev] Mono is crossplatform ?
flaviosales at gmail.com
Mon Apr 3 18:24:23 EDT 2006
I follow the Mono project since pre 1.0 and the question is only about a
WinForms desktop app that runs fine on both Windows and Linux.
The focus in this moment is not the cost or risk, but the functionality.
In our tests a simple app with a main menu, a toolbar and a richtext box
chashes on both stable and development versions of mono under linux (Suse
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
> > and the Java technology.
> > Anyone can point me to any interesting information about projects
> > under windows using VS.NET <http://vs.net/> (language C#) ? I know that
> > ASP.NET <http://asp.net/> support of Mono is great, but we know none
> > Winforms support. Is there any project that uses WinForms developed
> > 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
> System* namespace.
> 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
> code cross-platform.
> 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.
> Atsushi Eno
Flavio Medeiros Sales
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list