Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Kylix / Delphi / Linux / Windows / Macintosh ? (https://www.delphipraxis.net/74107-kylix-delphi-linux-windows-macintosh.html)

spacewolf 28. Jul 2006 07:38


Kylix / Delphi / Linux / Windows / Macintosh ?
 
Sagt mal wess einer ob Kylixcompilierte Programme auch unter dem Macintosh laufen ?
Weil es ja angeblich die QT - Bibliotheken auch unter dem Maci laufen sollen und Kylix darauf aufbaut.

Ich soll ne Oberfläche basteln, die für Windows (ich liebe es), Linux (auf Backe) und Macintosh (ach du Schreck) gleichzeitig läuft...

das heißt ich muss meine geliebte Win32 - Umgebung für kurze Zeit verlassen, das ist ja schlimmer als ne Woche "Urlaub" ohne Lappi und Delphi... :pale:

Shlomo :stupid:

Bernhard Geyer 28. Jul 2006 07:59

Re: Kylix / Delphi / Linux / Windows / Macintosh ?
 
Vergiss Kylix:

- Kann nur x86-Code erzeugen
- Hat mit neuen Linux-Versionen probleme
- Wird nicht mehr weiterentwickelt

Wenn Du Plattformunabhänig entwickeln mußt heißt es entweder .NET oder Java zu nehmen.

mkinzler 28. Jul 2006 08:13

Re: Kylix / Delphi / Linux / Windows / Macintosh ?
 
Oder Schau dir FPC/Lazarus an.

NecroWurst 28. Jul 2006 09:10

Re: Kylix / Delphi / Linux / Windows / Macintosh ?
 
Soweit ich mich eingelesen habe, sollten Programme für Linux Distros ebenso unter OSX laufen, da beides im Prinzip auf Unix basiert.

Wie aber nun die Realität aussieht, kann ich leider nicht sagen, es ist halt immer kritisch mit Informationen aus dem Internet, die man noch nicht selber testen konnte (<-- nur Linux nutzer, habe keinen Mac...)

Ansonsten kannst du die VCL auch durch CLX (hies doch so, oder?) ersetzen, bzw. auf eine Umgebung wie gtk+ oder qt aufbauen. Nur gibt's die meines Wissens nach nicht als Klassen für Delphi.... Hingegen laufen diese Umgebungen sowohl auf Linux als auch auf Windows, wie man am Beispiel gimp sieht (ist gtk+ -Umgebung).

Bernhard Geyer 28. Jul 2006 09:16

Re: Kylix / Delphi / Linux / Windows / Macintosh ?
 
Zitat:

Zitat von NecroWurst
Soweit ich mich eingelesen habe, sollten Programme für Linux Distros ebenso unter OSX laufen, da beides im Prinzip auf Unix basiert.

Das sind Ammenmärchen. So wie eine Windows-Anwendung nicht zwangsweise unter jeder Windows-Version läuft ist es bei Linux eher noch problematischer.
Und dann wäre auch noch das Problem das Mac's zu 99% Motorola-CPU's haben. Damit ist eine Neukompilierung für diese CPU's auf jedenfall nötig.

Zitat:

Zitat von NecroWurst
Ansonsten kannst du die VCL auch durch CLX (hies doch so, oder?) ersetzen, bzw. auf eine Umgebung wie gtk+ oder qt aufbauen.

Auf einer alten Version von QT und nur für x86-Prozessoren. Aber schon mal gesagt. Vergiss Kylix und CLX. Borland hat Kylix sterben lassen und DevCo hat andere Baustellen als jetzt nochmal Mio. in einen Linux-Port fließen zu lassen wo kein Entwickler für die IDE Geld ausgiebt. Nimm .NET, installiere Mono und schon hast Du deine Portierbarkeit. Und Borland wird eher auf diesen Zug aufspringen da man hier sozusagend die Portierbarkeit "geschenkt" bekommt.

Zitat:

Zitat von NecroWurst
Hingegen laufen diese Umgebungen sowohl auf Linux als auch auf Windows, wie man am Beispiel gimp sieht (ist gtk+ -Umgebung).

Wenn jemand mit gtk+-Programmiert würde mich interessieren wie hoch der Anpassungsaufwand bei realen komplexeren Anwendung trotzt gtk ist.

Der_Unwissende 28. Jul 2006 09:52

Re: Kylix / Delphi / Linux / Windows / Macintosh ?
 
Zitat:

Zitat von NecroWurst
Soweit ich mich eingelesen habe, sollten Programme für Linux Distros ebenso unter OSX laufen, da beides im Prinzip auf Unix basiert.

Wenn das so schön einfach wäre, dann hätten wir doch alle einige Probleme weniger. Was du meinst bezieht sich ohnehin nur auf das aktuelle MacOS X (wenn ich mich nicht völlig irre). Die guten Motorola G3 Prozessoren dürften wohl teilweise auf <= MacOS 9 laufen. Also schon hier wäre die Aussage läuft auf dem Mac etwas zu allgemein.

Zitat:

Zitat von Bernhard Geyer
Und dann wäre auch noch das Problem das Mac's zu 99% Motorola-CPU's haben. Damit ist eine Neukompilierung für diese CPU's auf jedenfall nötig

Das stimmt so nicht ganz. Sind sicherlich keine 99% Motorola, die letzten CPUs vor Intel kamen noch von IBM. Läuft zwar auf's selbe hinaus (eine komplette andere Prozessorarchitektur), aber trotzdem.
Das ein Programm unter jedem Unix läuft kann natürlich auch nicht stimmen. Linux ist zwar genau wie MacOS X ein Unix Derivat, dass sind aber AIX, Solaris, BSD, ... auch. Dummerweise gibt es aber nun eine sehr sehr große Anzahl solcher Derivate und jede Menge verschiedener Architekturen. Unixe laufen auf x86 Hardware, auf PowerPC Prozessoren, auf Alphas und und und. Schon hier wirst du nicht um das ein oder andere neu Compilieren rum kommen.
Dann kommt noch das Problem hinzu, dass natürlich jedes System eine eigene API verwenden wird. Selbst die Linux Distris schaffen es ja nicht eine gemeinsame Basis zu entwickeln, da laufen aber einige Versuche in die richtige Richtung.
Jedenfalls kannst du nicht davon ausgehen, dass die CLX noch hält was versprochen wird. Die Linux Kernel entwickeln sich ordentlich schnell weiter und schon der 2.4 und der 2.6 haben einige gute Inkompatiblitäten (an die keiner die CLX aktiv anpasst).

Was Qt und GTK+ angeht, so musst du bei beiden aufpassen. GTK kapselt imho nur Elemente für das GUI Design, die Funktionalität, die über das zeichnen hinaus geht ist dann wieder plattform-dependend (je komplexer die Funktionalität, desto wahrscheinlich dass du dabei ein Problem bekommst).
Bei Qt gibt es noch weitere Dinge die mit gekapselt werden (z.B. Netzwerk), dafür unterliegt Qt aber auch einem anderen Lizenzmodell (da müsstest du mal schauen). Zudem musst du natürlich auch hier auf jeder Plattform die entsprechenden Bibliotheken hinterlegen und einmal kompilieren.

Mono und .net ist sicherlich die von Borland unterstützte Alternative, aber Delphi .net dürftest du kaum in absehbarer Zukunft in Mono finden. Ich denke den Weg hat Borland auch schon mehr als deutlich eingeschlagen (immerhin erinnert das BDS doch schon stark an VS). Man kann sicherlich über den Sinn streiten. Im Moment sieht's auch ganz gut für Mono aus, aber die Portierungen hängen leicht dem aktuellen .net Standard hinterher.
Eine nahezu indentische Alternative wäre dann noch das gute alte Java. Sowohl .net als auch Java benötigen auf der Zielplattform eine virtuelle Maschine, die den jeweiligen Code ausführt. Bei Java hast du (imho) im Moment die größere Auswahl an Bibliotheken und IDEs, was natürlich daran liegt, dass es die Sprache schon etwas länger gibt. Auch die Weiterentwicklung von Java bringt weniger Inkopatiblität zu alten Versionen mit sich, als es .net mit dem Schritt von 1.x nach 2.0 tat (bei Java 1.4 zu 1.5/5.0 und demnächst 6.0 ist mir da keine bekannt).
Letztlich kann man auch hier wieder streiten welche Sprache toller ist, aber darum geht es nicht (dafür gibt es genug sinnlose Diskussionen). Was ich eigentlich nur sagen wollte ist, dass du mit den letzten Beiden Lösungen Code nur einmal schreiben musst und den überall ausführen kannst (wo eine VM läuft).

Alle diese Lösungen haben ihre Vor- und Nachteile. Bei den letzten beiden Lösungen (zu denen ich dir raten würde), hast du das Problem, dass du immer die Laufzeitumgebung mit liefern musst. Zudem wird der Code auf einer VM ausgeführt, dass könnte für zeitkritische Anwendungen ein Problem werden.
Bei Qt musst du wie gesagt gut mit den Lizenzen aufpassen. Zudem müsstest du natürlich die Anwendung auf jeder Zielplattform einmal linken.
Bei GTK+ musst du die GTK+ Bibliotheken auf der Zielplattform installieren und dann natürlich noch dein Programm für die jeweilige Plattform linken. Zudem hast du hier eine reine Grafikbibliothek und musst beim restlichen Code selbst darauf achten, dass der keine Plattformabhängigkeiten beinhaltet.

Gruß Der Unwissende

spacewolf 28. Jul 2006 09:54

Lazarus ist der Hammer
 
Lazarus ist der Hammer :-)

ik hab grad binnen von minuten eine simple datensensitive oberfläche gebaut und mit firebird verknüpft...
wie mit delphi - genial ik kuck mir dat ma weiter näher an ... nach m urlaub ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz