Platform independent mobile apps development

The widgets and controls used within Designer are fully iOS native, and they render within Visual Studio with all the fidelity that you'd get using Xcode's Storyboard-based designer, because, behind the scenes, that's what powers Xamarin Designer. Just as Visual Studio defers to a Mac build host to compile and package iOS apps, it also defers to a Mac build host to render and manipulate Storyboards files. However, the designer still manages to abide by Visual Studio conventions, such as double-clicking controls to set up event handlers.

Though I didn't test the designer exhaustively (even with a designer, constructing UIs remains time-consuming, fiddly work), it worked and felt well integrated. Developers using it will still have to be familiar with the way the Storyboard editor in Xcode works, as these are still Storyboards, and the layout and presentation follows the pattern of the Xcode Storyboard editor. But the back-and-forth switching between Visual Studio and Xcode for interface design is gone. I think it will give developers a much more coherent development experience, and it should prove a welcome addition.

Now the only thing left is to bring the iOS simulator over to Windows somehow. This is the last part of the development experience that makes one switch.

Solving the interface problem

Since the outset, Xamarin has promoted the use of native user interfaces layered above a shared core. To that end, there has never been a Xamarin GUI toolkit or library for cross-platform UI development. While this stance is, I think, appropriate for many applications, especially those that are designed for public consumption, it can be a sore point for some Xamarin developers.

Internal-use line-of-business applications, for example, generally have less stringent interface demands; when a company can dictate that every employee use an app whether they like it or not, it doesn't have to be pretty or elegant to win users over. If it did, software such as PeopleSoft would never have taken off. For these applications, the most important factor is ease and speed of development. Having to create three separate interfaces for iOS, Android, and Windows Phone isn't an important way of creating end-user appeal; it's simply busy work.

Even for end-user software, most apps have portions of their user interface that are straightforward and common to all their platforms. Settings screens, for example, don't normally contain any great design work. Having to recreate these screens on each platform is, again, repetitious rather than value-creating.

Importantly for Xamarin, this is one area where systems like Cordova excel. They make it very easy to create an interface once, in HTML, and use it across devices. Matching this kind of capability is competitively important.


You might also like

8 app features you need, when optimising for the mobile web PT.2  — WhaTech
Given URL is not allowed by the Application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.

TinyTap Find the Mouse! - Kids Game
Mobile Application (TinyTap)
  • Where is the mouse hiding? In this fun game, it s up to your little one to spot the mouse. He s a sneaky little guy, always hiding in a different place. And it s...
  • Where is the Mouse is the perfect game for developing visual perception as well as shape recognition. On each page there s one small part of the mouse which your...
  • Your baby will:
  • - Learn to spot shapes
  • - Learn to recognize shapes
  • - Develop visual perception
  • - Features
  • - Quality graphics
  • - Kid friendly interface
  • - Highly interactive and intuitive to use

Q&A

avatar
What are the most popular mobile app development community sites?

1.) Simplicity of the conceptual model
2.)  The developer tools that come with the platform
I had never been charmed by a platform, then I met iOS. I get little butterflies when I program on it. Its like the Notebook. It uses such a simple MVC paradigm for development that gives you a real nice set of rails to develop you app along. Further, the development tools available for iOS, namely XCode, are top notch. Its a beautiful IDE, and its Interface Builder is extremely powerful, and simple to use.
Android on the other hand leaves a bad taste in my mouth, namely the conceptual model for An…