xamarin day1

Click here to load reader

Post on 17-Jul-2015




3 download

Embed Size (px)


PowerPoint Presentation

XamarinSubodh N PushpakAndroid, iOS, SQLite and Xamarin FormsIND 14-16 Dec.AgendaDay 1Introduction to Xamarin / set up Demos: Xamarin development approachesDay 2Introduction to AndroidDemos: Android app with layouts, list view, adapters, navigation Day 3Advanced Android conceptsDemos: Advanced features like Fragments, GPS, Maps etc.

IND 14-16 Dec.AgendaDay 4Introduction to iOS Demos: iOS app, layout, navigations Day 5Advance iOS conceptsDemos: iOS app with GPS / Universal appsDay 6SQLiteDemos: Common SQLite app supporting ALL platforms

IND 14-16 Dec.AgendaDay 7Introduction to Xamarin FormsDemos: Xamarin Forms Day 8Xamarin FormsDemos: Harnessing MVVM / XAML / DataBindingDay 9Advance Xamarin formsDemos: Advanced features like GPS, Maps

IND 14-16 Dec.AgendaDay 10Advance Concepts : Calling servicesQ & A

IND 14-16 Dec.Introductions

IND 14-16 Dec.AgendaIntroductionsSetting expectationsTerminologiesGetting started ToolsGetting the problem rightWhy XamarinDemos

IND 14-16 Dec.Setting expectations

In next few days we will be introduced to gamut of technologies including:XamarinAndroidiOSSQLiteXamarin formsCalling REST services

IND 14-16 Dec.Setting expectations

Expectations from YOU:Think of an idea which you can wish to implement as mobile app.The idea is to identify gaps, bottlenecks and pitfalls when attempting to build an app with single code base across platforms.Xamarin requires at least basic understanding of workings of each of the platform; so its important to correlate and map ideas / principles of one platform with other and also understand its limitations.IND 14-16 Dec.Identifying the problem

Single App - Various platforms iOS, Android, WindowsVarious developer / toolset XCode, VS, Android StudioDifferent form factors of devices from phones to tabs. Each platform has its own unique flavor in terms of UI and user interactionsAccess to native APIsIND 14-16 Dec.

Silo Approach: Build Apps Multiple TimesStaff multiple platform-specific teamsExpensive to maintain multiple code basesSlows innovation

IND 14-16 Dec.Hybrid Approach

Poor user experienceAPI coveragePerformanceHigh abandonment ratesWasted investment

IND 14-16 Dec.Xamarin

Fully native apps- Native UI, Native PerformanceAnything you can do in Objective-C and Java can be doneRe-use existing skills, teams, tools and codeShare on average 75% source code across platforms

IND 14-16 Dec.Xamarin

Xamarin offers a single language C#, class library, and runtime that works across three mobile platforms - iOS, Android, and Windows Phone It still compiles native (non-interpreted) applications that are performant enough even for demanding games.Xamarin is unique in that it combines all of the power of the indigenous platforms and even adds a number of powerful features of its own IND 14-16 Dec.Xamarin features

Mobile Cross Platform SupportXamarin studio for Mac OS and windowsBase Class Library (BCL)C# - Lambdas,LINQ,GenericsInterop - invoking Objective-C, Java, C, and C++ libraries / Additionally, allows binding native Objective-C and Java libraries using a declarative syntaxBindings for the nearly the entire underlying platform SDKs in both iOS and Android SDKIND 14-16 Dec.Xamarin InternalsBuilt on top of Mono Mono is open-source version of the .NET FrameworkiOS - XamarinsAhead-of-Time(AOT) Compiler compiles Xamarin.iOS applications directly to native ARM assembly codeAndroid - Xamarins compiler compiles down toIntermediate Language(IL), which is thenJITted to native assembly.Xamarin applications runtime automatically handles memory allocation, garbage collection, underlying platform interop, etcIND 14-16 Dec.Xamarin InternalsXamarin Mobile Profile - A subset of the .NET BCL. This profile has been created specifically for mobile applicationsPackaged in the MonoTouch.dll (for iOS) and Mono.Android.dll (for Android)

In addition to the BCL, these .dlls include wrappers for nearly the entire iOS SDK and Android SDK that allows to invoke the underlying SDK APIs directly from C#.IND 14-16 Dec.Xamarin Approach

IND 14-16 Dec.Xamarin ApproachesCross Platform- Either using portable libraries shared files / projectsAndroid Android specific codingiOS iOS centric codingIND 14-16 Dec.Xamarin ApproachesEither using portable libraries shared files / projectsAndroid Android specific codingiOS iOS centric codingIND 14-16 Dec.DemosBuilding the First Xamarin applicationUnderstanding the solution structureIntroduction to portable libraryIntroduction to shared libraryLinking files

IND 14-16 Dec.Questions & AnswersIND 14-16 Dec.ThanksIND 14-16 Dec.