Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Professionelle Desktop- und App-Entwicklung

2,149 views

Published on

Lernen Sie bei diesem Stufe 1-Training, wie Sie mit gewissen Tricks Ihre App-Entwicklung für Windows Phone 8 mit Visual Studio 2012 noch einfacher gestalten können.
Visual Studio 2012 Professional unterstützt den App-Entwickler bei der Codierung von Apps für Windows Phone 8. Der entwickelte Programmcode kann zusammen mit den Unittests auf dem Team Foundation Service abgelegt werden. Der zentrale Zugriff auf den Sourcecode und dessen Verwaltung ist so jederzeit im ganzen Entwicklungsteam sichergestellt.
Machen Sie sich vertraut mit den umfangreichen Werkzeugen von Visual Studio 2012 und entwickeln Sie noch leichter und effizienter Ihre mobile Anwendung für Windows Phone 8.

Published in: Technology
  • Be the first to comment

Professionelle Desktop- und App-Entwicklung

  1. 1. © Zühlke 2013
  2. 2. © Zühlke 2013Professionelle Desktop- und App-Entwicklung12.04.2013Meister werden – Training Stufe 1Schlieren
  3. 3. © Zühlke 2013AgendaAgendaIntro 13:30 – 13:35 5’Einführung 13:35 – 13:45 10’Teil 1 13:45 – 14:30 45’Pause 14:30 – 14:45 15’Teil 2 14:45 – 15:45 60’Pause 15:45 – 16:00 15’Teil 3 16:00 – 16:45 45’Meister-Tools 16:45 – 16:55 10’Outro & Apéro 16:55 – 18:00 65’
  4. 4. © Zühlke 2013Nur wer fragt wirdMeister seines Fachs!Sensei
  5. 5. © Zühlke 2013
  6. 6. © Zühlke 2013Einführung
  7. 7. © Zühlke 2013Übersicht TrainingsStufe 3Professionelle Integration vonEntwicklung und Betrieb undArchitekturanalyseIntellitraceWeb- und PerformancetestingAutomatisches DeploymentStufe 2Agile Entwicklung undQualitätssteigerungStatische CodeanalyseTestfunktionen mit CodecoverageAufbau von VirtuellenTestumgebungenStufe 1Professionelle Desktop- undApp-EntwicklungApplication Lifecycle ManagementAutomatische UnittestsTeam Foundation Server
  8. 8. © Zühlke 2013Typische HerausforderungenChallenge 1Challenge 3Challenge 2
  9. 9. © Zühlke 2013Konkrete LösungenREQUIREMENTSMonitorImplementWORKING SOFTWAREIntegration Unit-TestingFrameworks in Visual Studio2Schnelles Ausführen undVerwalten aller Unittest imTest Explorer2Statische Code Analyse erhöhtdie Qualität21Visual Studio als einheitlichesTool für alle Plattformen1Integration von Technologienmit Team Explorer Everywhereund “git tf”Zentrale Source CodeVerwaltung und transpartentProjektverwaltung(Arbeitspakete)3
  10. 10. © Zühlke 20131. AktEine App muss her!
  11. 11. © Zühlke 2013Kein Erfolg ohne Mobilität!020040060080010001200140016002010 2011 2012 2013 2014 2015 2016PCs MobilgeräteQuelle: IDC/Nielsen 2012MillionenverkaufteGeräte
  12. 12. © Zühlke 2013Vier Fragen eines SenseiKosten senkenTime to MarketRisikominimierungVerteilte Teams
  13. 13. © Zühlke 2013Kürzlich nach denCRM.DAYS:«Eine mobile App fürWindows Phone muss her!»
  14. 14. © Zühlke 2013AusgangslageFirma MEGA CRMEntwicklungsabteilung Zürich SchweizKundenverwaltung (Desktop Anwendung)Business Layer(.NET)KundenverwaltungKundendatenMEGACRM
  15. 15. © Zühlke 2013User Interface Mockup
  16. 16. © Zühlke 2013Wie kriegen wir das hin?
  17. 17. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM
  18. 18. © Zühlke 2013Was brauchen wir?EntwicklungsumgebungApplication Lifecycle ManagementHosting
  19. 19. © Zühlke 2013ProblemeBeschaffung neuer Server problematischTime to marketKostenVerteiltes TeamDie Lizenzen machennur einen kleinen Teilder Kosten vonSoftware aus
  20. 20. © Zühlke 2013LösungEntwicklungsumgebung Visual Studio 2012Application Lifecycle Management Team Foundation ServiceHosting Windows Azure
  21. 21. © Zühlke 2013Visual Studio 2012IDE (Integrated Development Environment) von MicrosoftEntwicklung von9 Versionen seit 1995
  22. 22. © Zühlke 2013Visual Studio 2012Code EditorIntelliSenceRefactoringDebuggerDesigner (GUI, Web, Database, …)Source Control PluginProgrammiersprachen(C, C++, VB.NET, C#, F#, M, Phyton, Ruby, XML, XSLT, HTML, JavaScript, CSS, …)Emulatoren (Windows 8, Windows Phone 8)Erweiterbar…
  23. 23. © Zühlke 2013Verschiedene Versionen
  24. 24. © Zühlke 2013Demo: MegaCRM in Visual Studio2012
  25. 25. © Zühlke 2013Mega CRM LösungEntwicklungsumgebung Visual Studio 2012Application Lifecycle Management Team Foundation ServiceHosting Windows Azure
  26. 26. © Zühlke 2013Team Foundation Service
  27. 27. © Zühlke 2013ÜbersichtREQUIREMENTSMonitorImplementWORKING SOFTWAREProduct OwnerDeveloperOperationPriorisierenDefinierenImplementierenTesten ÜberwachenDefekte erfassenCR erfassenDeployen
  28. 28. © Zühlke 2013Vorteile Team Foundation ServiceGratis für bis zu 5 EntwicklerZero maintenance costsAutomatische UpgradesVon überall zugreifbarHohe VerfügbarkeitAutomatisches BackupSchnelles Aufsetzen
  29. 29. © Zühlke 2013Nachteile Team Foundation ServiceKeine Prozess Template AnpassungLimitiertes ReportingVon Microsoft ausserhalb der Schweiz gehostedNoch nicht gleicher Funktionsumfang wie Team FoundationServer
  30. 30. © Zühlke 2013Demo: Erstellen des Projektsim TFS
  31. 31. © Zühlke 2013Demo: Source Code in denTFS
  32. 32. © Zühlke 2013Mega CRM LösungEntwicklungsumgebung Visual Studio 2012Application Lifecycle Management Team Foundation ServiceHosting Windows Azure
  33. 33. © Zühlke 2013Windows AzureWindows Azure (kurz Azure) ist die Microsofts CloudFeaturesWebsitesVirtual MaschinesCloud ServicesData ManagementMedia Services
  34. 34. © Zühlke 2013Demo: Erstellen des Services aufAzure
  35. 35. © Zühlke 2013Scrum Board updaten
  36. 36. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM
  37. 37. © Zühlke 2013Mega CRM LösungEntwicklungsumgebung Visual Studio 2012Application Lifecycle Management Team Foundation ServiceHosting Windows Azure
  38. 38. © Zühlke 20132. AktDas Windows Phone 8
  39. 39. © Zühlke 2013Windows Phone 8Source
  40. 40. © Zühlke 2013Shared Windows CoreWinCEOSSharedCoreWP 7.x WP 8 Windows 8Gleicher NT Kernel, Netzerk, Grafik, Filesystem, Security, ...Gleiches Driver Model für HardwareentwicklerAchtung: Nicht exakt gleiches API für App-Entwickler!OSSharedCore
  41. 41. © Zühlke 2013Windows Phone 8 ArchitectureWindows Core SystemNTFSSharedcoreNetworking Security NT KernelMobile CoreCore CLR IE Trident Multimedia DirectXOthers…Connection management…Platform servicesPackagemanager Executionmanager Navigationmanager Resource managerWindowsPhone 8System WP ShellSystem applicationsFrameworks.NET API for WP WP Runtime API Win32 & COMApplication modelsXAML Apps Direct3D Apps
  42. 42. © Zühlke 2013Windows Phone 8 API.NET API for WindowsPhoneWindows Phone Runtime Win32 & COMDirect 3D AppsC# / VBXAML AppsC# / VB / C++ C++File system, Networking, Graphics, MediaCore Operating System
  43. 43. © Zühlke 2013.NET API für Windows PhoneSeit Windows Phone 7Enthält alle Typen und APIs von Windows Phone 7.1Alle neuen Typen für Windows Phone 8Managed Code (C#, VB).NET APIforWindowsPhoneXAML Maps HTML XMLPhoneFeaturesPush Calender WalletMultitasking Live Tiles
  44. 44. © Zühlke 2013WinRT(11’000 members)WindowsPhoneRuntimeWindows Phone Runtime APIIst ein subset der WinRT für Windows 8 + WP8 ZusätzeZugriff: Managed (C#, VB) und Native (C++)Implementiert in C++  Language Projection für C#, VB.NET, C++WP8subset(2’800)New WPRuntime(600)+Sprache ErkennungWindows.Phone.PersonalInformationLockScreen & LockScreenmanager…WindowsPhoneRuntimeGeolocation SensorsIn-AppPurchaseThreading Touch SpeechCamera Video Proximity Contracts Core Types VoIPMemory Async EnterpriseCore AppModelFile SystemAccessStore
  45. 45. © Zühlke 2013.NETAPI for Windows Phone oderWindows Phone Runtime?Die beiden APIs haben überschneidende FunktionalitätenManaged Code Entwickler können auswählen:Windows Phone 7/8: .NET APIWindows Phone 8 und Windows 8: Windows Phone Runtime.NET API Windows Phone Runtime APISystem.IO.IsolatedStorage Windows.StorageSystem.NET.Sockets Windows.Networking.SocketsMicrosoft.Devices.Sensors Windows.Devices.Sensor… …undoder?.NET APIforWindowsPhoneWindowsPhoneRuntime
  46. 46. © Zühlke 2013Win32 und COM APINative (C++)APIHigh PerformanceHauptsächlich für native EntwicklerWin32COMDirect3D XAudio2MediaFoundationSTLCRT
  47. 47. © Zühlke 2013In diesem Workshop:XAML UI mit C#XAMLC#UI mit XAMLLogik mit C#.NET API forWindows PhoneWindows PhoneRuntime
  48. 48. © Zühlke 2013Demo: Windows Phone 8 HalloWelt
  49. 49. © Zühlke 2013Was bietet Windows Phone 8?TilesDrei Tile templates3 GrössenUpdate
  50. 50. © Zühlke 2013Was bietet Windows Phone 8?Lock ScreenApp kann als Lock ScreenProvider registriert werden.Quick StatusBackground Image Provider
  51. 51. © Zühlke 2013Was bietet Windows Phone 8?LaunchersMittels Launchers können wir allgemeine Aufgaben ausführen.Photo machenKontakt hinzufügenEmail versendenRoute berechnenSMS versendenKalenderDownloadShareMedia (Sozialnetwork)…
  52. 52. © Zühlke 2013Was bietet Windows Phone 8?Maps und Location TrackingMap Control mit Nokia MapsVektor basiertVier KartentypenAPI für Location Tracking(auch im Background)
  53. 53. © Zühlke 2013Was bietet Windows Phone 8?SpracheSprache KommandosSprache ErkennungText-To-Speech API (Vorlesen)
  54. 54. © Zühlke 2013Was bietet Windows Phone 8?3 Auflösungen
  55. 55. © Zühlke 2013Was bietet Windows Phone 8?…API für VoIP und Video ChatBluetooth und NFCWallet (Kredit-, Member-, Eintritts-Karten)KameraPictureMusicSD Card (read)File und Protocol AssoziationenIn-App VerkaufLokalisation und Globalization (50 Sprachen)
  56. 56. © Zühlke 2013Windows Phone EmulatorDer Emulator läuft als Hyper-V- Virtual Machine auf dem PCEnthält die gleiche Software wie das echte WP8FeaturesAchtung: Nur für funktional Testing verwenden
  57. 57. © Zühlke 2013Demo: Windows PhoneEmulator
  58. 58. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM
  59. 59. © Zühlke 2013MegaCRM: Kundenlistedarstellen
  60. 60. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM
  61. 61. © Zühlke 2013Page basierte NavigationNavigationprivate void HyperlinkButtonClicked(object sender, RoutedEventArgs e){NavigationService.Navigate(new Uri("/DetailPage.xaml", UriKind.Relative));}
  62. 62. © Zühlke 2013Applikation kann Controls zum Zurücknavigieren bereitstellenJedes Phone hat einen Hardware Back ButtonNavigation – Seite zurückprivate void BackButtonClicked(object sender, RoutedEventArgs e){NavigationService.GoBack();}
  63. 63. © Zühlke 2013Daten können als Query String Parameter übergeben werdenAuf der ZielseiteNavigation – Daten übergebenprivate void _customerList_OnSelectionChanged(object sender, SelectionChangedEventArgs e){var customerViewModel = customerList.SelectedItem as CustomerViewModel;NavigationService.Navigate(new Uri("/CustomerDetailPage.xaml?ID="+ customerViewModel.Id, UriKind.Relative));}protected override void OnNavigatedTo(NavigationEventArgs e){base.OnNavigatedTo(e);var customerId = string.Empty;if (NavigationContext.QueryString.TryGetValue("ID", out customerId))...}
  64. 64. © Zühlke 2013MegaCRM: Navigation aufDetailseite
  65. 65. © Zühlke 2013System TrayApplication BarApplication BarSystem TrayApplication Bar
  66. 66. © Zühlke 2013Weisse App Bar Icons mittransparentem Hintergrundwerden vom Systemautomatisch richtig eingefärbt.Sensei-Tipp – Application Bar
  67. 67. © Zühlke 2013MegaCRM: ApplicationBar
  68. 68. © Zühlke 2013Sie müssen ein registrierter Entwickler sein ($99.- pro Jahr)Das Windows Phone muss registriert sein.Deploy to PhoneDeployment to Phone
  69. 69. © Zühlke 2013Company Hub als Enterprise StoreDeployment for Enterprises
  70. 70. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM
  71. 71. © Zühlke 20133. AktDie Qualität muss verbessert werden!
  72. 72. © Zühlke 2013Der Qualitäsbeauftragte«Die Qualität mussverbessert werden!»
  73. 73. © Zühlke 2013Unit Testing in VS 2012
  74. 74. © Zühlke 2013Unit Testing - Architecture
  75. 75. © Zühlke 2013MegaCRM: Unit Tests
  76. 76. © Zühlke 2013Automatisierte Builds mit TFSBuild in the cloudContinuous Integration BuildsAutomatisches Ausführen von TestsAutomatisches Deployment auf Azure
  77. 77. © Zühlke 2013MegaCRM: CI Build in theCloud
  78. 78. © Zühlke 2013Code AnalyseVS Code AnalysisAuch FxCop genanntIn Visual Studio integriertStatische Code AnalyseAnalysiert AssembliesStyleCopNicht in Visual Studio integriertAnalysiert C# Source CodeÜberprüft Code Formatierung
  79. 79. © Zühlke 2013MegaCRM: CodeAnalyse
  80. 80. © Zühlke 2013WP8 Mega CRM: The Big PictureAzure CloudREST ServiceMEGACRM 
  81. 81. © Zühlke 2013Zusammenfassung
  82. 82. © Zühlke 2013ZusammenfassungSource Build Plan Test Collaborate ServiceTeam Foundation Service Azure
  83. 83. © Zühlke 2013Vier Fragen eines SenseiKosten senkenTime to MarketRisikominimierungVerteilte Teams
  84. 84. © Zühlke 2013Kosten senkenVisual Studio 2012Team Foundation ServiceAzure
  85. 85. © Zühlke 2013Time To MarketVisual Studio 2012Team Foundation ServiceAzure
  86. 86. © Zühlke 2013RisikominimierungVisual StudioTeam Foundation ServiceAzure
  87. 87. © Zühlke 2013Verteilte TeamsVisual Studio 2012Team Foundation ServiceAzure
  88. 88. © Zühlke 2013Mit Visual Studio 2012hat man eineAllzweckwaffe, welcheeinem in jedem Kampfunterstützt.Sensei
  89. 89. © Zühlke 2013Meister-Tools
  90. 90. © Zühlke 2013Mission-criticalscale andcomplexity IntelliTrace Anywhere Web Performance Testing Load Testing Architecture Explorer, ProgressiveReveal, and Standard Graphs UML 2.0 Compliant Diagrams(Activity, UseCase, Sequence, Class, Component) Layer Diagram andDependency ValidationUltimateMicrosoftExpressionStudio 4UltimateQualityenabled teamdevelopment Code Metrics Code Coverage Coded UI Testing Code Clone Code Review Task Suspend/ResumeContinuous qualityenablement Test Case Management Manual Testingand Fast-Forward Exploratory Testing Lab Management PowerPoint Storyboarding Backlog Management Sprint Planning Feedback ManagerPremium Test ProfessionalMicrosoftExpressionStudio 4Web ProfessionalIntegrated teamscontinuous value delivery Project Management Work Item Tracking SCM Reporting Build Services PreEmptive Analytics Agile Task Boards System CenterIntegrationTeam Foundation ServerDevelopment productivityeverywhere Windows Desktop and Phone Apps Windows 8 Metro Style Apps Web and Cloud Websites andServices Office and SharePoint Development Blend for Visual Studio LightSwitch Extensible Testing Framework Static Code Analysis Advanced Profiling Refactoring Graphics Debugging Third-Party Extensibility Read-Only Diagrams Team ExplorerProfessional
  91. 91. © Zühlke 2013Was braucht’s für Stufe 1?InvestitionenFür den aufgezeigtenProduktivitätsgewinn braucht’s:Bsp.: 4 Developer, 1 Projektleiterca. 70 CHF pro Dev/Monat*ca. 36 CHF pro PL/Monat*$$Stufe 1Professionelle Desktop- undApp-EntwicklungApplication Lifecycle ManagementAutomatische UnittestsTeam Foundation ServerDevtoolsDie gezeigten Beispiele setzenfolgende Lizenzen vorausVisual Studio Professional w/MSDNTeam Foundation Server CAL* unverbindliches Preisbeispiel
  92. 92. © Zühlke 2013Softwarebeschaffung/-ComplianceSoftwarebeschaffungZahlreiche Lizenzprogramme undLizenzierungsformenJe nach Anforderungen undRahmenbedingungen des UnternehmensLizenzberatungLassen Sie sich durch den Fachhändler beraten!Beste Lösung für Sie für den günstigsten Preis…… und Sicherstellung der korrekten Lizenzierunghttp://www.microsoft.com/de-ch/visualstudio/buy
  93. 93. © Zühlke 2013Ihre MSDN VorteileSoftware Assurance für Visual StudioImmer die neuesten Werkzeuge und Technologien verwenden könnenImmer korrekt, legal und günstig lizenziert bleibenFast alle Microsoft Produkte für Test- und EntwicklungszweckeTeam Foundation Server 2012Alle gängigen Windows-Betriebssysteme, z.B. Windows 8, Windows Server2012SQL Server (und alle weiteren Server ab Premium)Office, Visio und Project (ab Premium)Expression Studio (ab Premium)Azure-Serverzeit für Cloud ComputingDowngrade-Rechte für ältere Versionen von Visual StudioProfi-Support & Trainingsinhaltemsdn
  94. 94. © Zühlke 2013MSDN: Schon ab einerLizenz mehr Leistungfür weniger Geld!Sensei-Tipp
  95. 95. © Zühlke 2013Sparen Sie bis zu 30%!Premium UpgradeGültig für Kunden von Visual Studio Professional mitMSDN-AbonnementBis zu 30 % sparen beim Upgrade auf Visual StudioPremiumWeltweit gültig bis zum 30. Juni 2013Über verschiedene Volumenlizenzprogrammeerhältlich:Enterprise Agreement, EAP, Select Plus, Open Valueund Open Value SubscriptionKontaktieren Sie Ihren Software-/Handelspartner fürIhr individuelles Angebot (Stichwort: „SA Step Up“)ProfessionalPremium
  96. 96. © Zühlke 2013Ihre KontakteFür weitere Fragen stehen wir Ihnen jederzeitgerne zur Verfügung.Hansjörg SchererTechnical Solution Professional Developer Toolshansjoerg.scherer@microsoft.comMobile: +41 (0)78 844 64 30Microsoft SchweizRichtistrasse 3CH-8304 WallisellenCorinna SameliSolution Sales Specialist Developer Toolscorinna.sameli@microsoft.comMobile: +41 (0)78 844 60 24Microsoft SchweizRichtistrasse 3CH-8304 Wallisellen
  97. 97. © Zühlke 2013Outro
  98. 98. © Zühlke 2013
  99. 99. © Zühlke 2013Über unsRomano RothLead Software ArchitectSeit 2002 bei ZühlkeClient-ArchitekturenProduct Owner (PO) im Rollenspielromano.roth (at) zuehlke.comStefan ZügerSoftware EngineerSeit 2010 bei ZühlkeClient-EntwicklungEntwickler (Dev) im Rollenspielstefan.zueger (at) zuehlke.com
  100. 100. © Zühlke 2013Was können wir für Sietun?@romanoroth@stefanzuegerOder

×