Intro to MonoTouch
Upcoming SlideShare
Loading in...5

Like this? Share it with your network

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 9,208 9,156 19 16
url_unknown 9 3 2 1 1 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Introduction to MonoTouch Developing iPhone Applications with C# Mike Bluestein 6/19/2010
  • 2. What is MonoTouch?
    • Platform for creating native iPhone application using .Net
      • Ahead of Time Compiler
      • Bindings to Objective-C classes
      • Garbage Collection
      • MonoDevelop IDE
      • Remote Debugger
      • Interface Builder Integration
      • Stellar Development Team and Community
  • 3. What do I need?
      • Mac running Snow Leopard
      • iPhone Developer account
      • MonoTouch License
  • 4. What can I do in MonoTouch?
      • Anything you can do in Objective-C
      • Full support for CocoaTouch
      • Additionally adds .Net framework (based upon Moonlight)
        • Linq
        • Generics
        • WCF
        • ADO.Net wrappers over SQLite
        • etc...
        • Can port most non-ui code with little or sometimes no code change
  • 5. How does it work?
    • MonoTouch uses Ahead-Of-Time compilation to produce a single statically compiled ARM binary.
      • AOT compilation pre-generates all the native code that the JIT would normally generate from IL.
      • Links this together with the JIT-less runtime into a single native binary that can be signed.
        • Apple does not allow JIT
      • IL is stripped from the managed assemblies, leaving only metadata
  • 6. More About JIT-less environment 
      • Apple restricts this by policy and in kernel.
      • Eliminates some .Net areas
        • CodeDom
        • Reflection-Emit
        • DLR
  • 7. Memory Management
      • .Net objects are garbage collected
      • Objective-C (on iPhone) however uses retain counts
      • MonoTouch abstracts this away
        • Creates an autorelease pool for anything on the main thread as well as thread pool threads
        • You create autorelease pool if using objective-c objects on your own threads.
  • 8. Demos
  • 9. Questions?
    • twitter: @mikebluestein
    • blog:
    • email:
    • Resources:
    •  - official monotouch site
    • - unofficial community site that aggregates
    •   lots of MonoTouch content
    • irc: #monotouch