boutisa's picture
From boutisa rss RSS  subscribe Subscribe

C# On The iPhone with MonoTouch at DDD8 

C# On The iPhone with MonoTouch at DDD8

 

 
 
Tags:  ipad  monotouch  mono  ddd8 
Views:  1562
Published:  May 10, 2010
 
0
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
Related Plicks
No related plicks found
 
More from this user
home depot Annual Report 2005

home depot Annual Report 2005

From: boutisa
Views: 1130
Comments: 0

Auto Insurance Quotes Canada

Auto Insurance Quotes Canada

From: boutisa
Views: 326
Comments: 0

marathon oil   	  2nd Quarter 2002

marathon oil 2nd Quarter 2002

From: boutisa
Views: 407
Comments: 0

Fixing Bad Finance credit debt

Fixing Bad Finance credit debt

From: boutisa
Views: 566
Comments: 0

Inbound Call Centers Services India

Inbound Call Centers Services India

From: boutisa
Views: 555
Comments: 0

Iphone Easy Unlock Available

Iphone Easy Unlock Available

From: boutisa
Views: 541
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
 
 
Notes:
 
Slide 1: C# on the iPhone with MonoTouch Chris Hardy follow on Twitter - @chrisntr
Slide 2: http://greatfridays.com
Slide 3: Covering... • What is MonoTouch? • How does it work? • Why would you use it? • Demos
Slide 4: Starting point....
Slide 5: Objective C and Xcode
Slide 6: Learn to read Objective-C
Slide 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...
Slide 8: What is MonoTouch?
Slide 9: What is Mono?
Slide 10: What is Mono? Open Source .Net Implementation of the Microsoft .Net Framework
Slide 11: Mono’s JIT Engine Memory Mono CIL
Slide 12: Apple No No... • Contractual Requirements • No interpreted code • No shared libraries • Kernel Limitations • iPhone OS 2.0+ disables JIT
Slide 13: Mono’s AOT Engine Native Code Mono AOT CIL Mono Runtime ARM
Slide 14: • mtouch • MonoDevelop iPhone Add-In • CocoaTouch.NET • Full static AOT compiler • Support for all your existing code • Reflection • Generics • LINQ • Anonymous Methods • Lambda’s etc... Monotouch Features
Slide 15: MonoTouch’s APIs
Slide 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
Slide 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...
Slide 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); }
Slide 19: Linker
Slide 20: What about App Size? • 10 MB (compressed) limit on 3G/Edge downloads • .Net BCL and other libraries are huge • Mono Linker to the rescue!
Slide 21: Linking Assemblies
Slide 22: Linker Options • No Link • Link SDK Only • Full Link
Slide 23: Pipeline • Interface Builder GUI Designer • Exact same tool used by Xcode • Support for existing Xcode interfaces • MonoDevelop IDE
Slide 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
Slide 25: Outlets • Instance Variables • Can be strong or loosely typed • MD will strong type
Slide 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
Slide 27: MonoTouch Events • Supports Objective-C pattern: webView.Delegate = new MyWebViewDelegate(); • C# style events as well: webView.PageLoaded += delegate { HideSpinningWheel(); }
Slide 28: Debugging • Console.WriteLine(“Debugging inside of MonoTouch”); • printf(“I made it to this line!\n”)
Slide 29: Well... • MonoTouch released around 15th September 2009 • MonoTouch 1.1 on 2nd October 2009 • MonoTouch 1.2 (Beta) released on 28th • Currently on MonoTouch 1.4.5 October 2009... With Debugging support
Slide 30: Debugger • MonoTouch debugger leverages Mono’s new Soft-Debugger • Supports the Simulator • Supports the Device... • even over WiFi
Slide 31: Debugger Features • Breakpoints • Catchpoints • Inspection • Watches • Immediate / Expression Evaluator • Call Stack • Stepping
Slide 32: Caveats • Debug binaries on devices are very large • Cannot debug Main or FinishedLaunching on device • Consumes more memory runtime • Performance hit
Slide 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.
Slide 34: One more thing...
Slide 35: iPad • But you want to develop for the iPad... • 24 Hours after the SDK was released... • MonoTouch support for iPad
Slide 36: Demo time...
Slide 37: Q +A twitter.com/chrisntr chrisntr@gmail.com

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location