Video for this session: http://www.youtube.com/watch?v=LYhXuhMnke8
Give your feedback on the session: http://bit.ly/xamfeedback
Complementing Mike's Getting Started with Mono Android Seminar, Mike walks us through the basics of beginning iPhone and iPad development with MonoTouch.
13. What is MonoTouch?
• Platform for creating native iOS
applications using C#
• Supports App Store and Enterprise
Deployment
14. What is MonoTouch?
• Platform for creating native iOS
applications using C#
• Supports App Store and Enterprise
Deployment
• Ahead of Time Compiler
15. What is MonoTouch?
• Platform for creating native iOS
applications using C#
• Supports App Store and Enterprise
Deployment
• Ahead of Time Compiler
• Bindings to Objective-C classes
33. What is supported?
• LINQ
• Generics
• Strong typing
• ADO.NET wrappers over SQLite
34. What is supported?
• LINQ
• Generics
• Strong typing
• ADO.NET wrappers over SQLite
• etc...
35. What is supported?
• LINQ
• Generics
• Strong typing
• ADO.NET wrappers over SQLite
• etc...
• Can port most non-UI code with little or
sometimes no code change
40. How does it work?
• MonoTouch uses Ahead-Of-Time
compilation to produce a single statically
compiled ARM binary
41. 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
42. 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
49. JIT-less Environment
• Apple restricts this by policy and in kernel
• Eliminates some .NET areas
• CodeDom, Reflection-Emit (although
reflection works),Virtual generic
methods, DLR
52. Memory Management
• .NET objects are garbage collected
• Objective-C (on iOS) however uses retain
counts
53. Memory Management
• .NET objects are garbage collected
• Objective-C (on iOS) however uses retain
counts
• MonoTouch abstracts this away
54. Memory Management
• .NET objects are garbage collected
• Objective-C (on iOS) however uses retain
counts
• MonoTouch abstracts this away
• Creates autorelease pool for main thread
and thread pool
55. Memory Management
• .NET objects are garbage collected
• Objective-C (on iOS) however uses retain
counts
• MonoTouch abstracts this away
• Creates autorelease pool for main thread
and thread pool
• Create autorelease pool manually if using
Objective-C objects on your own threads
58. Xcode Integration
• Interface Builder from Apple previously was
a stand alone application
• Apple has now merged it into Xcode
59. Xcode Integration
• Interface Builder from Apple previously was
a stand alone application
• Apple has now merged it into Xcode
• MonoTouch supports Xcode’s integrated
Interface Builder
61. Books
Professional iPhone Programming with MonoTouch and .NET/C#
(7/13/2010)
by Wallace B. McClure, Craig Dunn, Chris Hardy, Martin Bowling,
Rory Blyth
Developing C# Apps for iPhone and iPad using MonoTouch: iOS Apps
Development for .NET Developers: 1st Edition (6/9/2011)
by Bryan Costanich
Learning MonoTouch: A Hands-On Guide to Building iOS Applications
with C# and .NET (8/8/2011)
by Michael Bluestein
iOS Development using MonoTouch Cookbook (12/14/2011)
by Dimitris Tavlikos