17 ms·
This is not surprising at all. I've been wondering if/when Microsoft would just buy Xamarin. Perhaps this is the first step?
by programminggeek 13y ago
This is not surprising at all. I've been wondering if/when Microsoft would just buy Xamarin. Perhaps this is the first step?
- thatthatis 13y agoThe scenario I keep hoping for is: ms buys xamarin, MIT licenses the entire xamarin cross platform ecosystem (while charging for build services like phonegap does), adds a "compile to html/css/js" feature so you can write your web frontend in c#. This scenario leads to the following: C# wins as the "cross platform mobile language," window phone is the default first environment for cross platform apps, and as developers we get an elegant "write once* run everywhere" that's based on c#. The asterisk: once plus ui customizations on each platform, so more like write (1 + (.1 * num_non_wp8_platforms)) times Unfortunately, though I think these moves would make ms a dominating player in mobile and web for decades, I doubt they'll do this.
- AUmrysh 13y agoIf they came up with a unified, cross platform, UI format, it would make it so much easier. As it is now, you have to write your own view for each platform, instead of being able to use generic objects (buttons, cells, text, images, etc.) which wrap the native ones. If they did that, they would very likely, as you say, dominate mobile for a long time. Nothing is more frustrating than jumping between android XML, Java, and eclipse (or whatever) and XCode, OBJ-C, and the iOS UI, while trying to not go insane.
- thatthatis 13y agoI think the key to a unified cross platform ui format is going to be another layer of separation of concerns, similar to HTML/CSS. I think this because I believe that platform-level ui look and feel differences are going to be with us for a long time. I think you can standardize "what it does" and "how it does it", but you'll have to keep platform specific "how to invoke" and "how it looks" for a long time. Maybe a MVCP paradigm is what we need, where the controller is split into common controller and platform controller
- w0rd-driven 13y agoI think XAML is that format, but it isn't without its pain points. You pretty much can't do animation without a tool like Blend unless you're a sadist. It looks like Xamarin uses .AXML for Android (maybe a XAML flavor) but has to adhere to Interface Builder for iOS (http://docs.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications/part_1_-_understanding_the_xamarin_mobile_platform/ http://docs.xamarin.com/guides/cross-platform/application_fu..., specifically the Visual Designer section). XAML likely won't gain any traction on those platforms though due to NiH on all sides. HTML/CSS is likely as close as we get for now but that isn't a "native view" in any of the platforms mentioned.
- skrebbel 13y ago.AXML has no relation to XAML at all. It's just plain Android layouts: when doing plain Java Android dev, they're just .xml files. I believe that Xamarin made up a new extension for them because it allows them to easily associate the file extension with a special editor in the IDE (Visual Studio and Xamarin Studio/MonoDevelop). Xamarin's Android interface builder is actually remarkably decent.
- jpobst 13y agoHah, that's exactly why I did it. :) I couldn't easily associate .xml with the designer in VS since everyone uses .xml.
- cek 13y ago"Write Once Run Anywhere" is Anti-Customer. [1] Because of continued platform fragmentation WORA has been, is, and always will be a pipe-dream. People have been attempting to create WORA technologies since the beginning of time and they have all failed. The nice thing about Xamarin's model is your UI code uses native constructs, allowing for the best possible, most natural (to the user) experience. But you get to stick with one language (if you want) and your core code is very portable. [1] http://ceklog.kindel.com/2013/02/21/james-gosling-screwed-us-write-once-is-anti-customer/ http://ceklog.kindel.com/2013/02/21/james-gosling-screwed-us...
- fidotron 13y agoOn top of that the proportion of code/development time involved with the UI or OS integration on a mobile client tends to dwarf the rest of the project, meaning reusing the guts is nothing like as big a net gain as it would appear.
- saidajigumi 13y ago> People have been attempting to create WORA technologies since the beginning of time and they have all failed. Nice straw-man. Unity 3D does WORA very, very well. It's been used successfully for cross-platform development by many shipped products. To my initial astonishment, all built on Mono/C#. This doesn't absolve the developer from QA for the targeted platforms, and this is where fragmentation is the killer IMO. That said, Unity provides a huge amount of leverage and tooling in support of seamless cross-platform deployment.
- fidotron 13y agoIt's not a straw man at all as products with Unity aren't making any effort to appear native to the platform they're running on. Unity is also notoriously painful when it comes to 2D UI style work as well, which is why there's a tools ecosystem around it just to deal with that problem.
- Karunamon 13y agoDoes the enduser care? When I boot into a Unity game, it has its own UI and menu system, usually full-screening above the OS. Saying that the apps generated don't look "native" doesn't support the assertion that WORA is a "failure". Doubly so considering the ubiquity of Java.
- zanny 13y ago> able to use generic objects (buttons, cells, text, images, etc.) which wrap the native ones. You mean QML?
- shadowmint 13y agoThere is no way that'll ever happen. Much more likely; Xamarin is acquired, monodevelop development halts and the Xamarin offerings become VS pro features, giving Microsoft a foot hold in the mobile space (which they desperately need) and maintain VS revenue. It's arguably not a terrible direction for things to go... If, unlike me, you dont passionately despise VS. :p
- thatthatis 13y agoSadly, I agree with you. I think Ms will continue to play the short game and wonder why they struggle to win the web and mobile. The irony is, they'll give you $200 of swag at every event to grow their ecosystem 1 dev at a time, but they won't open source to grow their ecosystem 10x.
- tbirdz 13y agoF# is open source, and available on github.
- thatthatis 13y agoI haven't investigated F# much. I'll take a look.
- adolfojp 13y agoThey have open sourced a bunch of their dev products including ASP.NET MVC, the Entity Framework, Web API, Web Pages, the Razor view engine, and SignalR. And instead of reinventing libraries like they used to they started to embrace some open source libraries like modernizr, jQuery, Bootstrap, and Json.NET. And to promote their Windows Azure initiative they released a platform installer that allows you to install open source products like PHP, MySQL, and Wordpress on your Windows box with just a few clicks. Microsoft is a big company with many different clashing cultures. As a result some divisions shower you with software goodness and others with patents and lawyers.
- pnathan 13y agoThat would be horrible. C# is a pretty weak language[1], and .NET is layers of bad design choices (both of these problems stem from a aggressive OO design methodology combined with poor API taste + a policy of "never break". Not only that, Microsoft is a monopolist by character, and an unpleasant competitor. It would be a disaster for the world if they regained dominance (much like other companies, but MS brings a particularly domineering flavor). [1] It's adequate. It gets the job done, adequately. It doesn't shine except in being adequate. I would rather use pretty much any open source language than a .NET one.
- thatthatis 13y agoOf Java, C#, and ObjectiveC the language I most want as the common language is Python. That not being an option, C# is decently close to python in expressiveness, certainly better than the other two, and in my appraisal actually a pretty nice language.
- CmonDev 13y agoSupports both kinds of typing and most functional features. Let's just see what happens when Roslyn finally gets done (something that keeps them busy from keeping innovating on language side)!
- gjulianm 13y agoWell, I think MS has been drifting away from their monopolistic character. Look at Azure, for example. They give you documentation even to develop and deploy with Java. That's not something I'd expect from the old MS. Apart from that, why is C# a weak language? I think it shines in features: dynamic typing, code by contracts, runtime code generation (you can generate assemblies in execution time with System.Reflection.Emit), LINQ... you can even use it as a functional programming language. I wouldn't say C# is pretty weak.
- Zigurd 13y agoSome people prefer C# over Java and VS over Eclipse, and the Xamarin team will probably do a better job of making cross-platform work than most others. I suspect it will still lead to many lowest common denominator apps, but it's not like Android doesn't suffer from iOS-portitis and hordes of shoddy apps for other reasons, anyway.
- keithwarren 13y agoMicrosoft is a possible suitor and that follows logic with what we saw in the Nokia purchase. That said, I still think Amazon will buy Xamarin.
- pmelendez 13y agoLike what happened with Nokia? It is very possible
- gexla 13y agoMoney talks, bull__ walks. So, they are collaborating, writing blog posts and sharing stages. Of course, Xamarin is also shipping more code, which is what impresses me about these guys. Miguel has already said Xamarin has had some links (maybe more information sharing than collaboration) with engineers at Microsoft. How is this much different? This seems like a weak thread. The sort of thing which could quickly cool down or die altogether. There doesn't seem to be any solid commitments here. Of course, we still have the assurance that Xamarin will continue to be impressive. I just think it's a pretty big leap from this blog post to "maybe Microsoft will buy Xamarin." Edit: Fixed errors.