SlideShare a Scribd company logo
Google Developer Group
   January 14th, 2013
Mono for Android...
for Google Developers

                   Craig Dunn
               Developer Evangelist
         craig@xamarin.com @conceptdev
Xamarin's 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 between
MonoDevelop and Visual Studio. What's in it for Java developers? C# is an easy
leap, and you can then re-use your code on iOS and Windows devices. We'll look at
the tooling, building an Android app with C# and the principles of sharing code with
iPhones, iPads and Windows.
Headline
Your	
  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...
     http://www.mono-project.com/
     http://github.com/mono
     http://xamarin.com/
What is Mono for Android?


    Mono C# & .NET
  + Android API bindings
  + UI designer
  + Visual Studio plug-in (or MonoDevelop)
  = Android application development

  http://xamarin.com/android


             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
Headline
Your	
  own	
  sub	
  headline




                                 DEMO
Who moved my cheese?




• /res/ & R.java
• findViewById
• Android.xml
• Anonymous classes
• Naming (InitialCaps)!
Headline
Your	
  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...
Linking


Mono 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
         operations
By 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 APIs


xamarin.com/mobile
• Camera
• Contacts
• Geolocation
• Compass/Accelerometer
• Notifications

For 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 UI
for each platform
Cross-Platform Development




iCircuit
• Code re-use




 http://praeclarum.org/
Headline
Your	
  own	
  sub	
  headline




                                 DEMO
Cross-Platform Development


MWC 2012 sample
Cross-Platform Development


mwc.xamarin.com
Cross-Platform Development


Other Cross-Platform Libraries
• MonoCross              code.google.com/p/monocross
  Cross-platform UI framework


• Vernacular             github.com/rdio/vernacular
  Cross-platform localization framework


• MonoGame              monogame.net
  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)
Headline
Your	
  own	
  sub	
  headline




                                 Questions?
Headline
Your	
  own	
  sub	
  headline




                                 Thank you!



        Learn more at our conference
            xamarin.com/evolve
         Austin, Texas ~ April 14-17

More Related Content

What's hot (20)

PDF
Xamarin for (not only) Android developers
Aleksander Piotrowski
 
PPTX
An introduction to Xamarin
Cynoteck Technology Solutions Private Limited
 
PDF
Presentazione Corso LAP 2 A.A. 2016/2017
University of Catania
 
PDF
LAP2 iOS and Android Development environment setup
University of Catania
 
PDF
Hybrid mobile development with Red Hat JBoss developer studio
Gorkem Ercan
 
PDF
Mono for .NET Developers
jeffz
 
PPTX
[MobConf] Go mobile with C#, Visual Studio & Xamarin
Nish Anil
 
PPTX
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
Mark Radacz
 
KEY
Mobile html5 v2
HunterLoftis
 
PDF
Apps with Apache Cordova and Phonegap
Christian Grobmeier
 
PDF
Write cross platform native apps in Ruby
Giedrius Rimkus
 
PPTX
Java presentation
surajdmk
 
PPT
Multi-platform Mobile apps with Phonegap
Gautam Chaudhary
 
PPTX
Xamarin Overview
Jacob Nelson
 
PPTX
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
Buff Nguyen
 
PPTX
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Ed Snider
 
PPTX
20141216 멜팅팟 부산 세션 ii - cross platform 개발
영욱 김
 
PPTX
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
akamud
 
PDF
Xamarin Traditional Approach & Xamarin.Forms
William S. Rodriguez
 
PPT
An introduction to Windows Mobile development
Dale Lane
 
Xamarin for (not only) Android developers
Aleksander Piotrowski
 
Presentazione Corso LAP 2 A.A. 2016/2017
University of Catania
 
LAP2 iOS and Android Development environment setup
University of Catania
 
Hybrid mobile development with Red Hat JBoss developer studio
Gorkem Ercan
 
Mono for .NET Developers
jeffz
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
Nish Anil
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
Mark Radacz
 
Mobile html5 v2
HunterLoftis
 
Apps with Apache Cordova and Phonegap
Christian Grobmeier
 
Write cross platform native apps in Ruby
Giedrius Rimkus
 
Java presentation
surajdmk
 
Multi-platform Mobile apps with Phonegap
Gautam Chaudhary
 
