04. FEBRUAR 2016 Meine App, die Cloud und ich Braucht die universelle App den universellen Entwickler? Beate Lay
Referent Beate Lay MCT (Microsoft Certified Trainer) C# Programmierung seit.net 1.0 Datenzugriff mit.net Desktop-/Web-Anwendungen, Apps SharePoint Entwicklung XML Technologien
Agenda Das App - Universum Entwickler - Optionen Demo: Mobile App erstellen Nützliche NuGet Pakete Demo: Webdienste nutzen Die Cloud aus Entwicklersicht Demo: Azure Speicher nutzen
Das App - Universum Immer mehr Anwender nutzen (auch für die Arbeit) mobile Endgeräte mit immer mehr Apps. Wachstum 30% pro Quartal Quelle: Good Technology Report Q3 2015
Das App - Universum Neben Email und Browser werden immer mehr branchenspezifische Apps genutzt. Einzelhandel Versicherungen Finanzen Dienstleistungen Energie 40% 31% 25% 15% 13% Wie viele der genutzten Apps sind branchenspezifisch (in %)? Quelle: Good Technology Report Q3 2015
Das App - Universum Smartphone Marktanteile Q2 2015 (Quelle: IDC) Android 13,9% 2,6% 0,7% ios Windows Phone Rest 82,8%
Das App - Universum Tablet Marktanteile in Firmen Q3 2015 (Quelle: Good Technology) 8,0% ios 21,0% Android Windows 71,0%
Das App - Universum Windows Store ca. 340.000 Apps für Windows Phone Entwicklerlizenz 14 / 75 EUR pro Jahr manuelle Überprüfung der Apps durch Microsoft Google Play Store ca. 1.600.000 Apps für Android Entwicklerlizenz 25 $ einmalig maschinelle Überprüfung der Apps App Store ca. 1.500.000 Apps für ios Entwicklerlizenz 99 $ pro Jahr manuelle Überprüfung der Apps durch Apple
Entwickler - Optionen Universal Windows Apps XAML + C#/VB.NET/C++ oder HTML + JavaScript mit Visual Studio Android Apps Java mit Android Studio ios Apps Objective C oder Swift mit Xcode
Entwickler - Optionen Xamarin Entwicklung mit C# Native UI Native Performance Zugriff auf alle nativen APIs kommerziell kostenlose Starter-Edition Apache Cordova Entwicklung mit HTML / JavaScript Darstellung der App per Browser im Vollbildmodus Zugriff auf native APIs über Plugins Open Source kostenlos
Entwickler Optionen Xamarin Windows App (C#) UI (.xaml) plattformspezifischer Code AndroidApp (C#) UI (.axml) plattformspezifischer Code ios App (C#) UI (.storyboard) plattformspezifischer Code Geschäftslogik (C#) Datenzugriffsschicht (C#)
Entwickler Optionen Cordova Cordova App WebView Web App HTML JavaScript CSS Ressourcen Plugins Geolocation Kamera Netzwerk Sensoren eigene Plugins Betriebssystem
Demo Erstellen einer Mobile App mit Xamarin
Nützliche NuGet Pakete www.nuget.org Open Source Paket-Verwaltung für.net (Libraries und Tools) Alles, was benötigt wird, in einem Paket Binaries für verschiedene Plattformen Ressourcen-Dateien Skripte für Projekt-Anpassungen (z.b. Verweise hinzufügen, app.config ändern) Kann über Powershell angesprochen werden UI Integration in Visual Studio
Nützliche NuGet Pakete Microsoft HTTP Client Libraries Microsoft.Net.Http Client Bibliothek, mit der man z.b. leicht REST Dienste aufrufen kann using System.Net.Http; using (HttpClient client = new HttpClient()) {... HttpResponseMessage response = await client.getasync(url); response.ensuresuccessstatuscode(); string responsebody = await response.content.readasstringasync().result; }
Nützliche NuGet Pakete Newtonsoft JSON-Framework für.net Newtonsoft.Json enthält u.a. JSON-Serializer, LINQ to JSON using Newtonsoft.Json; using Newtonsoft.Json.Linq;... JObject jsonobject = JsonConvert.DeserializeObject<JObject>(jsonFormatierterString); var ergebnisliste = jsonobject["propertyname"].select(o => new {...});
Demo Webdienste nutzen
Die Cloud aus Entwicklersicht Angebote von Microsoft Azure Anwendungen ausführen Daten speichern Anwendungsdienste nutzen Websites Tables Media Services Cloud Services Blobs Notification Hubs Virtual Machines Scheduler
Die Cloud aus Entwicklersicht Blob-Dienst Konto Container Blob Dokus Maskito.pdf SoftEd Office2016.mp4 Lern-Videos UniversalApps.mp4
Die Cloud aus Entwicklersicht Azure SDK für.net Assembly Microsoft.WindowsAzure.Storage.dll using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Blob;... CloudStorageAccount storageaccount = CloudStorageAccount.Parse(connection); CloudBlobClient blobclient = storageaccount.createcloudblobclient(); CloudBlobContainer container = blobclient.getcontainerreference(containername); CloudBlockBlob blob = container.getblockblobreference(blobname); MemoryStream stream = new MemoryStream(); await blob.downloadtostreamasync(stream.asrandomaccessstream());
Demo Azure Speicher nutzen
04. FEBRUAR 2016 Vielen Dank! Wenn Sie mehr wissen wollen: lay@softed.de
T R A C K 0 1 T R A C K 0 2 T R A C K 0 3 T R A C K 0 4 ENTWICKLER-LOUNGE Kunsthalle Raum A Raum G Raum B Raum C 14:00 Uhr E R Ö F F N U N G K E Y N O T E 15:45 Uhr Changemanagement in der Praxis Arbeitsplatz der Zukunft EMC² - IT as a Service Office 2016 Meine App, die Cloud und ich 16:30 Uhr K A F F E E P A U S E 17:15 Uhr Angriffswerkzeuge von Hackern Citrix Netscaler nach TMG Parallel I/O der Performance Boost für das Data Center von Morgen Der neue SQL Server 2016 kann mehr Visual Studio 18:15 Uhr Trotz aller Vorurteile Cloud! Windows 10 und BYOD - Ein Reality Check Internet of Things Exchange 2016 und SharePoint 2016 Intellitrace & Application InSights Ab 19:00 Uhr NetTalk & Abendbuffet im Foyer Studio 5.4 Music, Cocktails & Drinks