5 ms·
If 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, ins
by AUmrysh 13y ago
If 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?