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

Four Platforms, One Codebase

Four Platforms, One Codebase

You want to write mobile apps, but you don’t want to write the same code four times over. You want cross-platform apps, but you don’t want to sacrifice the native speed and power. You want to create native iOS, Android, Windows Phone, and Windows 8 apps, and you want it all while maximizing code reuse and harnessing the power and simplicity of C#. You want four native platforms, but you want one codebase.
Of course you do. You want Xamarin.

Rob Gibbens

November 13, 2013
Tweet

More Decks by Rob Gibbens

Other Decks in Programming

Transcript

  1. Not Sure / Don’t Know $100,000 - $500,000 $50,000 -

    $100,000 $25,000 - $50,000 Less than $25,000 0% 7% 14% 21% 28% 10.8% 27.0% 27.0% 24.3% 10.8%
  2. Why Xamarin? ▪ share code between platforms ▪ use our

    existing .net skills ▪ powerful and modern framework ▪ easy access to native apis ▪ target multiple devices ▪ rich ide support ▪ extensive support and documentation
  3. Fully Native ▪ native compilation ▪ full support for underlying

    system ▪ no difference between mono-based and obj-c at runtime ▪ ui still written and defined in native apps ▪ native toolkit
  4. Shared Code ▪ most non-ui or platform code ▪ core

    application logic ▪ entities ▪ local database access ▪ linq queries ▪ network access
  5. + (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; }
  6. NSString *string = @“ spaces in front and at the

    end “; NSString *trimmedString = [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
  7. Requirements ▪ iOS ▪ mac ▪ xamarin.iOS ▪ xamarin studio

    or visual studio ▪ android ▪ mac or windows ▪ xamarin.android ▪ xamarin studio or visual studio ▪ windows phone / windows rt ▪ windows ▪ visual studio
  8. json serializer file system sqlite message bus visibility download cache

    gps web browser photos localization email network phone call accelerometer