...

Introduction to iOS development with Xamarin

by raffaele-fanizzi

on

Report

Category:

Software

Download: 0

Comment: 0

1,181

views

Comments

Description

Download Introduction to iOS development with Xamarin

Transcript

  • 1. Mobile Development Day 2014 Introduction to iOS Development with Xamarin Raffaele Fanizzi Microsoft MCTS & MCPD
  • 2. Mobile Development Day 2014 Chi sono • Raffaele Fanizzi • Membro di DotNetSide – www.dotnetside.org • Microsoft Certified Professional Developer – MCPD • Microsoft Certified Technical Specialist – MCTS • Email – vifani@gmail.com • Blog – www.vifani.com • LinkedIn – www.linkedin.com/in/raffaelefanizzi • Twitter - @raffaelefanizzi
  • 3. Mobile Development Day 2014 Agenda • Introduzione a Xamarin • Xamarin.iOS • Code Session – Nuovo progetto – UIView e Xcode Interface Builder – Accesso a foto e fotocamera – Navigazione – UITableView – Core Animation – Core Image – Social Framework • Limitazioni e costi • Domande e (spero) risposte
  • 4. Mobile Development Day 2014 Introduzione a Xamarin • Mono è un’implementazione opensource del .NET Framework • E’ composto essenzialmente da un Common Language Runtime e dalle Base Class Library • E’ legale e supportato – Sfrutta gli standard ECMA pubblicati da Microsoft sul .NET Framework – Sfrutta il codice rilasciato con license opensource sempre da Microsoft • Disponibile per sistemi operativi Windows, Mac OS X, Linux, Solaris, ecc…
  • 5. Mobile Development Day 2014 Introduzione a Xamarin • Inizialmente sviluppato da Miguel de Icaza (GNOME, Novell, Ximian) • Oggi è il core business di Xamarin • Mono 1.0 – 2004 – C# 1.0, .NET 1.1 • Mono 2.0 – 2008 – C# 2.0, 3.0 e 4.0 – .NET 2.0, 3.0, 3.5 e 4.0 – ASP.NET, MVC • Mono 3.0 – 2012 e 2013 – C# 5.0, Async
  • 6. Mobile Development Day 2014 Introduzione a Xamarin • Mono supporta tutto il .NET Framework tranne – Windows Presentation Foundation – Windows Workflow Foundation – WCF è supportato solo per il sottoinsieme di Silverlight (BasicBinding)
  • 7. Mobile Development Day 2014 Introduzione a Xamarin • Xamarin propone un ecosistema per lo sviluppo multipiattaforma alla cui base c’è Mono • Xamarin Studio è l’IDE di Xamarin per sviluppare con Mono sotto Windows, Mac OS X e Linux
  • 8. Mobile Development Day 2014 Xamarin.IOS • Xamarin.iOS è la soluzione di Xamarin per lo sviluppo di applicazioni native per iOS utilizzando C# e Mono • iOS non consente il funzionamento di compilatori Just In Time • Xamarin.iOS si basa su un compilatore ahead-of-time (AOT) che compila le applicazioni in linguaggio assembly per processori ARM v6, v7 e v7s • Xamarin.iOS espone la totalità dell’SDK CocoaTouch di Apple come classi .NET
  • 9. Mobile Development Day 2014 Xamarin.IOS • Supporta i seguenti assembly del .NET Framework: – System.dll – System.Core.dll – System.Data.dll (ADO.NET) – System.Data.Service.Client.dll (OData support) – System.Json.dll – System.Runtime.Serialization.dll – System.ServiceModel.dll (WCF stack di Silverlight, senza parte server) – System.ServiceModel.Web.dll – System.Transactions.dll – System.Web.Services – System.Xml.dll – System.Xml.Linq.dll
  • 10. Mobile Development Day 2014 Xamarin.IOS • Oltre ai propri assembly: – monotouch.dll (CocoaTouch API) – Mono.Data.Sqlite.dll (SQL Lite ADO.NET provider) – Mono.Data.Tds.dll (supporto a SQL Server) – Mono.Security.dll (API di crittografia) – OpenTK.dll (OpenGL e OpenAL)
  • 11. Mobile Development Day 2014 Xamarin.IOS • Supporta le Portable Class Library compatibili con il suo profilo – Microsoft Compression – Microsoft HTTP Client – Microsoft Immutable Collections – Odata – JSON.NET – …
  • 12. Mobile Development Day 2014 Xamarin.IOS • Perché usare Xamarin.iOS? – Per utilizzare C#
  • 13. Mobile Development Day 2014 Xamarin.IOS
  • 14. Mobile Development Day 2014 Xamarin.IOS
  • 15. Mobile Development Day 2014 Xamarin.IOS • Perché usare Xamarin.iOS? – Per sfruttare le proprie conoscenze in ambito .NET: ADO.NET, WCF, Task Parallel Library, ecc… – Perché le app risultanti sono native né più né meno di quelle sviluppate con XCode
  • 16. Mobile Development Day 2014 Xamarin.IOS • Perché usare Xamarin.iOS? – E’ sviluppato attivamente: ad ogni nuova versione dell’SDK Apple corrisponde entro 24/48 ore una nuova versione – E’ ampiamente supportato: Infragistics, Telerik, Shinobi, SAP, ecc… – E’ utilizzato da grandi nomi: Microsoft, National Instrument
  • 17. Mobile Development Day 2014 Xamarin.IOS Ma quale è il vero motivo per sviluppare app?
  • 18. Mobile Development Day 2014 Xamarin.IOS • Di cosa abbiamo bisogno? – Di un Mac con Mac OS Lion (10.7) o superiore – Xcode (SDK e IDE di sviluppo Apple) – Xamarin Studio (IDE di sviluppo Mono) • E’ possibile usare Visual Studio sotto Windows per scrivere il codice, ma è comunque obbligatoria la presenza di un Mac per l’editing dell’interfaccia grafica, per compilare le app e per rispettare le licenze Apple
  • 19. Mobile Development Day 2014 DEMO: ICARTOLINA
  • 20. Mobile Development Day 2014 CODE SESSION: NUOVO PROGETTO
  • 21. Mobile Development Day 2014 CODE SESSION: UIVIEW E INTERFACE BUILDER
  • 22. Mobile Development Day 2014 CODE SESSION: FOTO E FOTOCAMERA
  • 23. Mobile Development Day 2014 CODE SESSION: NAVIGAZIONE
  • 24. Mobile Development Day 2014 CODE SESSION: UITABLEVIEW
  • 25. Mobile Development Day 2014 CODE SESSION: CORE ANIMATION
  • 26. Mobile Development Day 2014 CODE SESSION: SOCIAL FRAMEWORK
  • 27. Mobile Development Day 2014 CODE SESSION: CORE IMAGE
  • 28. Mobile Development Day 2014 Limitazioni e costi • Si possono usare – Assembly forniti in dotazione – Assembly compilati espressamente come Xamarin.iOS – Portable Class Library • Non si possono usare librerie di terze parti Objective-C
  • 29. Mobile Development Day 2014 Limitazioni e costi • Supporto limitato ai generics – Niente metodi virtuali generici – Niente classi generiche con P/Invoke • Nessun supporto alla generazione dinamica di codice – Niente System.Reflection.Emit • Niente Dynamic Language Runtime (o quasi…) • Per il momento nessun supporto a iOS 64 bit • Nessun supporto a COM
  • 30. Mobile Development Day 2014 Limitazioni e costi
  • 31. Mobile Development Day 2014 Domande e (spero) risposte
  • 32. Mobile Development Day 2014 GRAZIE PER L’ATTENZIONE 
  • Fly UP