Review: Xamarin 2.0 works mobile development magic
Impressive Xamarin SDK brings native iPhone and Android development to C# programmers, Visual Studio
Visual Studio, meet the iPhone
Getting Visual Studio to download the app onto an iOS device did not go as smoothly. First, I had a different code-signing issue, which I tracked down to having to specify the app's signing profile along with its bundle ID. On the Mac, both Xcode and Xamarin Studio can find and assign the correct profile based on the bundle ID information alone. But Visual Studio only sees the Mac as a build server and thus needs the profile information entered explicitly.
Next, when I plugged a USB cable into the iPad, VMware Fusion asked whether the Mac or PC should manage the USB port; I chose PC. Visual Studio failed to detect the device. Xamarin tech support quickly set me straight: Because the build and debug control is managed by the Mac, it needs to own the USB port. After I chose the Mac, Visual Studio detected the device and downloaded code to either the iPad or iPhone. I could set and remove breakpoints, single-step through source code, and watch variables change.
I could build Android apps in both the PC version of the Xamarin Studio and in Visual Studio, but I could not get the Android simulator to launch. I knew this issue had something to do with the VMware environment, because a vanilla install of the Android SDK from the Google site exhibited the same problem. VMware helped me sort it out: Before you install the Android Developer Tools, turn off Shared Folders under VMware Fusion's Virtual Machines menu. Shared Folders allows you to easily share files between the Windows VM and the Mac, but it mangles a directory path that Xamarin Studio and Visual Studio need to launch the simulator. As long as Shared Folders is turned off, you can use the Android simulator.
Xamarin's tech support was very good. Reps often responded within hours of a query -- once, within 15 minutes. Also, the company issues frequent updates. It seemed that every time I launched the tools I got messages to download patches. On the downside, the documentation appears to be a work in progress. For a number of areas the online reference material displayed the message: "Documentation for this section has not yet been entered."
Xamarin offers its SDK in various flavors, ranging from free for the extremely limited Starter edition to $1,899 for the full-featured Enterprise edition. Note that it is all too easy to run into the 32KB code limit on the Starter edition. If you want to experiment without code restrictions and with Visual Studio, you'll need to register for a trial version of the Business edition.
Xamarin's toolkit is pretty compelling. It opens app development of the most popular mobile platforms to C# developers, and it lets you bring existing C# source libraries along for the ride. It provides the means where you can wrap such code with a UI native to the target platform. Finally, the SDK lets you use either Xamarin Studio or Visual Studio for C# development, and it allows the Mac required for final code generation to be shared.
You'll have to hire Android and iOS developers to handle the UI details, but if the plan is to deploy an app using C# code, then you've already discarded the hybrid app option and you'd be hiring those programmers anyway. Talented C# programmers seeking access to the rapidly growing mobile market will want to take a close look.
- Xamarin lets you write mobile apps entirely in C#, with no hacking necessary to access native iOS and Android APIs
- You can use Visual Studio to debug code both in simulators and on hardware
- Tech support responds promptly
- The Mac required for final iOS code generation can be shared
- Documentation is still not complete
- You still need a Mac for final iOS code generation
This article, "Review: Xamarin 2.0 works mobile development magic," was originally published at InfoWorld.com. Follow the latest developments in application development and mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.