back to article Xamarin, IBM lob cross-platform mobile app dev tools at Microsoft coders

Xamarin's Evolve conference is underway in Atlanta, and on Wednesday the company announced new tools for cross-platform mobile development, along with a new partnership with IBM. Three-year-old Xamarin was formed to enable developers to code for Android, iOS, and OS X using Microsoft's C# language and .Net Framework. The …

  1. Anonymous Coward
    Anonymous Coward

    Do any major apps actually use this?

    I'm curious if they are obviously not very iOS-y or if maybe I'm using one and don't even know it.

    Previous attempts I'm aware of for cross platform Windows/Mac or Windows/Unix IDEs have resulted in pretty suboptimal applications on both platforms, but perhaps the technology has advanced since the 90s.

    1. Deltics

      Re: Do any major apps actually use this?

      The biggest problem with Xamarin (which may or may not be an actual problem in any given use case) is that it is mono based, meaning that every application incorporates an embedded mono framework runtime,

      Also, Xamarin does not offer 100% portable code. In real world use 75% common code is the most you can expect. Even this can sound appealing, but beware lies, damned lies and statistics.... "common code" is all well and good, but the *TIME* spent creating the platform specific bits will not be proportional to the amount of code that is portable, or not. And one has to suspect that things like manifest assets etc are most likely being discounted/ignored (it's not "code" right ?) for the purposes of establishing a flattering statistic.

      Why would I question the appeal ? Only because I know people who have used Xamarin and who found it's delivery fell spectacularly short of it's promise.

      I myself use RemObjects Elements which takes a radically different approach.

      They offer no common runtime or framework, choosing instead to provide common *languages* which extend directly into the native platform frameworks. They offer C# and Object Pascal currently with a Swift compiler coming soon (currently in beta). You can mix and match all of these languages in a single project and that project can target .NET, Cocoa/CocoaTouch or Java/Android.

      You can share code across the platforms with some nifty type mapping technology in their compilers which maps low level constructs expressed in a standardised dialect, directly onto underlying platform specific constructs. i.e. you can use #integer#.toString() consistently across Java, ,NET and Cocoa, rather than having to use platform specific conversions. For example.

      Or you can stick to using platform specifics, if you prefer.

      The advantage being of course that your resulting apps are indistinguishable from the truly native platform SDK products, with no runtime overheaded or embedded framework required to prop them up.

      My most recent RemObjects produced app weighed in at < 40KB on Android, 100KB on iOS (thanks to embedded launch screen requirements stipulated by iOS) and 60KB on Windows Phone.

      TXT-2-PARK is the app, if anyone is interested (only relevant to New Zealand readers I'm afraid, being an app for use with SMS based pay-and-display parking meters here in the Land of the Long White Cloud).

    2. Anonymous Coward
      Anonymous Coward

      Re: Do any major apps actually use this?

      "...maybe I'm using one and don't even know it."

      If the software really is doing it's job, then you shouldn't know it.

      The package seems like a All-In-One solution that you may or may not come up with on you're own. It would be surprising if you were a serious developer and didn't already have you're dev enviroment "just right", so maybe there will be a few gems in it that could be handy that you didn't have before. Of course, this all comes down to if you're somehow using Microsoft's C# for Android and iOS applications. I highly suspect that the developers needing the absolute best GPU performance are NOT using C# on Android or iOS. So this aspect of the sales pitch seems a little awkward.

      Also, IBM helping boost Microsoft mobile sales...who's freaking who here?

    3. thames

      Re: Do any major apps actually use this?

      Going by what Xamarin's customer reference page says, their typical customer is someone who has a background writing MS Windows software and is just getting their toe wet in writing mobile apps. In other words, they know C# and don't want to stray out of their comfort zone while learning a new language. You might get somewhat serviceable software that way, but you're not likely to get world beating software.

      I will take their "755,000 developers" number with a very, very large grain of salt. Given their eye watering prices, if they actually had that many paying customers then given the hype surrounding everything in the mobile industry they would be a multi-billion dollar company. Since I haven't heard of any such suggestions (it would be pretty hard to hide if it were so), then I'm going to take a guess that they are counting downloads of the limited functionality free version.

      Their FAQ only claims 15,000 paying customers, although they're a bit vague on the difference between a customer and a developer. If we take it as meaning that one customer equals one developer, then only about 2% of the people who try it end up doing anything serious with it.

      I suspect that most of their "developers" are in fact just traditional MS Windows developers or hobbyists who downloaded the trial version to try to make "my first phone app". Of course, there is probably a lot of double counting involved, with the same people downloading multiple new versions or when the 30 day trial ran out.

      I followed the original development of Mono back before Xamarin existed when they were simply part of the server group at Novel developing Mono as a competitor to DotNet as a server side and desktop system. Novel felt they needed their own "platform" in order to be a real "full stack enterprise vendor". Every six months or so the Mono team would be hyping a new target market for Mono when the previous plan failed to find a flicker of interest amongst developers. When Attachmate bought Novel, Mono was dumped and the newly unemployed Mono team found venture funding to create a start-up for the newly hot mobile app market.

      Where I have heard that Mono has had some interest though is with a few of the large or medium size game developers who were porting existing PC C# game code to mobile and console apps. Game developers felt that Microsoft was screwing them over on licensing terms and costs (which were not the same as for the PC). These companies aren't Xamarin customers though.

      Personally though, I think that if someone wanted to get into the mobile app field then learning a new programming language is the least of your worries. I think you are better off sticking with the mainstream languages (Java, Objective-C, Javascript) on the mainstream phone platforms (Android and Apple) where you can find all sorts of tutorials, help forums, libraries, and everything else you'll need to orient yourself in an unfamiliar environment. Going with something which isn't commonplace in mobile is asking for pain, since you will have a hard time finding examples to crib from when you are starting out.

  2. Anonymous Coward
    Anonymous Coward

    expensive for indies

    At $1000/year for the version supporting visual studio, very expensive for most independent developers used to Android Studio, Visual Studio Express and XCode.

  3. FPfirst

    Xamarin also supports the F# language

    Xamarin has made a significant effort to also support F# in addition to C#.

    FYI one of the designers of Swift previously worked on F# and you can see similarities between the two languages.

    Why would one use F# over C#? There are many reasons but In general F# is more expressive and yields more concise, cleaner and safer code.

    My first Xamarin / Android app was written in F# and ending up being about 6K lines-of-code. I have estimated that equivalent Java would be close to 50K loc.

    Until Swift is ported to Android, F# is the only viable functional programming language for mobile development.

  4. Mobileapptelligence

    Cross Platform development with Xamarin

    More and more mobile platforms like Android, iOS, Moblin, Windows, Symbian etc. are released everyday making business owners life tedious to manage their apps across all the platform SDK.

    Cross platform app development helps the mobile app developers to port applications across all platform with the help of tools like Xamarin.

    http://www.mobileapptelligence.com/cross-platform-appdevelopment.html

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like