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

Four Platforms, One Codebase - GANG, Feb 2014

Four Platforms, One Codebase - GANG, Feb 2014

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

February 19, 2014
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. silos • build app multiple times • multiple teams •

    multiple code bases • different toolsets
  3. write once, run anywhere • lowest common denominator • browser

    fragmentation • developing and designing for one platform
  4. xamarin‘s unique approach • native user interface • native performance

    • shared code across platforms • c# and .net framework • full api coverage
  5. C# is awesome • async/await • linq • xml +

    xdocument • event handling, delgates, lambdas • generics
  6. + (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; }
  7. NSString *string = @“ spaces in front and at the

    end “; NSString *trimmedString = [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
  8. json serializer file system sqlite message bus visibilit y download

    cache gp s web browser photos localization email network phone call accelerometer