[U-SPAM] Re: [Mono-dev] Mono is crossplatform ?

Andreas Nahr 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
    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


  Mono-devel-list mailing list
  Mono-devel-list at lists.ximian.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20060404/e014d1f7/attachment.html 

More information about the Mono-devel-list mailing list