This document summarizes Chris Hardy's presentation on mobile development platforms. He discussed Windows Phone 7, MonoTouch for iOS, and MonoDroid for Android. He covered code reuse across platforms using libraries like Json.Net and FlickrNet. He demonstrated a Twitter app built with each platform. Key takeaways included strategies for porting code between platforms and leveraging common .NET APIs while working around platform limitations.
7. Windows Phone 7
•Windows Only
•Visual Studio 2010 / Expression Blend 4
• Silverlight for Windows Phone...
• Great information for developers
8. MonoTouch
• Mac only
• MonoDevelop
•Apple’s Interface Builder
• Superset of Silverlight 3
• Good community around
9. MonoDroid(currently in preview form)
• Cross platform
•Visual Studio 2010 / MonoDevelop
• XML Files / DroidDraw
• Superset of Silverlight 3
• Early days
10. Windows Phone 7
• Metro
• Panorama/Pivot
• Launchers/Choosers
• Tombstoning
25. 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
26. 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...
27. 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);
}
31. 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