Xamarin Overview
Jacob Nelson
 
OGDC2012 Cross-Platform Development On Mobile Devices_Mr.Takaaki Mizuno_DeNA
Buff Nguyen
 
Xamarin.Forms (Northern VA Mobile C# Developers Group 8/13/14)
Ed Snider
 
20141216 멜팅팟 부산 세션 ii - cross platform 개발
영욱 김
 
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
akamud
 
Xamarin Traditional Approach & Xamarin.Forms
William S. Rodriguez
 
An introduction to Windows Mobile development
Dale Lane
 

Similar to Mono for Android... for Google Devs (20)

PDF
Introduction to Cross Platform Development with Xamarin/ Visual Studio
IndyMobileNetDev
 
PPTX
Introduction to xamarin
Alejandro Ruiz Varela
 
PPTX
Introduction to Xamarin Mobile Platform
Dominik Minta
 
PPTX
Introduction to Xamarin
Brian Anderson
 
PPTX
Introduction to xamarin
Christos Matskas
 
PPTX
Xamarin Development
Alper Ebicoglu
 
PPTX
Cross-Platform Mobile Development using Visual Studio and Xamarin
Shravan Kumar Kasagoni
 
DOCX
Mobile development xamarain
Aravindharamanan S
 
PDF
Xamarin Platform
Rui Marinho
 
PDF
Introduction to xamarin
Daniel Fikre
 
PDF
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
Craig Dunn
 
PDF
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
PPTX
Develop android application with mono for android
Nicko Satria Consulting
 
PPTX
EastBay.NET - Introduction to MonoTouch
mobiweave
 
PDF
MVP Mix 2015 - Introduction to Xamarin Development
James Montemagno
 
PPTX
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
Flavius-Radu Demian
 
KEY
Cross-platform Mobile Development
Xamarin
 
PPTX
Cross Platform Mobile Development with Xamarin
Puja Pramudya
 
PPTX
.NET? MonoDroid Does
Kevin McMahon
 
PPTX
Introduction to MonoTouch
Jonas Follesø
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
IndyMobileNetDev
 
Introduction to xamarin
Alejandro Ruiz Varela
 
Introduction to Xamarin Mobile Platform
Dominik Minta
 
Introduction to Xamarin
Brian Anderson
 
Introduction to xamarin
Christos Matskas
 
Xamarin Development
Alper Ebicoglu
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Shravan Kumar Kasagoni
 
Mobile development xamarain
Aravindharamanan S
 
Xamarin Platform
Rui Marinho
 
Introduction to xamarin
Daniel Fikre
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
Craig Dunn
 
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
Develop android application with mono for android
Nicko Satria Consulting
 
EastBay.NET - Introduction to MonoTouch
mobiweave
 
MVP Mix 2015 - Introduction to Xamarin Development
James Montemagno
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
Flavius-Radu Demian
 
Cross-platform Mobile Development
Xamarin
 
Cross Platform Mobile Development with Xamarin
Puja Pramudya
 
.NET? MonoDroid Does
Kevin McMahon
 
Introduction to MonoTouch
Jonas Follesø
 
Ad

More from Craig Dunn (17)

PDF
Visual Studio for Mac (AltConf 2017)
Craig Dunn
 
PDF
Introduction to iOS 9 (Xamarin Evolve 2016)
Craig Dunn
 
PPTX
Xamarin for iOS developers
Craig Dunn
 
PPTX
Introduction to Xamarin.Forms 2.x
Craig Dunn
 
PDF
Xamarin DevDays Portland - iOS 9
Craig Dunn
 
PDF
Wearables with C# and Xamarin
Craig Dunn
 
PPTX
What's New Xamarin.Forms 1.3
Craig Dunn
 
PDF
Your First Xamarin.Forms App
Craig Dunn
 
PDF
Introduction to iOS with C# using Xamarin
Craig Dunn
 
PDF
iOS & Android apps using Parse and Xamarin
Craig Dunn
 
PDF
Azure Mobile Services - more than just cloud data
Craig Dunn
 
PDF
Cloud-enabling iOS & Android apps with C# (using Xamarin)
Craig Dunn
 
PDF
Cloudy with a Chance of Cross Platform (for Bay.NET)
Craig Dunn
 
PDF
Async Await for Mobile Apps
Craig Dunn
 
PDF
Xamarin v.Now
Craig Dunn
 
PDF
C# everywhere
Craig Dunn
 
KEY
PassKit on iOS6
Craig Dunn
 
Visual Studio for Mac (AltConf 2017)
Craig Dunn
 
Introduction to iOS 9 (Xamarin Evolve 2016)
Craig Dunn
 
Xamarin for iOS developers
Craig Dunn
 
Introduction to Xamarin.Forms 2.x
Craig Dunn
 
Xamarin DevDays Portland - iOS 9
Craig Dunn
 
Wearables with C# and Xamarin
Craig Dunn
 
What's New Xamarin.Forms 1.3
Craig Dunn
 
Your First Xamarin.Forms App
Craig Dunn
 
Introduction to iOS with C# using Xamarin
Craig Dunn
 
iOS & Android apps using Parse and Xamarin
Craig Dunn
 
Azure Mobile Services - more than just cloud data
Craig Dunn
 
Cloud-enabling iOS & Android apps with C# (using Xamarin)
Craig Dunn
 
Cloudy with a Chance of Cross Platform (for Bay.NET)
Craig Dunn
 
Async Await for Mobile Apps
Craig Dunn
 
Xamarin v.Now
Craig Dunn
 
C# everywhere
Craig Dunn
 
PassKit on iOS6
Craig Dunn
 
Ad

Recently uploaded (20)

PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Digital Circuits, important subject in CS
contactparinay1
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
SIZING YOUR AIR CONDITIONER---A PRACTICAL GUIDE.pdf
Muhammad Rizwan Akram
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 

Mono for Android... for Google Devs

  • 1. Google Developer Group January 14th, 2013
  • 2. Mono for Android... for Google Developers Craig Dunn Developer Evangelist [email protected] @conceptdev Xamarin's 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 between MonoDevelop and Visual Studio. What's in it for Java developers? C# is an easy leap, and you can then re-use your code on iOS and Windows devices. We'll look at the tooling, building an Android app with C# and the principles of sharing code with iPhones, iPads and Windows.
  • 3. Headline Your  own  sub  headline OVERVIEW
  • 4. 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... http://www.mono-project.com/ http://github.com/mono http://xamarin.com/
  • 5. What is Mono for Android? Mono C# & .NET + Android API bindings + UI designer + Visual Studio plug-in (or MonoDevelop) = Android application development http://xamarin.com/android Released April 2011
  • 6. 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
  • 7. What is Mono for Android? • LINQ support • .NET XML APIs • Event handling & delegates • Parallel LINQ
  • 8. 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
  • 9. 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
  • 10. Headline Your  own  sub  headline DEMO
  • 11. Who moved my cheese? • /res/ & R.java • findViewById • Android.xml • Anonymous classes • Naming (InitialCaps)!
  • 12. Headline Your  own  sub  headline Tech stuff
  • 13. 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...
  • 14. Linking Mono 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 operations By default disabled in DEBUG, so stuff will work there and mysteriously break in RELEASE [Preserve(AllMembers = true)]
  • 15. 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
  • 16. Xamarin.Mobile APIs xamarin.com/mobile • Camera • Contacts • Geolocation • Compass/Accelerometer • Notifications For Android, iOS, Win Phone & Win 8/RT
  • 17. Cross-Platform Development • Share code • Shared data with SQLite • Shared web services with WebClient/ HttpClient • Conditional compilation (if required) Write your UI for each platform
  • 18. Cross-Platform Development iCircuit • Code re-use http://praeclarum.org/
  • 19. Headline Your  own  sub  headline DEMO
  • 22. Cross-Platform Development Other Cross-Platform Libraries • MonoCross code.google.com/p/monocross Cross-platform UI framework • Vernacular github.com/rdio/vernacular Cross-platform localization framework • MonoGame monogame.net Cross-platform XNA game framework, from Xbox to Windows RT (as well as iOS and Android)
  • 23. 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)
  • 24. Headline Your  own  sub  headline Questions?
  • 25. Headline Your  own  sub  headline Thank you! Learn more at our conference xamarin.com/evolve Austin, Texas ~ April 14-17