Xamarin, the current care takers of the Mono project, have released a prototype of Android with the Java virtual machine completely removed. In its place is the Mono for Android version of the CLR, with most of the Java APIs converted into C# code.
When working with iOS and MonoTouch, you may find yourself needing to display data from a SQLite table. While this can be done directly by building up your own UITableViewController, the process can be quite time consuming with quite a bit of boilerplate code. Jeffrey Stedfast has found a way to reduce simple table binding to what’s basically a single method with MonoTouch.SQLite.
Mono for Android will soon have its own visual UI designer. Currently a private beta is available; developers interested are encouraged to sign up for the Mono for Android Designer Beta program. We spoke with Lluis Sanchez, the UI designer architect, for more information.
Mono 2.11 is the first of a series of preview releases designed to showcase the next version of Mono. Among other things there is an emphasis on compatibility with .NET 4.5 and C# 5.0.
A new report released by VisionMobile provides data on what cross-platform tools developers currently use, what they intend to use in the future and what tools they plan to abandon. The results of the survey indicate a volatile market, many developers changing their preferences in their pursue for a better tool.
MonoTouch for iOS now supports the generational garbage collector SGen. Until recently this was an experimental option only available on the full version of Mono. Along with it comes a Memory Profiler for iOS that it accessible via the MonoDevelop IDE.
An ongoing problem with specialized platforms is the lack of support for unit testing. Developers are forced to compromise the quality of their tests or their build process in order to get anything working. Recently MonoTouch has made progress in this area, but Windows Phone and Mono for Android still lag behind.
MonoTouch.Dialog is a UI development toolkit designed to dramatically reduce the amount of boilerplate code needed to create application screens for the iPhone and iPad. Through the creative use of attributes, screens are dynamically built from class definitions. Alternately they can be programmatically created or loaded from a JSON document.
In an year end post, Miguel de Icaza takes us through the major milestones for Mono in 2011. We present a summary here with the timeline.
CXXI, a new C++ Interop framework, allows easy interoperability between C# and C++ in Mono. Developers can, from C#, easily instantiate C++ objects, invoke C++ methods, subclass C++ classes, and more.
Beside C/C++, Google Native Client has added support for runtimes such as Mono, and a richer set of Pepper interfaces: accelerated 3D, full-screen, File IO, debugging, and others. New languages -Lua, TCL, OCaml- are being ported, and several major producers have ported their game engines or their games to NaCl.
The IKVM.NET project has released version 7 of its implementation of Java for the Mono and Microsoft .NET Framework. IKVM facilitates interoperability between Java the .NET platforms.
Mono for Android 4.0 comes with a VS plug-in, incremental build, incremental deployment, installer with all packages needed, Google Maps integration, and support for Java 7. Miguel de Icaza explains how incremental build and deployment works, and how much they help.
Xamarin, purveyors of C# compilers for Android and iOS, is looking to make mobile device code more portable by standardizing the way hardware is accessed. Their new abstraction layer, Xamarin.Mobile, allows the same code for contact, geolocation, and notifications to be used across each type of device.
Cross-platform code reuse is an important goal to many developers, and the Mono platform has been designed to facilitate this. But just how easy is it to move an existing .Net project to Mono? A recent article by developer Patrick Smacchia of NDepend shares his experience.