ios & android dev in c# & visual studio using xamarin

43
iOS & Android Development in C# & Visual Studio

Upload: nish-anil

Post on 07-May-2015

1.243 views

Category:

Technology


12 download

DESCRIPTION

Rarely does a developer have the luxury of building mobile apps for a single mobile platform. The fact is, the smartphone and tablet space is dominated by three big platforms: iOS, Android and Windows. Traditionally, this means using each platform's provided technology and SDK, i.e. Objective-C for iOS, Java for Android and .NET for Windows, or choosing a write-once/run-anywhere cross-platform toolkit which provides a lowest-common-denominator experience on all platforms, and prevents developers from going "to the metal" on any given platform to take advantage of the native features that make a mobile platform great. With Xamarin, however, this limitation does not exist. Not only do you get a single, modern language (C#) and framework (.NET) across all three platforms, but you also get a native experience on each, giving your code direct access to the underlying SDK and device metal, including platform-specific UI and device capabilities, so that you can deliver a truly amazing native experience on every platform you target.

TRANSCRIPT

Page 1: iOS & Android Dev in C# & Visual Studio using Xamarin

iOS & Android Development in C# & Visual Studio

Page 2: iOS & Android Dev in C# & Visual Studio using Xamarin

Nishanth AnilDeveloper Evangelist Xamarin

[email protected] @nishanil

Page 3: iOS & Android Dev in C# & Visual Studio using Xamarin

Native Platform Languages

Page 4: iOS & Android Dev in C# & Visual Studio using Xamarin

Write Once, Run Anywhere?

!= !=

Page 5: iOS & Android Dev in C# & Visual Studio using Xamarin

C# to the rescue!

Page 6: iOS & Android Dev in C# & Visual Studio using Xamarin

How?

Page 7: iOS & Android Dev in C# & Visual Studio using Xamarin
Page 8: iOS & Android Dev in C# & Visual Studio using Xamarin

What is Mono?

• Open source implementation of the .NET platform created by Ximian (ECMA 334/335)

• 2001: Created to bring Windows applications to Linux

• 2003: Acquired by Novell with Ximian

• Matured at Novell in research mode; now a world-class runtime.

Page 9: iOS & Android Dev in C# & Visual Studio using Xamarin

C#

IronRuby

IronPython

Visual Basic

F#

Page 10: iOS & Android Dev in C# & Visual Studio using Xamarin

C# everywhere…

Page 11: iOS & Android Dev in C# & Visual Studio using Xamarin

Xamarin

• Founded in May 2011

• Xamarin has a perpetual license to all Mono IP: Copyrights, patents and trademarks

• Focused on mobile app development

Page 12: iOS & Android Dev in C# & Visual Studio using Xamarin

Write 100% native iOS, Android and

C#

Write 100% native iOS, Android and Windows apps in C#

Page 13: iOS & Android Dev in C# & Visual Studio using Xamarin

Anything you can do in Objective-C or Java can be done in C# with Xamarin.

Page 14: iOS & Android Dev in C# & Visual Studio using Xamarin

Modern language C#

Shared code

High performance

Page 15: iOS & Android Dev in C# & Visual Studio using Xamarin
Page 16: iOS & Android Dev in C# & Visual Studio using Xamarin
Page 17: iOS & Android Dev in C# & Visual Studio using Xamarin

How does it work?

• Mono

• “Bindings”

• exposes underlying SDKs as C#

C# 5 .NET 4.5

Page 18: iOS & Android Dev in C# & Visual Studio using Xamarin
Page 19: iOS & Android Dev in C# & Visual Studio using Xamarin

You

Us

Them

Page 20: iOS & Android Dev in C# & Visual Studio using Xamarin

iOS Development

Page 21: iOS & Android Dev in C# & Visual Studio using Xamarin

iOS Development

Page 22: iOS & Android Dev in C# & Visual Studio using Xamarin

iOS Apps in Visual Studio !?

Page 23: iOS & Android Dev in C# & Visual Studio using Xamarin

Android Development

Page 24: iOS & Android Dev in C# & Visual Studio using Xamarin

Mac OS X Windows

IDE

iOS

Android

Mac

Windows/Phone

Xamarin Business Edition

+

Mac+

C# Development Environments

Page 25: iOS & Android Dev in C# & Visual Studio using Xamarin

Building for Cross Platform

• File Linking

• Portable Class Library

• Conditional Compilation

• Other frameworks..

Page 26: iOS & Android Dev in C# & Visual Studio using Xamarin

• Easy/Avoids complexities of PCL

• Can use conditional compilation

File Linking

Page 27: iOS & Android Dev in C# & Visual Studio using Xamarin

Portable Class Libraries

Page 28: iOS & Android Dev in C# & Visual Studio using Xamarin

• Pre-defined Symbols

• #if __iOS__

• #if __ANDROID__

• #if __MOBILE__

• #if __NETFX_CORE__

Conditional Compilation

Page 29: iOS & Android Dev in C# & Visual Studio using Xamarin

Other Frameworks…• MVVMCross

• https://github.com/MvvmCross/MvvmCross

• MonoCross

• http://monocross.net

• http://ifactr.com

• Reactive Extensions / Reactive UI

• http://www.reactiveui.net/

• Vernacular (Localization)

• https://github.com/rdio/vernacular

Page 30: iOS & Android Dev in C# & Visual Studio using Xamarin

Maximize Shared Code• SQLite-NET

• Web Services

• Business Logic

• Input Validation

• File Operations (& caching)

• Background Tasks

• Localization

Page 31: iOS & Android Dev in C# & Visual Studio using Xamarin

Links• DietCalculator

• https://github.com/nishanil/DietCalculatorPCL

• https://github.com/nishanil/DietCalculatorVS

• iOS

• https://github.com/xamarin/monotouch-samples

• Android

• https://github.com/xamarin/monodroid-samples

• Pre-built Apps

• https://github.com/xamarin/prebuilt-apps

Page 32: iOS & Android Dev in C# & Visual Studio using Xamarin

Cloudy Cross-Platform Apps

XamarinC# on iOS and Android

Azure

Parse

Page 33: iOS & Android Dev in C# & Visual Studio using Xamarin

Azure Component

Page 34: iOS & Android Dev in C# & Visual Studio using Xamarin

Azure Portal

http://windowsazure.com

Page 35: iOS & Android Dev in C# & Visual Studio using Xamarin

Azure DemoInitialize

await a list of data

await inserting a new object

Page 36: iOS & Android Dev in C# & Visual Studio using Xamarin

Azure Demo

Page 37: iOS & Android Dev in C# & Visual Studio using Xamarin

Cloudy Cross-Platform Apps

XamarinC# on iOS and Android

Azure

Parse

Page 38: iOS & Android Dev in C# & Visual Studio using Xamarin

Parse Component

Page 39: iOS & Android Dev in C# & Visual Studio using Xamarin

Parse Portal

http://parse.com

Page 40: iOS & Android Dev in C# & Visual Studio using Xamarin

Parse DemoInitialize

await a list of data

await inserting a new object

Page 41: iOS & Android Dev in C# & Visual Studio using Xamarin

Parse Demo

Page 42: iOS & Android Dev in C# & Visual Studio using Xamarin

https://github.com/xamarin/mobile-samples/tree/master/TaskyPortable

https://github.com/conceptdev/TaskCloud (Azure & Parse)

Links

Page 43: iOS & Android Dev in C# & Visual Studio using Xamarin

Nishanth AnilDeveloper Evangelist Xamarin

[email protected] @nishanil