back to article Open source .NET mimic lands on Android

Novell has officially released its Androidian incarnation of Mono, letting .NET-happy coders build applications for Google's mobile OS using Microsoft Visual Studio. Appropriately enough, Novell calls its new toolset Mono for Android. It follows in the footsteps of the company's iOS incarnation of Mono, MonoTouch. "Since the …

COMMENTS

This topic is closed for new posts.
  1. The BigYin

    Wrong

    "Mono is an open source mimic of Microsoft's .NET platform"

    No!

    Mono is a sub-set of [a previous version of the] Microsoft .Net. If you want a proper cross-platform language, then choose a proper cross-platform language. Not MS patent-encumbered bollocks.

    You can bet your last penny that MS are just waiting for Mono to become ubiquitous on Linux derivatives so that they can torpedo it and thus remove any viable competition from the marketplace.

    All respect to the Mono team, they really know their cheese, but they are not helping anyone by their efforts. this is just going to lead to future pain.

    Anyone depending on Mono should be deeply, deeply worried.

    1. Simpson

      it's ok

      Search: ecma c#

      1. Notas Badoff
        Gates Horns

        it's not (really) ok

        It is my understanding that things like "System.Xml.dll" are not in the ECMA spec. by which Microsoft explicitly makes 'nicey-nicey' coos at Mono. That once again a _real_ implementation, here Mono for Android, uses bits not made "free to use" by Microsoft. And so the Sword of Redmond still hangs by a thread over Mono implementations. So the thoughtless fraughtful continues...

      2. amehaye
        Gates Horns

        not ok at all

        ECMA 'standards' grant you absolutely no patent protection. That is one of the many problems with ecma.

  2. Henry Wertz 1 Gold badge

    Agreed

    I don't know if Microsoft intends to use patents to torpedo Mono any more or not (they certainly planned to initially.) But, I think they've made it quite clear they are not truly interested in cross-platform compatibility, they wanted to SAY they supported it to try to knock out Java and other truly cross-platform development environments, while making sure Windows always runs .NET better. They have added all sorts of functionality in each .NET release, unlike truly cross-platform environemnts they have no concern on whether the bulk of it is just a thin wrapper around a bunch of native code (i.e. not at all portable) or if it is written for the CLR (Common Language Runtime -- i.e. actually portable code.)

    For instance, Java has some platform-specific 3D support -- it wraps around either OpenGL or DirectX. At the end of the day, the kind of stuff that would use this 3D toolkit wouldn't work with some software rendering backend written in Java, it wouldn't have nearly enough speed (I don't know, there might be a software rendering fallback anyway...) .NET? Windows Forms, GDI, DirectX hooks, and on and on. Instead of reimplementing most of the stuff as actual portable code, it in fact is fairly thin layers over the same old Windows DLLs, with Microsoft continuing to insist it's portable.

    Porting Mono to Android can't hurt. But I wouldn't write anything new with it.

  3. Mikel
    FAIL

    Stallman's right

    The code is cancerous. Using it is stupid as there are better toolchains avilable. DeIcaza is a puppet.

  4. Neil 7
    FAIL

    Why bother with .NET when you have Qt on Android

    You can use the same codebase to build apps for Android and also Symbian[1] which, if memory serves, has a few more users than WP7. Building apps for MeeGo will be just a re-compile away. And of course you'll be using the same version of Qt on all devices.

    Mono is a failure, an unwanted project headed by a Microsoft stooge, and whatever it releases always lags the latest .NET version by months if not years. Trying to code apps that work well on WP7 using true .NET and then have them also work on Android devices using Mono with its half-arsed and half-baked .NET support will be a futile excercise.

    Go with Qt and use a single codebase to target Android, Symbian, MeeGo and even WebOS which comes with Qt on board as standard. There's even Qt for iOS.

    1. blog.qt.nokia.com/2011/04/05/video-real-qt-apps-from-symbian-to-android/

    1. Anonymous Coward
      Stop

      Mono's going to be a great addition to Android

      It means that you can lash together programs to do what you want in minutes. No, they're not pretty, no they're not well programmed, and no, they're probably not Stallman-friendly.

      Mono for Android means I can port all my old .NET CF applications from WinMo 6 to shiny new Android hardware with a minimum of work (though I imagine I'd want to make it prettier). It means that I can lift my code from my windows applications and drop it onto a 10" tablet so that, say, my diagnostics programs can be carried about a bit easier.

      And all this, without having to learn how to work with anything new. That's time consuming, and I don't have the time. And the time won't be given to me by my manager unless I can explain why 'coding for cutie' is a really good idea and why that's necessary when we have thousands of man-hours worth of code just lying about.

  5. Anonymous Coward
    Grenade

    Too late, Miguel!

    You waited too long and Microsoft couldn't wait anymore so they started a patent lawsuit against Android.

    1. TeeCee Gold badge
      Grenade

      Re: Too late, Miguel!

      Really? I saw some FUD from an IP lawyer on a vapid blogsheet, but didn't see a lawsuit. I'd be interested to hear how MS could bring one based on that bollocks as I wasn't aware that they owned the Linux headers in question.

      Maybe you are getting your languages and Gorillas confused? I thought it was Java where the knives were out and it was Oracle providing the cutlery.

      1. Anonymous Coward
        Thumb Down

        @ TeeCee

        You're confusing patents with copyrights. Use Google to search for "Microsoft sues Barnes & Noble over Android devices". This time it's not FUD, it's official and it is about patents. The other one between Oracle and Google it is about copyrights. See, no confusion here!

  6. Rich 3
    FAIL

    Why doesn't Stallmann fix the bugs in gcc

    Instead of telling me what language I'm allowed to code in. Really. 'kin hippies.

    1. Anonymous Coward
      Thumb Down

      It's open source...

      ... so why not fix the bugs your self and submit those bug fixes up stream. Have you actually reported those bugs, submitted test cases etc to help people diagnose and fix them? Or are you just sitting in your armchair at home moaning for the sake of it.?

    2. Francis Boyle

      So you think

      Richard Stallman really is a ninja*. Look, I'm no fan of RMS. Sometimes I agree with him. More than often I think he's several kinds of wrong. But he's earned the right to be listened too. If you think he's wrong by all means say so, but then, the onus is on you to support your position, which I don't see you doing.

      For the record I think he's pretty much right here - trusting MS to behave in an even moderately altruistic manner is a mug's game.

      *Inevitable XKCD reference. Number 225 to be precise.

  7. Mage Silver badge
    Linux

    Stallman is a fanatic!

    "Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions or in their principal ways of installing GNOME, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible."

    Why is C# more evil than Java?

    1. Anonymous Coward
      Thumb Down

      I give you thumbs down

      for your manifest lack of understanding of GPL and Free and Open source Software.

      1. Anonymous Coward
        Thumb Down

        No I give you the thumbs down...

        for your manifest lack of understanding of the C# emacs standard and Microsoft's written undertakings regarding it.

  8. Sirius Lee

    Fighting a rear guard action

    I have to laugh reading the usual rhetoric. It never ceases to amaze me how religious bigotry never dies. How many technologies were mentioned in the previous 9 articles. And that's a good thing? So someone has to put an alternative point of view.

    I don't know if MonoDroid will be a success or not but the work of the mono team to bring C# and many of the .NET objects to other platform has the potential to bring many benefits - though not if you worship your own god.

    If you went to the GDC earlier this year, you'll that Mono has a surprisingly significant life in the gaming community.

    Why? Because a core set of .NET functionality is now available on Linux, the iPhone, Android, Windows Phone 7 and, of course, Windows (there's even a version of Silverlight available, grudgingly, for S60).

    The Mono team are at pains to point out that they've not made the UI portable because the approaches taken by providers of the different platforms. Even so, the different UIs can be developed using the same syntax - including event handing, anonymous methods, lambda functions, Linq, the parallel task library, and so on.

    However the bulk of the code in applications I work on is on the backend and here it maybe possible to use the same code across all these platforms. That's attractive. Supporting multiple platforms is hugely expensive and removes focus where it should be - on functionality.

    So it seems to me Stallman's cause may be worthy, but lost because it enforces a focus on diversity not on application functionality. This orientation of variety over excellence has been, for me, why Linux has not been as successful on the desktop as it should have been.

    By the way, Guitierez having a pop at Android only affects users in the US where Microsoft's patents can be enforced. So some 91% of the world's population are not affected by this action.

    1. Anonymous Coward
      Grenade

      Stallman's fight is about end-user freedoms

      and from your post it is obvious you don't get it or you don't care about those freedoms (or maybe that you are decidedly against them). Just code whatever you want using whatever language you feel comfortable with but don't mention Stallman in your posts.

  9. Mage Silver badge
    Alert

    QT

    "Go with Qt and use a single codebase to target Android, Symbian, MeeGo and even WebOS which comes with Qt on board as standard. There's even Qt for iOS."

    A nice idea if Nokia hadn't driven away all the Trolltech gurus and now be attempting to kill QT.

  10. Rattus Rattus

    Last thing I need

    is for my phone to catch mono. It actually sounds more like MRSA, or some flesh-eating infection.

    If you want to write portable code, just don't use .NET!

  11. Steve Evans

    Curious...

    Sounds interesting, but the problem with cross platform applications is that different platforms have a different look and feel, not to mention different hardware features. There are already plenty of applications showing up on Android which are a straight ports of the older iphone apps and they're generally horrible. The user interfaces look like they are sponsored by Crayola and standard Android behaviour such as pressing "menu" inside an application to access settings are replaced by a sodding great "settings" button on the main screen.

  12. petur
    FAIL

    @rich3

    You're confusing a language with a toolchain. C is perfectly fine for writing portable code. Runs on any platform they have a toolchain for, and most of the time it is the first toolchain that's created.

  13. Anonymous Coward
    Anonymous Coward

    go away already mono

    that horrible piece of bait again? for once, stallman is right. I wouldnt touch mono if you put a gun to my head.

  14. JDX Gold badge

    wrong

    C# is a great langauge and mono has been around for years, it is a well respected and fairly mature technology. I think most here are just dissing it because it's MS.

    If Stallman hates it, my automatic preference is to disagree but even without that, an objective reasoning shows mono is pretty cool.

    Sirius' answer puts it better.

    1. Ilsa Loving
      Thumb Down

      The title is required, and must contain letters and/or digits.

      >C# is a great langauge and mono has been around for years, it is a well respected and fairly mature technology. I think most here are just dissing it because it's MS.

      Is that not enough? Microsoft has run roughshod across the IT landscape, destroying whatever it couldn't consume. They have a VERY long list of anti-competitive behaviour, from "DOS ain't done till Lotus won't run" right to subverting an international standards body to push through it's crappy OpenXML document format.

      Microsoft has a well deserved reputation for being untrustworthy, and that doesn't look to change anytime soon.

  15. Chris Paulson
    Thumb Up

    Unity uses Mono

    A increasing number of games on Android are done using Unity. Unity uses Mono and it seems to work very well. For doing games there are only 2 options:-

    1) C++

    2) .net (not that many at the moment but really increasing)

  16. Martin 72
    FAIL

    Learn ye some Java

    I can't imagine why anybody would want to pay for Mono for Android.

    From what I understand from the FAQ (http://mono-android.net/FAQ), Mono for Android is sufficiently cut down from standard Mono/C# that you can't just drop your WP7 or existing desktop mono application in to it, you'll have to do at least some extra work.

    It doesn't support moonlight/silverlight.

    It doesn't have a UI builder so you'll need to construct your interface using a separate application.

    It doesn't support sharing a UI with a MonoTouch project.

    It doesn't expose all of the functionality that is exposed through Dalvik, so you will probably end up needing to learn something about the Android Java API at some point, and when you use those Java features you'll incur an overhead, because your call has to transition from the Mono VM in to Dalvik and back again.

    Considering that Eclipse and the ADT are free, and that the Java syntax is so close to its clone C#, unless you really love LINQ, there is zero reason why MonoDroid would make any sense in the long run.

    Do yourself a favour and learn how to program for the platform the way its makers intended.

    1. whale

      Mono works ...

      This argument doesn't make sense, because product x doesn't have feature a, b or c it should be free ? Mono is a great effort and free on its own, Novell invests a lot of work in MonoTouch (for iPhone/iPad), MonoDroid (Android) and MonoMac (for MacOS X) and I don't think anyone can blame them for wanting to recoup their investment with valuable tools like these.

      Mono allows use of the same model/controller/business logic code for all these platforms including linux - all using a language that is loved by many who prefer it over Java, Objective-C or C++ - so enough to cheer about.

      If you prefer writing your Android app in Java and then converting your app to Objectice-C for the iPhone and then converting it to c# for WP7, fine - go ahead and enjoy yourself :-)

      But you should at least be able to understand why some prefer to use the same non-GUI codebase across there platforms and only customise the GUI part.

      One doesn't have to be a Microsoft lover to appreciate .NET and C# as a language.

  17. Stephen Channell

    Great.. we'll have .NET on ChromeOS

    I’m a little disappointed that Mono has not been mentioned as an alternative to the Oracle litigation against the right to use the Java language. The truth is that nobody will buy an Android phone in preference to a Windows phone simply because it can run CLR (ISO name for .NET) code.. so Mono Droid is clear far into the future.

    The same cannot be said for Java, where Oracle is determined to smash Davlik, because Davlik is a real and present danger to the jolly Java revenue model.

    It is fair to say through that there are better tools for Android phone development.. the interesting possibility though must be mono on ChromeOS.. because Android dax is a first-step

  18. Tom 15

    Hmm

    I may be wrong but I don't believe Mono has yet got to the level of .NET 3.5? Until then it's pretty useless... half the fun of C# is in the LINQ/lambdas

    1. PsychicMonkey
      Happy

      you are wrong

      http://www.mono-project.com/Compatibility

      mono is basically at .net 4 (give or take), certainly 3.5 is done.

  19. Anonymous Coward
    Anonymous Coward

    Stallman, Android?

    It makes me smile, all these Stallman fanactics above dissing C# and Mono on Android. But failing to mention that Stallman doesn't even approve of Android, mobile phones or even most Linux distros. And don't even mention Cloud computing. You see, he's paranoid about big brother and the erosion of democracy, except in Venezuela of course ;-))

This topic is closed for new posts.

Other stories you might like