INTRODUZIONE AL FRAMEWORK.NET
Visual studio Linguaggio C# Framework.NET Universal App Azure AGENDA
Visual studio 2013 IDE moderno con supporto a molti linguaggi anche non presenti in.net Visual studio community, gratis per tutti VISUAL STUDIO
Versione 5 del linguaggio Linguaggio Orientato agli Ogetti C Like Gestione della memoria Managed con possibilità di uso dei puntatori Migrazione da Java a C# semplice C#
Combinano aspetti di Campi e Metodi, hanno la sintassi di un campo ma agiscon come un campo. Realizzate tramite le keyword get/set Solitamente sono pubbliche ed «incapsulano» l accesso ad un dato Possono essere sia read-only (usando solo get) o writeonly(usando solo set) C# PROPRIETÀ
C# PROPRIETÀ ESEMPIO
Derivano tutte da System.Exception Keyword «classiche» try catch finally Possono essere generate esplicitamente tramite la keyword throw Possibile concatenare differenti blocchi catch Contengono differenti informazioni Se non è presente un gestore l esecuzione del programma verrà interrotta C# ECCEZIONI
C# DEMO Proprietà Eccezioni
Meccanismo per associare ad un metodo un implementazione realizzata da altro metodo o più metodì «Gestione degli eventi» Simili concettualmente ai puntatori del C Si possono sommare (+=) e sottrare (-=) Gli eventi e gli EventHandler sono dei delegati C# DELEGATI
È possibile definire delegati senza nome Si possono usare gli anonymous methods per passare un metodo come parametro Introdotti in.net 2.0 «obsoleti» C# METODI ANONIMI
Sintassi più semplice ed intuitiva rispetto ai delegate Non è necessario specificareil tipo dei parametri Lo scope è relativo al loro parente e non a loro stesse C# LAMBA EXPRESSIONS
C# DEMO Delegati Metodi anonimi Delegate
IL FRAMEWORK.NET
Introdotte come template durante /BUILD/ Universal Store Universal Code UNIVERSAL APP
Riutilizzo del codice maggiore tramite progetto shared grazie al passaggio di WP a Windows Runtime Ovviamente solo per app Windows Phone / Windows 8.1 UNIVERSAL APP
Business logic clasica in.net Presentation layer in Xaml UNIVERSAL APP
Principali Grid StackPanel UNIVERSAL APP CONTENITORI
In genere le collezioni dati vengono gestite su classi legate ad Ienumerable, principalmente la classe List<T> ObservableCollection tuttavia implementa nativamente funzionalità legate alla INotifyPropertyChanged In genere si preferisce l uso della Listbox tradizionale per la visualizzazione dei dati UNIVERSAL APP DATI E VISUALIZZATORI
Xaml permette di definire i template per ogni controllo che gestisce dati. Utile perché ci permette di avere due liste che ad esempio rappresentano gli stessi dati in due modi completamente differenti. DATATEMPLATE
UNIVERSAL APP - DEMO
AZURE
Pagamento a consumo Differenti datacenter Tre tipologie classiche di servizi Infrastructure As A Service Platform As A Service Software As A Service DEFINIAMO CLOUD
Cloud Services Mobile Services Storage SERVIZI Sql Server VMs Web Sites
E un servizio di hosting ( HaaS ) Basato su PaaS Cloud Service (PaaS) WebSites (HaaS) Windows Server WEBSITES Virtual Machine (IaaS)
WAWS è un PaaS con qualcosa in più A differenza di un Cloud Service possiamo gestire con maggiore facilità un WAWS direttamente dalla piattaforma di managment di Azure PaaS + Simplified Managment Task è HaaS WEBSITES PAAS VS HAAS
3 modalità : Gratuito / Condiviso / Standard Condiviso : Scalabile fino a 6 istanze Standard : Scalabile fino a 10 istanze WEBSITES UNDER THE HOOD
Windows azure websites (WAWS Antares) DEMO
Ovviamente bisogna avere una sottoscrizione su Azure. È possibile usufruire di un periodo di prova per testare tutti i servizi disponibili sulla Cloud Azure È un operazione semplicissima dobbiamo solo: Indicare il nome del Mobile Service, che di fatto sarà l URL del nostro backend Selezionare/creare il/un database (Sql Azure) che verrà utilizzato dalla nostra applicazione. Selezionare la tipologia di backend tra node.js e.net CREARE UN MOBILE SERVICE
Sono state introdotte differenti novità sui WAMS ( Windows Azure Mobile Services) nel corso dell ultimo anno. Custom Api GUID & Table Versioning Nuove libs per migliorare supporto agli sviluppatori Azure Active Directory Authentication La novità più importante è il rilascio dei.net Mobile Services QUALCOSA DI NUOVO
La versione.net dei WAMS si compone principalmente di 2 tipologie di controller. Table Controller Custom Controller.NET WAMS
TableController
CustomController Estende ApiController
Che vantaggi ci da in più il backend.net? Visual studio! Debugging Mantenimento del codice semplificato Versioning e quant altro Usa nativamente il nuovo notification hub per le push E.NET, posso riutilizzare il mio KnowHow e assembly I PRO DEL BACKEND.NET
Può risultare meno intuitivo rispetto a NodeJS Inoltre per piccoli backend è meno immediato di NodeJs I CONTRO DEL BACKEND.NET
Infrastruttura semplice per l invio di notifiche push Semplificata Invio push generica Invio push ad un target Invio di push specifica per utente 1 Servizio per gestire tutte le piattaforme Multipiattaforma Lavora su cloud oppure on premises Disponibile per linguaggi esterni a.net NOTIFICATION HUBS
LINK UTILI Start now. http:// WindowsAzure.com Free trial. http://aka.ms/azurefree @andreagiunta63 Channel 9 http://channel9.msdn.com OrangeDotNet http://www.orangedotnet.org @OrangeDotNet Microsoft Virtual Academy www.microsoftvirtualacademy.com