Slides from my MonoTouch session at DDD8, Reading, UK from 30th January 2010. Very similar slides to the ones from my Italian conference slides but slightly updated (to include iPad bits).
7. Learn to read Objective-C
• All Apple documentation is in Obj-C
• Most examples are in Obj-C
• It’s not too hard to understand
• It might even be fun...
16. The Bindings
• MonoTouch namespace
• MonoTouch.Foo namespace
• Maps to CocoaTouch’s Foo Framework
• 1:1 Mapping of classes.
• MonoTouch.UIKit.UILabel
• CocoaTouch’s UIKit framework, UILabel
class
17. Strong Types
• Objective-C
• Arrays are weakly typed:
• NSArray return values.
• MonoTouch has strong types
• UIView[] Subviews { get; }
• vs
• NSArray *subviews;
• Intellisense - explore the API...
18. Garbage Collection
• Automatic:
• Mono’s GC will collect objects on demand
• Deterministic:
• Use when you need control.
• Every object in MonoTouch implements IDisposable
using (var image = UIImage.FromFile(“foo.png”)){
surface.DrawImage(image, 20, 20);
}
23. Pipeline
• Interface Builder GUI Designer
• Exact same tool used by Xcode
• Support for existing Xcode interfaces
• MonoDevelop IDE
24. Integration
• Tight integration between MD and IB
• IB produces XIBs with MD parses
• Automatic class generation in MD
• Generates partial classes for all types,
outlets and actions defined in Interface
Builder
26. Actions
• Objects emit broadcast messages to
receivers
• You can do this C#
• MonoDevelop takes care of the details for
you
• Creates partial methods for you extend
29. Well...
• MonoTouch released around 15th
September 2009
• MonoTouch 1.1 on 2nd October 2009
• MonoTouch 1.2 (Beta) released on 28th
October 2009... With Debugging support
• Currently on MonoTouch 1.4.5
30. Debugger
• MonoTouch debugger leverages Mono’s
new Soft-Debugger
• Supports the Simulator
• Supports the Device...
• even over WiFi
32. Caveats
• Debug binaries on devices are very large
• Cannot debug Main or FinishedLaunching
on device
• Consumes more memory runtime
• Performance hit
33. Getting started
• Get iPhone SDK from Apple
• Get Mono from Novell
• Get MonoTouch (evaluation version is free)
• Get MonoDevelop
• Register with Apple iPhone Developer
Program and purchase MonoTouch for
putting apps on device and AppStore.