Mono for Android... for Google Devs
Upcoming SlideShare
Loading in...5

Mono for Android... for Google Devs



Presentation to the East Bay Google Developers Group - January 14th, 2013

Presentation to the East Bay Google Developers Group - January 14th, 2013



Total Views
Views on SlideShare
Embed Views



66 Embeds 11,563 4949 2630 972 404 297 272 202 180 135 111 98 97 96 92 83 78 66 55 55 54 53 50 43 38 35 33 33 32 25 24 23 23 22 21 18 16 16 16 14 13 11 10 10 9 7 7 5 3 3 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Mono for Android... for Google Devs Mono for Android... for Google Devs Presentation Transcript

  • Google Developer Group January 14th, 2013
  • Mono for Android...for Google Developers Craig Dunn Developer Evangelist @conceptdevXamarins Mono for Android tools let you build applications for Android using C#.You can write code on a Mac with MonoDevelop, or for Windows choose betweenMonoDevelop and Visual Studio. Whats in it for Java developers? C# is an easyleap, and you can then re-use your code on iOS and Windows devices. Well look atthe tooling, building an Android app with C# and the principles of sharing code withiPhones, iPads and Windows.
  • HeadlineYour  own  sub  headline OVERVIEW
  • What is Mono?Open source implementation of the .NET Common Language Runtime (CLR) and the C# language • Linux, MacOS X, Solaris, BSD, Wii, PS3, PS Vita! • Started in 2001 as Ximian, purchased by Novell in 2003, released in 2004 • 2009: MonoTouch created (released 2010) • 2010: Mono for Android created (released 2011) • 2011: Novell purchased by Attachmate ($2.2b) - Xamarin is born...
  • What is Mono for Android? Mono C# & .NET + Android API bindings + UI designer + Visual Studio plug-in (or MonoDevelop) = Android application development Released April 2011
  • What is Mono for Android?• Runs natively - Fast enough for games, eg. flight simulation• Use platform’s UI controls• Access all Android features• Incorporate existing Java
  • What is Mono for Android? • LINQ support • .NET XML APIs • Event handling & delegates • Parallel LINQ
  • Rich IDE Support • Point and Click UI generation • Code completion to explore Android APIs • Source control (Subversion & Git) • Use Visual Studio or our own cross-platform IDE
  • Debugging on Emulator & Devices• Debug with Android simulator and on devices• Set breakpoints, watches, single-step through code, hover over variables• Change object values real-time
  • HeadlineYour  own  sub  headline DEMO
  • Who moved my cheese?• /res/ &• findViewById• Android.xml• Anonymous classes• Naming (InitialCaps)!
  • HeadlineYour  own  sub  headline Tech stuff
  • Runtime• Mono runtime is bundled with each app• For faster debugging, a Shared Runtime can be installed• Apps deployed to users always include the runtime, but...
  • LinkingMono compiler strips out unused classes/libraries • Mobile devices – size matters! • Trap for young players: it might strip out stuff you want to keep! • Classes/methods/properties used via Reflection • Classes/methods/properties used in serialization operationsBy default disabled in DEBUG, so stuff will work there and mysteriously break in RELEASE [Preserve(AllMembers = true)]
  • Binding• Xamarin releases new versions of Mono for Android that correspond to each API level and release from Google.• Tools are provided to help you ‘bind’ any existing Java lib (.jar) to incorporate into your Mono app
  • Xamarin.Mobile• Camera• Contacts• Geolocation• Compass/Accelerometer• NotificationsFor Android, iOS, Win Phone & Win 8/RT
  • Cross-Platform Development• Share code• Shared data with SQLite• Shared web services with WebClient/ HttpClient• Conditional compilation (if required)Write your UIfor each platform
  • Cross-Platform DevelopmentiCircuit• Code re-use
  • HeadlineYour  own  sub  headline DEMO
  • Cross-Platform DevelopmentMWC 2012 sample
  • Cross-Platform
  • Cross-Platform DevelopmentOther Cross-Platform Libraries• MonoCross Cross-platform UI framework• Vernacular Cross-platform localization framework• MonoGame Cross-platform XNA game framework, from Xbox to Windows RT (as well as iOS and Android)
  • Customers Complete access to iOS & Android UI and APIs Native binary, not interpreted, for responsive, fluid performance under the most demanding app scenarios Infinite Flight TouchDraw Rdio iOS, Mac & Android iOS, Android, WP (Samsung only)
  • HeadlineYour  own  sub  headline Questions?
  • HeadlineYour  own  sub  headline Thank you! Learn more at our conference Austin, Texas ~ April 14-17