009
23.06.2003, 17:51 Uhr
ao
(Operator)
|
Zitat: |
~Gast postete dass eine spätere compilierung auf dem mac ggf. auch möglich sein sollte.
|
Hierzu noch ne Anmerkung: Ggf. gibts bei so was nicht. Eine Software ist entweder portabel entworfen oder nicht. Ein portabler Entwurf kostet in der Regel mehr Zeit, weil er auf allen Zielsystemen verifiziert werden muß. Man muß sich um einige Dinge Gedanken machen, die bei einem nichtportablen Entwurf kein Thema sind.
Das fängt an bei so "Kleinigkeiten" wie Byte-Order an (besonders dann, wenn PC und Mac im Spiel sind) und geht weiter damit, daß für alle Zielplattformen C++-Compiler, STL-Bibliotheken, Testsysteme usw. verfügbar sein müssen, und zwar vom ersten Tag an.
Dann muß verifiziert werden, daß das Rahmenprogramm, für das du das Plugin schreibst, auf beiden Systemen dasselbe Plugin-API hat bzw. die Unterschiede müssen in einer geeigneten Zwischenschicht aufgefangen werden.
Außerdem muß geklärt werden, ob es Dinge in dem Plugin geben wird, die nur systemabhängig programmiert werden können, weil es keine STL-Verpackung dafür gibt (als spontanes Beispiel fallen mir Threads ein - gibts doch nicht in der STL, oder?). In diesem Fall muß man sich auch hierfür eine portable Verpackung einfallen lassen.
Und es muß eine Lösung dafür gefunden werden, wie man von beiden Entwicklungsplattformen aus auf die gleiche Sourcecode-Basis zugreift (z.B. mit cvs).
Ich habe bestimmt noch ein paar Sachen vergessen.
Das sind alles keine unlösbaren Probleme, aber sie kosten Zeit. Sie kosten schon viel Zeit, wenn man sie von Anfang an einplant, aber sie kosten erst richtig viel, wenn man irgendwann merkt, daß man sie nachträglich einbauen muß. Und das frustrierende Ende vom Lied ist dann meist, daß man, unter dem Druck, fertig zu werden, zwei nichtportable Programme ausliefert, die außer dem Namen nichts gemeinsam haben, und fortan doppelten Pflegeaufwand hat.
Also, portabel oder nicht ist eine Entscheidung, die am Anfang eines Projekts fallen muß. Erst mal auf PC programmieren, und dann irgendwann später gegebenenfalls auf den Mac wechseln, das wird nicht gutgehen.
Viel Erfolg
ao |