Most cross-platform solutions benefit developers and customers, but rarely value users and user experience. * kidding, of course you don’t. Users are cuddly. Friday, August 24, 12
less code to target multiple platforms. • Typically you must learn a new, custom way of coding for the middle framework in order to use it and target multiple platforms. *learning new stuff is not bad. Embrace it. Then decide the best path. Friday, August 24, 12
developer faces three basic hurdles: You must learn the Objective-C language...You must master the big ideas... You must master the frameworks.” Friday, August 24, 12
while: • reusing as much code as possible • not sacrificing user experience • not sacrificing performance • not sacrificing features Friday, August 24, 12
Project began in 2001 • Novell “held” project for years • Mono “died” when Novell was acquired April 2011 • Xamarin founded May 2011 Friday, August 24, 12
based on the Ecma standards for C# and the Common Language Runtime • Mono's C# compiler is feature complete for C# 1.0, 2.0, 3.0, and 4.0 (Ecma) • The runtime implements the Ecma Common Language Infrastructure (CLI). The runtime provides a Just-in-Time (JIT) compiler, an Ahead- of-Time compiler (AOT), a library loader, the garbage collector, a threading system and interoperability functionality. Friday, August 24, 12
20+ Members from the Mono team • Self funded • Selling • MonoTouch for iOS • Mono for Android • Support Contracts • Other projects include MonoGame Friday, August 24, 12
would be fun to do has turned out to yield some serious benefits for our products. It’s important for a startup to stay focused, but sometimes you have to try something crazy to make progress. And who knows, maybe Google will thank us some day.” Friday, August 24, 12
this adding Garbage Collection • Most classes expose a Dispose() method *newer iOS provides Automatic Reference Counting (ARC) that makes this less of a burden Friday, August 24, 12
logic can be shared across all platforms using • Shared Libraries • Linked Files • Other methods • Partial Classes • Conditional Compilation • Default platform symbols provided Friday, August 24, 12