Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#75

AW: Gerüchte um XE2 Beta-Test

  Alt 3. Aug 2011, 14:27
Schön wäre es natürlich gewesen, wenn es unter Windows wie mit Windowskomponenten und unter Linux mehr linuxmäßig und auf'm Mac macisch aussehn würde.
So isses ja im Prizip doch immer eine geskinnte Anwendung, welche sich nicht ins System eingliedert.
Dafür gibt es aber kein UI Kit, und um es auf dem jeweiligen System 'Nativ' aussehen zu lassen musst Du jeweils die native API benutzen.

Um das Cross-Platform zu machen, musst Du diese API abstrahieren. Um das sauber zu machen, musst Du Dich auf den kleinsten gemeinsamen Nenner einigen. Wenn Du das tust, stehen Dir auf den spezifischen Plattformen nicht alle Features zur Verfügung, die Du bräuchtest, die es auch überall irgendwie gibt, die sich aber so massiv unterscheiden dass Du sie nicht gemeinsam abstrahieren kannst.

Dazu kommt dann noch, dass bestimmte UI Konzepte wie z.B. die native Mac-Oberfläche zwangsläufig MVC benötigen, das mit einem Forms- und Eventbasierten Konzept aber nicht abbildbar ist.

Kurzum: Es wird aller Vorraussicht nach nie ein X-Platform-System geben, dass überall nativ aussieht. Aus genau diesem Grund empfehlen richtige Cross-Platform Entwickler ja auch, seine Anwendung mehrschichtig aufzubauen, UI von Logik zu trennen und für jedes System eine native GUI mit dem jeweiligen am besten passenden Toolkit zu erstellen, und den non-Gui-Code hinten halt wiederzuverwenden.

Dabei kommen dann am Ende Lösungen bei raus, die auf jeder der unterstützen Plattformen richtig aussieht, sich auch richtig anfühlt und vor allem - aus Entwicklungssicht - auch besser wartbar weil entkoppelter ist.

Natürlich ist das mehr Aufwand, aber der rentiert sich imho, weil die Software besser angenommen wird und auch das Aufräumen in der Architektur macht sich auf längere Sicht mehr als bezahlt.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat