© Zühlke 2013 Oliver Brack Workshop 6 (ws6C) native Entwicklung für mobile Geräte Mono 11. März 2013 Folie 1.

Slides:



Advertisements
Ähnliche Präsentationen
© 2009 ICW AG – GE Partner Enabling - title of training presentation
Advertisements

Überblick Themenvorschlag „Virtuelles Studio“ Mobile Plattformen.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Ein mobiler OPAC auf Basis des Produktivsystems Andreas Neumann · D - IT March 10.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
Uwe Habermann VFX 10.0 Visual Extend Produktaktivierung.
n Produktfamilie VisiWinNET
Eine Präsentation von Dario Müller © 2012
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Programmiermethodik Übung 6
„Buy and Make“ anstelle von „Make or Buy“
Einführung in die App- Programmierung Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Medien zwischen Technik und Gesellschaft.
MDA – Framework AndroMDA
Einführung Thomas Kruse,
Outputter Engine. Ausgangslage 10 jähriges Web Framework Veraltete User Controls Schlechte Unterstützung für mobile Geräte Bestehende Applikationen /
Daniel Yves Ostwald …vor 6 Monaten Bob C# Silverlight ! ASP.NET WCF ? iPad Objective C HTML 5 In 3 Tagen ! Mono.
Mit 3 Schichte zum Erfolg
Michael Köster User Experience Specialist Microsoft Corporation.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Brand my SharePoint Grafische Gestaltung von SharePoint-Webseiten
Umweltdaten via Smartphone
App-Entwicklung mit HTML5, CSS und JavaScript
© Zühlke 2012 Romano Roth & Oliver Brack iOS, Android, WP7... Alle nativ auf einen Streich! Romano Roth und Oliver Brack 7. Mai 2012 Folie 1.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
Reiner Ganser Solution Architect 1stQuad Solutions GmbH Presentation Subtitle.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Romano Roth & Oliver Brack Zühlke. Entscheider Projektleiter Entwicklungsleiter Softwarearchitekten Der Vortrag setzt keine technische Kenntnisse von.
Phonegap/Cordova Plattformübergreifende mobile Anwendungen
© Zühlke 2012 Romano Roth & Oliver Brack iOS, Android, WP7... Alle nativ auf einen Streich! Romano Roth und Oliver Brack 24. September 2012 Folie 1.
Uwe Habermann Venelina Jordanova dFPUG-CeBIT-Entwicklertreffen
VU Semistrukturierte Daten 1
Von Isabelle Spörl und Simon Schausberger
Oliver Lietz – Mobile Software Mobile Software Ausgewählte Themen Software (ATS) Beuth-Hochschule SS 2010 Oliver Lietz Dipl.-Ing.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
© Zühlke 2012 Oliver Brack Romano Roth iOS, Android, WP7: Alle nativ auf einen Streich Fragenkatalog zu umgesetzten Apps 27. September 2012 Folie 1.
Romano Roth & Oliver Brack Zühlke Engineering AG.
C O R P O R A T E T E C H N O L O G Y Software & Engineering Architecture Eclipse Rich Client Platform Siemens Workshop Kai Tödter Siemens AG CT SE 2.
[Sprecher/Autor] [Titel] [Organisation][Kontaktinfos] Windows Azure Windows Azure SQL Databases.
© Zühlke 2013 Oliver Brack Workshop 6 (ws6C) native Entwicklung für mobile Geräte Mono for Android 25. März 2013 Folie 1.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
7.-8. März 2013, Rosenheim Brand my SharePoint grafische Gestaltung von SharePoint 2013-Webseiten Fabian Moritz | MVP SharePoint Server.
Workshop native mobile Entwicklung
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 2: Service 18. February 2013 Folie 1 von 19.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 5-6: Mega CRM 25. Februar 2013 Folie 1 von 10.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Einführung 18. February 2013 Folie 1 von 26.
© Zühlke 2013 Oliver Brack Workshop 6 (ws6C) native Entwicklung für mobile Geräte MonoTouch (iOS) 18. März 2013 Folie 1.
© Zühlke 2013 Philipp Kälin Workshop Entwickeln von Apps für die Android Plattform 29. April Mai Mai April 2013.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 1: Bedürfnissen 18. February 2013 Folie 1 von 19.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Voraussetzungen Wichtig: Bitte Xamarin Studio, SDK’s und Emulatoren vor dem Workshop installieren Xamarin Studio 5.9 ( Xamarin Business.
Mobile-Applikationen mit Agisviewer-Technologie Urs Richard, Stadtlandfluss.
IOS Entwicklung von 0 auf 100 Von Philipp Koulen Lehr- und Forschungsgebiet Ingenieurhydrologie.
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
Einführung in das mobile Betriebssystem Android 1 Einführung in das mobile Betriebssystem Android „ We're talking about a platform where for the first.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
Workshop 1 Getting Started 2016 Boris Wylutzki
Getting Started mit Waltzing Atoms
Programmiermethodik Übung 7
OFFICE 365 FOCUS SESSION SHAREPOINT ONLINE 101:LERNE DIE BASICS 19. März 2018 Höhr-Grenzhausen.
 Präsentation transkript:

© Zühlke 2013 Oliver Brack Workshop 6 (ws6C) native Entwicklung für mobile Geräte Mono 11. März 2013 Folie 1

© Zühlke 2013 Oliver Brack Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack HSR Hochschule für Technik Rapperswil Informatikstudium 2003 – 2006 Zühlke Engineering AG Software Engineer 2007 – 2012 HWZ Hochschule für Wirtschaft Zürich EMBA & MBA in International Business 2010 – 2012 Zühlke Engineering AG Lead Software Architect 2013 – heute Client-Entwicklung mit.NET Projektleitung Schwerpunkte 11. März 2013Folie 2

© Zühlke 2013 Lernziele : Die Studierenden können die Client-Software einer Beispielanwendung für die aktuellen mobilen Plattformen iOS, Android und Windows Phone 8 entwickeln. Sie können Mono (C#) als plattformunabhängige Entwicklungsumgebung für mobile Endgeräte einsetzen. Die Studierenden kennen die Herausforderungen der User Interface-Entwicklung für die verschiedenen mobilen Geräte. Sie können argumentieren für welche Aufgaben und Anforderungen sie welche Plattform / Technologie einsetzen würden. hnis/aktuelle-workshops Was machen wir in diesem Workshop? Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 3

© Zühlke 2013 «Flughöhe» des Workshops Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack Beginner Advanced Expert Dieser Kurs Semesterarbeit > 1 Jahr Projekterfahrung Level Tech. 11. März 2013Folie 4

© Zühlke 2013 Was machen wir in diesem Workshop? Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 5

© Zühlke 2013 Unser Plan (1/2) (Romano) Einführung, «Mega CRM», Aufsetzen (Romano) Einführung in Windows Phone 8 Entwicklung (Romano) Umsetzung «Mega CRM» mit Windows Phone (Oliver) Einführung in Mono-Entwicklung (Oliver) Umsetzung «Mega CRM» mit MonoTouch (Oliver) Umsetzung «Mega CRM» mit MonoDroid Kein Workshop (Ostern) (Michael) Einführung in iOS Entwicklung (Michael) Umsetzung «Mega CRM» mit iOS (Michael) Umsetzung «Mega CRM» mit iOS Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 6

© Zühlke 2013 Unser Plan (2/2) (Philipp) Einführung in Android (Philipp) Umsetzung «Mega CRM» mit Android Kein Workshop (Projektwoche) (Philipp) Umsetzung «Mega CRM» mit Android (Matthias) Einführung in PhoneGap (Matthias) Umsetzung «Mega CRM» mit PhoneGap (alle) Präsentation Eurer Arbeit Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 7

© Zühlke 2013 Prototyp eines Workshoptags Repetition (5’) Was machen wir heute (5’) Theorie (35’) Pause Hands on (40’) Retrospective (5’) – Was war gut? – Was kann verbessert werden? Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 8

© Zühlke 2013 Entwicklungsumgebungen eingerichtet – inkl. Emulator für Android Lauffähige App je Client (iOS/Android) – Karten-App als Beispiel Grundlagen der Entwicklungsumgebung(en) – UI-Elemente im Code ansprechen – Designer nutzen (bei Bedarf) – kompilieren, deployen, debuggen (Emulator) Erster Workshop Ziele Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 9

© Zühlke 2013 Erster Workshop Agenda Einführung (5’) Mono (15’) Karten-App (20’) – Einführung – Erste Schritte Pause (5’) Demo iOS (10’) Demo Android inkl. Emulator (15’) Karten-App (15’) Retrospektive und Ausblick (5’) – Was war gut? – Was kann verbessert werden? Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 10

© Zühlke 2013 Workshop 6 (ws6C) native Entwicklung für mobile Geräte Oliver Brack Mono Was ist MonoTouch bzw. Mono for Android? 11. März 2013 Folie 11

© Zühlke 2013 Gemeinsamer Code (DRY) Service (Azure) Business Layer Kundendaten User Interface Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 12

© Zühlke 2013 Kompetenzen Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack Plattformspezifisch Mono Service Objective-C Java z.B..NET.NET 11. März 2013Folie 13

© Zühlke 2013 Kompetenzen Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack Plattformspezifisch Mono Objective-C - Xcode Objective-C - Xcode z.B..NET.NET (C#) - Xcode - XML.NET (C#) - Xcode - XML Java - XML Java - XML 11. März 2013Folie 14

© Zühlke 2013 Weiterhin C# – Konzepte – Code – Tools, Prozesse Mehrere Plattformen – Quellcode hybrid – App nativ (Store) – Zugriff auf Hardware – Natives UX (z.B. UI-Controls) Kompetenzen – Technologie-Portfolio (Kosten) – Fokussierung – Austauschbarkeit (Risiken) Vorteile Mono Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 15

© Zühlke 2013 Xamarin 2.0 MonoTouch bzw. Mono for Android Xamarin 2.0 MonoTouchMono for Android SpracheC# (statt Objective-C)C# (statt Java) FrameworkMono IDE MonoDevelop, Xamarin Studio, (Visual Studio) MonoDevelop, Xamarin Studio, Visual Studio UI-Designer Xcode Xamarin Studio, Visual Studio, Eclipse HardwareIntel-Mac Windows PC /Intel-Mac PreiseXamarin: USD 299.-/Jahr* Apple Dev: USD 99.-/Jahr Xamarin: USD 299.-/Jahr* Google Dev: USD 25.-/Jahr Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack *: verschiedene Preispläne, siehe WebseiteWebseite 11. März 2013Folie 16

© Zühlke 2013 «Ahead of Time» Kompilierung (AOT) – Runtime wird nicht installiert – Native App entsteht (Store) – Quellcode hybrid Xamarin wrappt native APIs (Apple bzw. Google) – Namespaces grösstenteils gleich (Dokumentation) – Vorgehen automatisiert (schnelle Updates).NET Framework nutzen – Funktionsumfang Silverlight 4 – Keine Codegenerierung zur Laufzeit (z.B. Emit) – Einschränkungen bei Reflection und Generics (Laufzeit) – Nur benutzte Assemblys werden mitkompiliert – «Framework-Komfort» (z.B. Garbage Collection) Wie funktioniert Mono? Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 17

© Zühlke 2013 Workshop 6 (ws6C) native Entwicklung für mobile Geräte Oliver Brack Karten-App Beispielapplikation für Workshop März 2013 Folie 18

© Zühlke 2013 Seid Ihr bereit für Mono? (1/2) – Allgemein Apple Rechner mit OS X – Xcode 4.6 (über App Store) – Xamarin for Mac ( PC mit Windows 7 (optional, empfohlen) – Visual Studio 2010 (wenn Entwicklung in VS statt Xamarin Studio gewünscht, empfohlen) – Xamarin for Windows ( Xamarin Account – Begin a 30-day-Trial: platform/getting_started/beginning_a_xamarin_trial (nötig, um App im Emulator laufen zu lassen) platform/getting_started/beginning_a_xamarin_trial Hardware (optional) – iOS-Gerät (iPhone, iPod Touch) – Android-Gerät Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 19

© Zühlke 2013 Seid Ihr bereit für Mono? (2/2) Erster Workshop ( ) Google APIs für Android 4.0 (API14) – maps_and_location/part_2_-_maps_api Kapitel «Google APIs Add-On» maps_and_location/part_2_-_maps_api Google Maps API Key – Für gewünschte Android-Entwicklungsplattform (Windows oder OS X): maps_and_location/obtaining_a_google_maps_api_key maps_and_location/obtaining_a_google_maps_api_key Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 20

© Zühlke 2013 Karten-App Screenshots Musterlösungen iOS Android Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 21

© Zühlke 2013 Koordinaten FHNW: ° N, 8.213° E Zühlke: ° N, ° E iOS Hilfsklasse mit Extension Method für MKMapView-Control: MapExtensions.CenterMap() MapExtensions.CenterMap() – Komfortables Zentrieren/Zoomen der Karte Android Tutorial von Xamarin zur Orientierung Tutorial von Xamarin Karten-App Hilfen Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 22

© Zühlke 2013 Vorbereitungen (wenn noch nicht erledigt) – Google APIs für Android 4.0 (API14) herunterladen – Google Maps API Key erzeugen Solutions mittels Template erstellen – iOS: iOS > iPhone > Single View Application – Android: Android > Android Application Karten-Control verwenden – iOS: Map View (Xcode) – Android: com.google.android.maps.MapView (XML, API Key einsetzen) App in Emulator starten – Android: Emulator mit Google API erstellen (AVD Manager, Demo) – Breakpoint setzen und debuggen Karten-App Erste Schritte Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 23

© Zühlke 2013 iOS Sogenannte «Outlets» in UI-Editor (Xcode) erstellen: drag-and-drop-in-xcode-4/ drag-and-drop-in-xcode-4/ Outlets sind im Code direkt als Instanzvariablen ansprechbar Android Benennung mit ID direkt in UI-XML: Ansprechen im Code via FindViewById-Methode und Resource- Konstante: var mapView = FindViewById (Resource.Id.map); Demo UI-Elemente ansprechen Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 24

© Zühlke 2013 Map View Outlet erstellen Map View aus Code ansprechen Toolbar mit Buttons Demo iOS Karten-App 11. März 2013Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver BrackFolie 25

© Zühlke 2013 Emulator Google APIs – API Level 14 Snapshot Karten-App com.google.android.maps.MapView ID zuweisen MapView aus Code ansprechen LinearLayout mit Buttons Demo Android Emulator erstellen und Karten-App Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 26

© Zühlke 2013 Layout gemäss Screenshots – Karten-Control – Toolbar (bzw. LinearLayout) mit Buttons Zentrierung auf Koordinate mittels Button-Click – UI-Controls aus Code ansprechen – iOS: Hilfsklasse für Zentrierung Entwicklungsumgebung nutzen – Debuggen (Schritt für Schritt) – Breakpoints – Call Stack – Watch (Variablen) Weitere Ausbauschritte – Aktuelle Koordinate/Zoomstufe anzeigen – Layers (z.B. Verkehr) oder Overlays anzeigen – GPS zur Positionierung nutzen Karten-App Fertig stellen Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 27

© Zühlke 2013 Was war gut? Alle haben nun lauffähige Umgebungen. Was kann verbessert werden? Lieber vormachen am Beamer und alle machen 1:1 mit. Vorbereitung der Studenten. Retrospektive 11. März 2013Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver BrackFolie 28

© Zühlke 2013 Seid Ihr bereit für Mono? Zweiter Workshop ( ) Karten-App (iOS und Android) – max: selber fertig stellen – min: Musterlösungen verstehen – MonoTouch.FHNW.Map.zip MonoTouch.FHNW.Map.zip – MonoDroid.FHNW.Map.zip MonoDroid.FHNW.Map.zip ServiceStack anschauen – MonoTouch.Dialog anschauen – – ch.dialog ch.dialog Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 29

© Zühlke 2013 Links Präsentationen Source Code \\Fsemu18.edu.ds.fhnw.ch\e_18_data11$\E1862_U nterrichte_I\E1862_6iCa\ws6C\ \\Fsemu18.edu.ds.fhnw.ch\e_18_data11$\E1862_U nterrichte_I\E1862_6iCa\ws6C\ Workshop 6 (ws6C) native Entwicklung für mobile Geräte | Oliver Brack11. März 2013Folie 30