Top Banner
How to Develop Cross-platform apps with
59

DevDay Salerno - Introduzione a Xamarin

Apr 06, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DevDay Salerno - Introduzione a Xamarin

HowtoDevelopCross-platformappswith

Page 2: DevDay Salerno - Introduzione a Xamarin

fordifferentkindofcomplexscenariosandanyabsurdclient’sdemand

tryingtostayfocus,avoidinglosingyourmind,

meanwhileyourgirlfriendistalkingatyouandonceagainyoudonotpayattentiontoher.

Anddon’tworry,if you’re reading this,at theend,you’re gonnabefine!

HowtoDevelopCross-platformappswith

Page 3: DevDay Salerno - Introduzione a Xamarin

HowtoDevelopCross-platformappswith

Page 4: DevDay Salerno - Introduzione a Xamarin

Chisono?

[a-zA-Z]

Page 5: DevDay Salerno - Introduzione a Xamarin

Cosaè Xamarin?

Page 6: DevDay Salerno - Introduzione a Xamarin

? ? ?Macomefunziona Xamarin?

Page 7: DevDay Salerno - Introduzione a Xamarin

SiloApproach(oproprietaryapproach)

iOS WindowsAndroid

Objective-CXcode

C#VisualStudio

JavaAndroidStudio

Nosharedcode• Manylanguages&developmentenvironments• Multipleteams

Page 8: DevDay Salerno - Introduzione a Xamarin

HybridHTML:WriteOnce,RunAnywhere

AppGenerator

JavascriptHTML+CSS

LimitednativeAPIaccess• Slowperformance• Pooruserexperience

Page 9: DevDay Salerno - Introduzione a Xamarin

Unesempio:Cordova

Page 10: DevDay Salerno - Introduzione a Xamarin

Approccio diXamarin (native)

SharedC#codebase• 100%nativeAPIaccess • Highperformance

iOSC#UI WindowsC#UIAndroidC#UI

SharedC#Mobile

Page 11: DevDay Salerno - Introduzione a Xamarin

Xamarin +Xamarin.Forms (super-nativeJ)

• TraditionalXamarinApproach • WithXamarin.Forms:Morecode-sharing,allnative

iOSC#UI WindowsC#UIAndroidC#UI

SharedC#Backend

SharedUICode

SharedC#Backend

Page 12: DevDay Salerno - Introduzione a Xamarin

Macomeè nata l’architettura diXamarin?

Page 13: DevDay Salerno - Introduzione a Xamarin

.NETsu Linux,lanascita diMono

Page 14: DevDay Salerno - Introduzione a Xamarin

Monoformobile

Page 15: DevDay Salerno - Introduzione a Xamarin

Bringing.NETtoAndroid

Page 16: DevDay Salerno - Introduzione a Xamarin

Bringing.NETtoAndroid

Page 17: DevDay Salerno - Introduzione a Xamarin

Bringing.NETtoiOS

Page 18: DevDay Salerno - Introduzione a Xamarin

Bringing.NETtoiOS

Page 19: DevDay Salerno - Introduzione a Xamarin

Bringing.NETtoiOS

Page 20: DevDay Salerno - Introduzione a Xamarin

WindowsAPIs

Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 21: DevDay Salerno - Introduzione a Xamarin

iOS– 100%APICoverage

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 22: DevDay Salerno - Introduzione a Xamarin

Android– 100%APICoverage

Text-to-speech ActionBar PrintingFramework Renderscript NFC

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

Page 23: DevDay Salerno - Introduzione a Xamarin

Tutto ciò che puoi fareinObjective-C,Swift,oJavapuoi farlo conC#eXamarin.

Page 24: DevDay Salerno - Introduzione a Xamarin

Strumenti disviluppo

Page 25: DevDay Salerno - Introduzione a Xamarin

Xamarin isOpenSource!– open.xamarin.com

Page 26: DevDay Salerno - Introduzione a Xamarin

OpenSource

• Xamarin.iOS• Xamarin.Mac• Xamarin.Android• Xamarin.Forms• Bindings&Plugins

• GettingStarted• ContributionGuides

Page 27: DevDay Salerno - Introduzione a Xamarin

XamarinisincludedinVisualStudio!

Page 28: DevDay Salerno - Introduzione a Xamarin

VisualStudioIntegration

Page 29: DevDay Salerno - Introduzione a Xamarin

Xamarin Studio

Page 30: DevDay Salerno - Introduzione a Xamarin

VisualStudioforMac

Page 31: DevDay Salerno - Introduzione a Xamarin

VisualStudioiOSSimulatorRemoting

• Multi-Touch• PressureSensitive• Rotate,screenshots,locationchanges• Tutto inVS

Page 32: DevDay Salerno - Introduzione a Xamarin

iOSDesigner

Page 33: DevDay Salerno - Introduzione a Xamarin

AndroidDesigner

Page 34: DevDay Salerno - Introduzione a Xamarin
Page 35: DevDay Salerno - Introduzione a Xamarin

iOSBuildProcess

Page 36: DevDay Salerno - Introduzione a Xamarin

IDE&OS

Page 37: DevDay Salerno - Introduzione a Xamarin

Architettura diuna applicazione Xamarin

Page 38: DevDay Salerno - Introduzione a Xamarin

Consigli architetturali

Page 39: DevDay Salerno - Introduzione a Xamarin

CoreLibrary

Page 40: DevDay Salerno - Introduzione a Xamarin

CoreLibrary– SharedProject

Page 41: DevDay Salerno - Introduzione a Xamarin

CoreLibrary– SharedProject

Page 42: DevDay Salerno - Introduzione a Xamarin

CoreLibrary– PortableClassLibraries

Page 43: DevDay Salerno - Introduzione a Xamarin

CoreLibrary– PortableClassLibraries

Page 44: DevDay Salerno - Introduzione a Xamarin

CoreLibrary- .NETStandardLibraries

Page 45: DevDay Salerno - Introduzione a Xamarin

M-V-VMPattern

Page 46: DevDay Salerno - Introduzione a Xamarin

M-V-VMinXamarin

Page 47: DevDay Salerno - Introduzione a Xamarin

M-V-VMinXamarin

Page 48: DevDay Salerno - Introduzione a Xamarin
Page 49: DevDay Salerno - Introduzione a Xamarin

Riferimenti DevDay

Page 50: DevDay Salerno - Introduzione a Xamarin

Xamarin Forms

Page 51: DevDay Salerno - Introduzione a Xamarin

XAML

Page 52: DevDay Salerno - Introduzione a Xamarin

Layoutcontainers

Page 53: DevDay Salerno - Introduzione a Xamarin

Funzionalità Cross-Platform

Page 54: DevDay Salerno - Introduzione a Xamarin

CustomRenderers

Page 55: DevDay Salerno - Introduzione a Xamarin
Page 56: DevDay Salerno - Introduzione a Xamarin

Lapercentuale diadozione (espesso diriuscita)inunprogetto diXamarin.Forms è inversamente

proporzionale alnumero dicustomrenderersusati!tratto dallibro deGli assurdi teoremi diTuribbio

Page 57: DevDay Salerno - Introduzione a Xamarin
Page 58: DevDay Salerno - Introduzione a Xamarin

https://www.xamarin.com/

https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/

Page 59: DevDay Salerno - Introduzione a Xamarin