Google IO Catania - 20/05/2016

Post on 12-Apr-2017

86 views 0 download

transcript

SfruttareilcodicedellavsappAndroidpercreareapplicazionicross-platformconXamarin

GaetanoPaternòtanopaterno@gmail.com

facebook.com/tanopaterno

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 tanopaterno@gmail.comfacebook.com/tanopaterno

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.

tanopaterno@gmail.comfacebook.com/tanopaterno

NativovsFormshttps://developer.xamarin.com/

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

Xamarin.Forms èmeglioper:

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

Xamarin.Android èmeglioper:

tanopaterno@gmail.comfacebook.com/tanopaterno

Requisitidisistemahttps://developer.xamarin.com/guides/cross-platform/getting_started/requirements/ tanopaterno@gmail.com

facebook.com/tanopaterno

ScaricareXamarinhttps://www.xamarin.com/download tanopaterno@gmail.com

facebook.com/tanopaterno

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

Xamarin Android Playerhaunaprofonda integrazioneconVisualStudioeStudioXamarin eunainterfacciautentenativasiasuMacediWindows.

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

tanopaterno@gmail.comfacebook.com/tanopaterno

VisualStudioDev Essentialhttps://www.visualstudio.com/products/free-developer-offers-vs.aspx tanopaterno@gmail.com

facebook.com/tanopaterno

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.

tanopaterno@gmail.comfacebook.com/tanopaterno

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

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

tanopaterno@gmail.comfacebook.com/tanopaterno

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).

tanopaterno@gmail.comfacebook.com/tanopaterno