© Zühlke 2011 Martin Kutz XingApp - Cross Platform Cross Platform Tests mit Mono am Beispiel der XING App 22. November 2011 Folie 1 von 14
© Zühlke 2011 Idee XingApp - Cross Platform | Martin Kutz22. November 2011 Business Logic für andere Plattformen wiederverwenden Bestehende XING App umstrukturieren und Phone- unabhängigen Teil unter Mono zum Laufen bringen Apps mit MonoDroid & MonoTouch für Android & iPhone basierend auf.NET Code
© Zühlke 2011 XingApp - Cross Platform Martin Kutz Software Architektur der WP7 XingApp 22. November 2011 Folie 3 von 14
© Zühlke 2011 Software Architektur XingApp - Cross Platform | Martin Kutz22. November 2011Folie 4 von 14 Isolated Storage View ViewModel Store Service Commands, Calls Data- Binding CallBack, StateChangedEvent Callback, errorCallback Call LocalStorage Access REST-XML HTTP-Request Parse Response Messenger Publish/ Subscribe
© Zühlke 2011 Software Architektur XingApp - Cross Platform | Martin Kutz22. November 2011Folie 5 von 14 Isolated Storage View ViewModel Store Service LocalStorage REST-XML Messenger
© Zühlke 2011 Software Architektur XingApp - Cross Platform | Martin Kutz22. November 2011Folie 6 von 14 Views ViewModel XingApp.Ui Stores Services XingApp.Core Interfaces Entities XingApp.Common Storage XingApp.Common.Wp7 XingApp.Agent.Wp7 Views XingApp.Ui.Andoid Storage...Common.Andoid
© Zühlke 2011 Software Architektur XingApp - Cross Platform | Martin Kutz22. November 2011 Views ViewModel XingApp.Ui.Wp7 Stores Services XingApp.Core Interfaces Entities XingApp.Common Storage XingApp.Common.Wp7 Views ViewModel XingApp.Ui.Win8 Storage XingApp.Common.Win8 Folie 7 von 14
© Zühlke 2011 XingApp - Cross Platform Martin Kutz Zahlen & Fakten 22. November 2011 Folie 8 von 14
© Zühlke 2011 Code-Verteilung auf die verschiedenen Projekte XingApp - Cross Platform | Martin Kutz22. November 2011Folie 9 von 14
© Zühlke 2011 Zahlen & Fakten XingApp - Cross Platform | Martin Kutz22. November 2011Folie 10 von 14 Projekt Zeilen *.cs Zeilen mit ';' XingServer XingApp.Common XingApp.Core XingApp.Integration.Tests XingApp.Common.Wp XingApp.Agent XingApp.Ui XingApp.Ui.Tests XingApp.Ui.Tests.Runner Summe % von Gesamt Plattformspezifisch mit Tests *.cs*.cs mit ';' Ui+Tests+Agent+Common.Wp ,37%61,44% Plattformunabhängig ohne Tests Core+Common ,33%28,69% Core+Common+Server+Runner ,63% 38,56% Plattformspezifisch ohne Tests Ui+Agent+Common.Wp ,23% 38,40% Fast 50% wiederverwendbar!
© Zühlke 2011 XingApp - Cross Platform Martin Kutz Erledigte Punkte 22. November 2011 Folie 11 von 14
© Zühlke 2011 Erledigte Punkte Cross-Platform kompatible Architektur Einbindung in MonoDroid Applikation Erzeugung der Stores/Services mit Funq Stores/Services/Entities nutzbar 22. November 2011XingApp - Cross Platform | Martin KutzFolie 12 von 14
© Zühlke 2011 XingApp - Cross Platform Martin Kutz Offene Punkte 22. November 2011 Folie 13 von 14
© Zühlke 2011 Offene Punkte/Aufgaben LocalStorage, ApplicationStorage DispatchService Einfaches Test-UserInterface entwerfen (z.B. Messages) Hammock näher untersuchen und ggf. ersetzen Versuche mit Hammock ohne Erfolg Einfacher System.Net.WebRequest funktioniert 22. November 2011XingApp - Cross Platform | Martin KutzFolie 14 von 14