Presentation is loading. Please wait.

Presentation is loading. Please wait.

Greg Shackles - June 12, 2012 Cross-platform mobile development with c#

Similar presentations

Presentation on theme: "Greg Shackles - June 12, 2012 Cross-platform mobile development with c#"— Presentation transcript:

1 Greg Shackles - June 12, 2012 Cross-platform mobile development with c#

2 About Me Greg Shackles Senior Software Engineer OLO Online Ordering github blog Slides

3 the Book Discount Code: AUTHD Print Book: 40% Off E-Book: 50% Off

4 Market Share (US): April % Android 31.4% Apple 11.8% RIM 4.0% Microsoft Source: comScore

5 native platform Languages Objective-C Java C#

6 Write once, run anywhere

7 platform differences !=

8 c# Everywhere MonoTouch Mono for Android Native

9 The Power of C# Base Class Library LINQ Parallel LINQ Memory Management Task Parallel Library Dynamic

10 xamarin Tools Access to full platform SDKs 100% Native Linker frequent releases active community Improved API

11 C# CFStringRef keys[] = { kCTFontAttributeName, kCTForegroundColorAttributeName }; CFTypeRef bval[] = { cfListLineCTFontRef, CGColorGetConstantColor(kCGColorBlack) }; attr = CFDictionaryCreate ( kCFAllocatorDefault, (const void **) &keys, (const void **) &bval, sizeof(keys) / sizeof(keys[0]), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); astr = CFAttributedStringCreate( kCFAllocatorDefault, CFSTR("Hello World"), attr); obj- c var attrs = new CFStringAttributes { Font = listLineCTFont, ForegroundColor = UIColor.Black.CGColor }; var astr = new NSAttributedString ("Hello World", attrs);

12 C#

13 Environment: iOS Mac OS XMonoDevelop Xcode Integration

14 Environment: android Mac OS X Windows MonoDevelop Visual Studio

15 UI Designer: MonoDevelop and Visual Studio Environment: android

16 Environment: windows phone WindowsVisual Studio

17 Some Apps... and many more! icircuitrdiogmusicc# to go infinite flightmwc 2012

18 Powerful and mature language Skill reuse Native apps Code reuse across platforms Benefits even non-mobile platforms!

19 app Architecture

20 What code can be shared? * with some limitations Most non-UI or platform code Core application logic Entities LINQ (objects, XML) Network access File / Database Access *

21 sharing techniques * currently in development File Linking Abstraction Observer Pattern Partial Classes and Methods Conditional Compilation portable class libraries *

22 library: Supports iOS, Android and Windows Phone

23 Demo Time

24 Questions?

Download ppt "Greg Shackles - June 12, 2012 Cross-platform mobile development with c#"

Similar presentations

Ads by Google