Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Cross Platform Mobile Development with Xamarin Getting started with Mobile Development.

Similar presentations


Presentation on theme: "Introduction to Cross Platform Mobile Development with Xamarin Getting started with Mobile Development."— Presentation transcript:

1 Introduction to Cross Platform Mobile Development with Xamarin Getting started with Mobile Development

2 About Me Jared Rhodes Principal Architect Corefount Twitter - @qimata Blog – qimata.com Linkedin – qimata GitHub – qimata

3 Overview Intro to Xamarin Android Intro to Xamarin iOS Intro to Xamarin Forms

4 Native Performance Xamarin.iOS does full Ahead Of Time (AOT) compilation to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device.

5 LibrariesLibraries Xamarin.Androi d app s canusecanuse utilityclasses from three libraries Xamarin provides C# wrappers for all Android Java libraries Xamarin provides C# wrappers for all Android APIs Includes most.NET.NET types but not the entire Mono library Mono.NETMono.NET android.*java.*java.*

6 Third-partyJavaThird-partyJava You can use JNI or a Bindings Library to incorporate third-partyJava libraries into your Xamarin.Androi d app Mappin g FinanceFinance Musi c ArcGISArcGISPayPalPayPalTritonPlayerTritonPlayer...

7 AppstructureAppstructure An Android appis a collection of collaboratin g parts called Activitie s images, etc. Activity 1 Activity 2 Activity 3 UI UI UI Data files, Code Code Code

8 UIelementsUIelements An Android UIisUIis composed of View s and ViewGroup s

9 A layout is a container that manages a collection ofchildviews and calculates their size/positiononsize/positionon scree n RelativeLayout You specify how each is positioned relative to neighbors LinearLayout Single row or column GridLayout Rows and columns What is a layout?

10 The rest! Layout Files Resources UI Designer Main Activity App Manifest Accessing Views from code JDK, NDK, Mono,.NET Core, Binding libraries

11 Reminder: development You must have the following to build iOS apps: setupsetup with the latest version of Xcode Xamarin tools on all your development machines (both Mac and Windows) Mac running OS X

12 What is included in Xamarin.iOS? Xamarin.iOS includes both compile-time and runtime components C# C# compiler for Mac Native compiler and linker Core.NETLibrariesCore.NETLibraries Runtime services (GC, type checking, etc.)

13 iOS Terminology ModelModelViewView ControllerDelegateDelegate ProtocolProtocol

14 Defining a Root Controller App must identify a single view controller to be the starting controller public class AppDelegate : UIApplicationDelegate { public override UIWindow Window { get; set; } public override bool FinishedLaunching(...) { Window = new UIWindow(UIScreen.MainScreen.Bounds); Window.RootViewController = new MyViewController(); return true; }...

15 Putting it all together startsstarts Main()UIApplication Run Loop createscreates call s AppDelegate call s UIApplication.Main() parsesparses creates / assigns UIWindowRootViewController Info.plis t iOSiOS custom FinishedLaunching()

16 What is a delegate in iOS? iOS uses a delegation derivation pattern to provide behavior for classes without AppDelegate willFinishLaunching Most often used for notifications from iOS to parts of your app aunching Delegate methods often use the Should, Will, Did naming pattern to support customization and notification ve nd iOSiOS didFinishL willResignActi didEnterBackgrou willEnterForeground didBecomeActive

17 The rest View lifecycle Protocols Creating Uis Resources Info.plist Avoiding memory leaks Provisioning profiles and certificates

18 Xamarin Forms

19

20

21

22

23 To the code!

24 The rest Custom Renderers Plugins Dependency Service Behaviors Effects Platform Customization


Download ppt "Introduction to Cross Platform Mobile Development with Xamarin Getting started with Mobile Development."

Similar presentations


Ads by Google