Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monotouch: C# + iOS = Good Times

Monotouch: C# + iOS = Good Times

MonoTouch allows you to harness all those C# skills and most of those handy .NET/Mono libraries to create truly native apps for iOS with a sprinkle of cross-platform support. But why not just use objective-c you cry? Choice is nice, so is C# and so is the range of libraries available for mono!

In this talk I will dive in to what makes MonoTouch so compelling for .NET developers wanting to break into iOS development and even how these skills can be harnessed to create cross platform native applications for iOS, Android and WP7 through a shared codebase.

James Hughes

June 07, 2012
Tweet

More Decks by James Hughes

Other Decks in Technology

Transcript

  1. \O/

  2. MonoTouch? > C# for iOS > Creates NATIVE Apps >

    Certain limitations - No JIT - No Reflection - No DLR
  3. + (NSDate *) stripTime:(NSDate *) date { NSCalendar *gregorian =

    [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *components = [gregorian components: (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date]; date = [gregorian dateFromComponents:components]; [gregorian release]; return date; }
  4. > Touch.Unit > MonoTouch.Dialog > 3rd Party Libs - iOS

    - .NET > Recipes & Samples Extra Treats
  5. [TestFixture] public class Tests { [Test] public void Pass ()

    { Assert.True (true); } [Test] public void Fail () { Assert.False (true); } [Test] public void Ignore () { Assert.True (false); } } Touch.Unit
  6. public class Expense { [Section("Expense Entry")] [Entry("Enter expense name")] public

    string Name; [Section("Expense Details")] [Caption("Description")] [Entry] public string Details; [Checkbox] public bool IsApproved = true; [Caption("Category")] public Category ExpenseCategory; } MonoTouch.Dialog
  7. > Mono for Android > WP7 > Xamarin.Mobile - Contacts

    - Geolocation - Camera Beyond iOS