Desktop-Version

Start arrow Informatik arrow Strategie für die Portierung von Desktop-Business-Anwendungen auf iOS-gestützte Endgeräte

< Zurück   INHALT   Weiter >

6.2 Handlungsempfehlung

Nach Abschluss der Portierung lassen sich zwei Kategorien von Implementierungen unterscheiden.

- plattformunabhängige Implementierungen

- plattformabhängige Implementierungen

Zu der plattformunabhängigen Implementierung zählen all jene Komponenten, deren Quelltext gleichermaßen in .NET und iOS genutzt werden können, ohne dass eine plattformabhängige Anpassung vor der Kompilierung durchzuführen ist. Hierzu zählen insbesondere die A-Komponenten, sowie eine Vielzahl an 0-Komponenten.

Zu der plattformabhängigen Implementierung zählen hingegen all jene Komponenten, die entweder nur für .NET oder MonoTouch (respektive iOS) zur Verfügung stehen. Die plattformabhängigen Komponenten lassen sich zusätzlich in zwei weitere Kategorien gliedern.

- Externe plattformabhängige Komponenten

- Anwendungsbezogene plattformabhängige Komponenten

Mit externen plattformabhängigen Komponenten sind Komponenten gemeint, die zumeist in projektübergreifenden externen Frameworks bereitgestellt werden und sich nur selten ändern. Hier sind insbesondere die Komponenten der Tzu nennen. Ihre Anbindung erfolgt, wie bereits mehrfach erwähnt, über definierte Schnittstellen und Adapter.

Anwendungsbezogene plattformabhängige Komponenten sind eng an die Benutzeranforderungen gebundene, sich dynamisch ändernde Komponenten. Hierzu zählt insbesondere die grafische Benutzerschnittstelle.

Für den Erfolg einer Portierung ist es erstrebenswert, dass abschließend eine hohe Anzahl von plattformunabhängigen Komponenten existiert und eine geringe Anzahl von plattformabhängigen Komponenten. Dieses Verhältnis hat maßgebliche Auswirkungen auf die Wartung und zukünftige Weiterentwicklung der Anwendung.

Denn der Aufwand, der bei der Wartung bzw. Weiterentwicklung einer Software entsteht, begrenzt sich bei den plattformunabhängigen Komponenten auf den gemeinsamen Quelltext, der zentral für beide Plattformen gepflegt wird. Zusätzlich wird sichergestellt, dass die komplexe Anwendungslogik für beide Plattformen zweifelsfrei identisch gehalten wird.

Im Gegensatz zu den plattformunabhängigen Komponenten müssen die plattformabhängigen Komponenten grundsätzlich doppelt betrachtet werden, da sie bei Änderungen oder Weiterentwicklungen auf beiden Plattformen angepasst werden müssen. In diesem Kontext sind insbesondere die anwendungsbezogenen, plattformabhängigen Komponenten zu betrachten, da ihre Änderungs- und Anpassungszyklen meist von kurzer Dauer sind.

Daher ist für existierende Anwendungen, die auf eine iOS-Plattform portiert werden sollen, grundsätzlich in Betracht zu ziehen, so viele Komponenten wie möglich auf einen plattformunabhängigen Entwicklungsstand zu bringen, um so für beide Plattformen einen gemeinsam verwendbaren Code zu erzeugen. Das verursacht zwar einen einmaligen Portierungsaufwand, für zukünftige Wartungs- und Weiterentwicklungsaufgaben sinkt der Aufwand jedoch um ein Wesentliches.

Bei zukünftigen, neuen Softwareprojekten, bei denen eine Multiplattform-tauglichkeit absehbar ist, sollte bereits bei der Konzeption auf plattformunabhängige Komponenten geachtet werden. Ist das nicht möglich, sind klare Schnittstellen zu definieren, über die die plattformabhängigen Komponenten angebunden werden. Dabei sollte für die technische Anbindung ein einmalig implementiertes Framework projektübergreifend genutzt werden.

Des Weiteren sollte die Projektinfrastruktur weitestgehend vereinheitlicht werden. Hierzu zählen insbesondere die Entwicklungsumgebung und die QuelltextVerwaltung. Bei der Portierung einer .NET-Anwendung auf iOS mit MonoTouch, können jedoch nicht gänzlich einheitliche Entwicklungsumgebungen benutzt werden, da MonoTouch für die Entwicklung einen Apple PC und das iOS SDK voraussetzt.

Die Quelltext-Verwaltung ist jedoch zentral möglich. Der Quelltext der plattformunabhängigen Komponenten liegt in gemeinsam genutzten Projektverzeichnis vor und wird über die jeweiligen Entwicklungssysteme (Windows: Visual Studio; iOS: MonoDevelop) verlinkt. Der Quelltext der plattformabhängigen Komponenten liegt in separaten Projektverzeichnissen vor und wird von den Entwicklungssystemen direkt eingebunden.

 
< Zurück   INHALT   Weiter >

Related topics