google io catania - 20/05/2016

12
Sfruttare il codice della vs app Android per creare applicazioni cross-platform con Xamarin

Upload: gaetano-paterno

Post on 12-Apr-2017

86 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Google IO Catania - 20/05/2016

SfruttareilcodicedellavsappAndroidpercreareapplicazionicross-platformconXamarin

Page 2: Google IO Catania - 20/05/2016

GaetanoPaternò[email protected]

facebook.com/tanopaterno

Page 3: Google IO Catania - 20/05/2016

ConosciamoXamarin

Xamarin èunapiattaformaperlosviluppodiapp perdispositivi mobiliiOS,Android eWindowsnativedaunacodebase C#/.NETcomune,checonsentediottenereunriutilizzodelcodicetralepiattaformedal75%aquasiil100%.Leapp scritteconXamarin eC#hannoaccessocompletoalleAPIdellapiattaformasottostante,oltreallapossibilitàdicreareinterfacceutentenativeedeseguirelacompilazione incodicenativo,rendendominimo l'impattosulleprestazioniinfasediruntime.

https://msdn.microsoft.com/it-IT/library/mt299001.aspx [email protected]/tanopaterno

Page 4: Google IO Catania - 20/05/2016

IDEdisviluppoperXamarin

Xamarin StudioèunIDEmoderno,connumerosefunzioniperlacreazionediXamarin.iOS,Xamarin.Mac,Xamarin.AndroideapplicazioniXamarin.Forms. Essocomprendeuneditor,ildebugging,l'integrazionedellapiattaformanativaconiOS,MaceAndroid,eilcontrollodelcodicesorgenteintegratopercitarnesolodialcunedellesuemoltecaratteristiche.

https://developer.xamarin.com/guides/cross-platform/getting_started/visual_studio_with_xamarin/https://developer.xamarin.com/guides/cross-platform/xamarin-studio/

VisualStudioèl’IDEdicasaMicrosoftchenonhabisognodipresentazioni.Possono esseresfruttatetutte lesuepotenzialitàperlacreazionediapplicazioniiOS,Android eWindows sfruttandol’integrazione conlapiattaforma nativa.

[email protected]/tanopaterno

Page 5: Google IO Catania - 20/05/2016

NativovsFormshttps://developer.xamarin.com/

• Leapplicazionicherichiedonopocafunzionalitàspecifichedellapiattaforma.• Applicazionidovelacondivisionedelcodiceèpiùimportanteinterfacciautentepersonalizzata.• GlisviluppatorichehannoesperienzaconXAML.

Xamarin.Forms èmeglioper:

• Applicazioniconinterazionicherichiedonouncomportamentonativo.• LeapplicazionicheutilizzanomolteAPIspecifichedellapiattaforma.• Applicazioniincuiinterfacciautentepersonalizzataèpiùimportantedicodesharing.

Xamarin.Android èmeglioper:

[email protected]/tanopaterno

Page 6: Google IO Catania - 20/05/2016

Requisitidisistemahttps://developer.xamarin.com/guides/cross-platform/getting_started/requirements/ [email protected]

facebook.com/tanopaterno

Page 7: Google IO Catania - 20/05/2016

ScaricareXamarinhttps://www.xamarin.com/download [email protected]

facebook.com/tanopaterno

Page 8: Google IO Catania - 20/05/2016

Xamarin Android Playerhttps://www.xamarin.com/android-player

Xamarin Android Playerhaunaprofonda integrazioneconVisualStudioeStudioXamarin eunainterfacciautentenativasiasuMacediWindows.

Android inesecuzionesuunamacchinavirtualex86,utilizzandol’accelerazioneelavirtualizzazionedell'hardwareeOpenGL,èsignificativamentepiùvelocelostockAndroid Emulator.

[email protected]/tanopaterno

Page 9: Google IO Catania - 20/05/2016

VisualStudioDev Essentialhttps://www.visualstudio.com/products/free-developer-offers-vs.aspx [email protected]

facebook.com/tanopaterno

Page 10: Google IO Catania - 20/05/2016

Costruireapplicazionicrossplatformhttps://developer.xamarin.com/guides/cross-platform/application_fundamentals/building_cross_platform_applications/

EccounasintesideipuntichiaveperlacreazionediXamarin applicazionicross-platform:

•UtilizzareC# - ScriviletueapplicazioniinC#.

•UtilizzareilmodellodiprogettazioneMVC - Svilupparel'interfacciautentedell'applicazioneutilizzandoilpatternModel/View /Controller.

•Costruireinterfacceutentenative - OgniapplicazionespecificaperOSfornisceunlivellodiinterfacciautentediverso(implementatoinC#conl'aiutodistrumentidiprogettazioneUInativi.

Peraumentarelaquantitàdiriutilizzodelcodice,sipuòadottarecomponenticross-platformchefornisconoservizicomuniintuttiquestisistemi,quali:

• SQLite-NET perl'archiviazioneSQLlocale.

• XamarinPlugin perl'accessoafunzionalitàspecifichedeldispositivotracuilamacchinafotografica,contattiegeolocalizzazione.

[email protected]/tanopaterno

Page 11: Google IO Catania - 20/05/2016

Shared Projectshttps://developer.xamarin.com/guides/cross-platform/application_fundamentals/shared_projects/

Adifferenzadimoltialtritipidiprogettodiunprogettocondivisononhaalcunauscita(informadiDLL),perchéilcodicevienecompilatoinogniprogettochefariferimentoaesso.Concettualmentel'interocontenutodelprogettocondivisoè"copiato in"ogniprogettodiriferimentoecompilaticomesefosseunapartediloro.

[email protected]/tanopaterno

Page 12: Google IO Catania - 20/05/2016

Portable ClassLibrarieshttps://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/introduction_to_portable_class_libraries/

Benefici:• lacondivisionedicodiceinununicoprogettochepuòessereconsumatodaaltrelibrerieoapplicazioni.• operazionidirefactoring interesseràtuttoilcodicecaricatonellasoluzione.• ilprogettoPCLpuòesserefacilmentereferenziatodaaltriprogettiinunasoluzione.Svantaggi:• PoichélastessalibreriadiclassiPortable ècondivisatrapiùapplicazioni,nonèpossibilefareriferimentoalibreriespecifichedellapiattaforma(ades.Community.CsharpSqlite.WP7).

[email protected]/tanopaterno