Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Portabilität zwischen Linux und Windows? (https://www.delphipraxis.net/58442-portabilitaet-zwischen-linux-und-windows.html)

mh166 7. Dez 2005 08:25


Portabilität zwischen Linux und Windows?
 
Hi Leute,

ich hab vor @school ne BELL (Besondere Lernleistung) zu machen. Dafür will ich ein Programm schreiben, dass als Server im Netzwerk fungiert und welches über eine Weboberfläche Statusinformationen über den Rechner gibt. Dieses "Grundsystem" soll dabei auch über Plugins erweiterbar sein. An sich in der Theorie soweit kein Problem... jedenfalls nicht unter Windows.

Allerdings müsste ich nun im Idealfall die Anwendung für Linux schreiben (hab meine Gründe, lässt sich auch nich ändern). Da ich das Zeug dann aber auch in meinem LAN einsetzen will (das is der eigentliche Grund, wofür ichs code) sollte es trotzdem möglich sein, das Ganze mit relativ geringem Aufwand nach Windows zu portieren.

Jetzt also meine Frage: ist das Ganze Unterfangen überhaupt möglich und wenn: was sollte man dabei beachten? Welche Delphi-/Kylix-Versionen sind dafür am Besten geeignet (wegen Kompatibilität zw. den beiden)?

Nun noch ein paar Informationen bzw. einen Grundriss von dem geplanten Programm: Es soll wie gesagt als Dienst auf dem jeweiligen Rechner laufen und einen HTTP-Server bereitstellen. Dabei soll das Programm erstmal nur den Server und die PlugIn-Schnittstelle bereitstellen. Die PlugIns könnten dann im Idealfall mit jeder beliebigen Programmiersprache geschrieben werden und müssen demzufolge nicht plattformunabhängig sein, so wie der Server.

Das bedeutet im Endeffekt das lediglich das Grundgerüst des Dienstes/Deamon mit dem (Indy?)HTTP-Server und dem PlugIn-System plattformunabhängig gecodet werden müssen. Dabei wäre ich auch bereit den Weg über einen Wrapper zu gehen: Ich code eine (plattformabhängige) Anwendung, welche sich als Dienst/Deamon einträgt und dann das eigentliche System aus einer anderen (plattformunabängige) Anwendung nachlädt. Ich hoffe, ihr versteht, was ich meine.

Falls es noch Unklarheiten wegen des Ziels oder dem Aufbau geben sollte, fragt einfach.

so far...
mfg, mh166

mh166 8. Dez 2005 09:04

Re: Portabilität zwischen Linux und Windows?
 
Niemand hier, der Ahnung davon hat oder wenigstens irgendwelche Vermutungen oder Tipps dazu geben kann? Bräuchte das Ganze nämlich bald. Hoffe, es findet sich noch jemand :D

mfg, mh166

diComm 8. Dez 2005 09:15

Re: Portabilität zwischen Linux und Windows?
 
Naja, wenn das ganze auf Windows und Linux laufen soll wäre wohl ein Delphi.net nicht so verkehrt. Dann sollte einfach noch die SDK vorhanden sein und das Programm läuft Plattformunabhängig (wenigstens Theoretisch, keine Ahnung wie weit die Entwicklung ist...)

Weiter kan ich dir leider nicht helfen

mh166 8. Dez 2005 10:21

Re: Portabilität zwischen Linux und Windows?
 
Hmm... stimmt... man könnte das per .NET machen. Afaik gibts das aber nicht nativ für Linux, oder täusch ich mich? Aber ich kann ja auf das Mono-Framework zurückgreifen, für Linux. Frag ich mich halt nur, inwieweit die ganzen Kompos und so .NET-kompatibel sind. Selber hab ich noch nie damit gearbeitet, von daher wäre mir eine Lösung ohne das Framework sehr viel lieber! Vorschläge? ;) Trotzdem danke für die Idee, werd mal drüber nachdenken...

/me muss jetzt aber erst mal zu Mathe ;)
mfg, mh166

mh166 11. Dez 2005 18:26

Re: Portabilität zwischen Linux und Windows?
 
16240 Benutzer und keiner hat ne Idee? :gruebel: Kommt schon. Ich vertrau auf euch!!!

moritz 11. Dez 2005 19:11

Re: Portabilität zwischen Linux und Windows?
 
Genau, .NET ist dafür nicht verkehrt
Eine andere Möglichkeit wäre, das Windows-Programm auf Linux mit WINE zu emulieren - ist zwar keine besonders schöne Lösung, funktioniert aber.
Oder du schreibst es für Windows und emulierst es dort.

Eine andere Idee wäre Java - Aber das ist dann ja nicht mehr Delphi/Kylix. Außerdem, wenn du .NET hast.

Oder du realisierst das ganze "online" mit PHP und AJAX - Browser gibt's auf jedem OS.

tommie-lie 11. Dez 2005 19:14

Re: Portabilität zwischen Linux und Windows?
 
Zitat:

Zitat von mh166
Afaik gibts das aber nicht nativ für Linux, oder täusch ich mich? Aber ich kann ja auf das Mono-Framework zurückgreifen, für Linux.

Definiere "nativ" in Zusammenhang mit dem .NET-Framework :mrgreen: Mono ist so nativ wie Microsofts Framework auch.


Zitat:

Zitat von mh166
Jetzt also meine Frage: ist das Ganze Unterfangen überhaupt möglich und wenn: was sollte man dabei beachten? Welche Delphi-/Kylix-Versionen sind dafür am Besten geeignet (wegen Kompatibilität zw. den beiden)?

Es ist sicherlich möglich, Delphi kennt IFDEFs genauso wie jede andere vernünftige Sprache auch ;-)
Die Gegenversion zu Kylix3 ist mehr oder weniger Delphi 6.5, mit Delphi 6 oder Delphi 7 solltest du also Glück haben (ist ja gut, ich geh' gleich in die Ecke und schäme mich dafür, "Kylix" und "Glück" im gleichen Satz verwendet zu haben).

Zur Plattformunabhängigkeit deiner Plugins: Wenn du die Plugins nicht komplett selbst interpretieren willst, müssen diese ebenfalls portabel sein. Klassisch implementiert man Plugins unter Windows mit DLLs, unter Linux wäre das Äquivalent dazu ein SO, komplett anderes Dateiformat. Außerdem dürfen die Plugins nicht auf Funktionen des Betriebssystems zurückgreifen, bzw auf eine RTL, die nur auf einem System zur Verfügung steht. Im Falle von C(++) wären sie strikt auf die stdlib (STL) beschränkt.

Die Indies gibt es soweit ich weiß auch für Kylix, du könntest also für den Daemon mit der gleichen Codebase für Linux und Windows arbeiten, wenn du dich geschickt anstellst (Tipp: Daemons haben i.d.R. keine GUI ;-)).


Mit irgendwelchen Servern und Plugins schreit das ganze für mich allerdings für ein transparentes System, ergo .NET oder Java, wenn's denn sein muss. Wirklich gescheite native Lösungen fallen mir für sowas fast gar nicht ein.

bigg 11. Dez 2005 19:30

Re: Portabilität zwischen Linux und Windows?
 
Hi,

hast du schonmal daran gedacht das ganze mit PHP zu realisieren?

mh166 11. Dez 2005 19:46

Re: Portabilität zwischen Linux und Windows?
 
Zitat:

Zitat von tommie-lie
Zitat:

Zitat von mh166
Afaik gibts das aber nicht nativ für Linux, oder täusch ich mich? Aber ich kann ja auf das Mono-Framework zurückgreifen, für Linux.

Definiere "nativ" in Zusammenhang mit dem .NET-Framework :mrgreen: Mono ist so nativ wie Microsofts Framework auch.

Damit mein ich, dass M$ selber IMHO kein .NET für *nix zur Verfügung stellt und ich deshalb auf Mono zurückgreifen müsste. Soll heißen "nativ" = "von M$".
Das Problem, was ich mit .NET hab ist halt, dass ich a) damit noch nich gearbeitet habe, b) nich weiß, inwieweit man W32-Kompos in .NET verwenden kann oder obs die Indys auch für dN gibt und c) keine Ahnung habe, inwieweit dann Mono das compilat fehlerfrei und vor allem auch als Deamon ausführen kann.

Zitat:

Zitat:

Zitat von mh166
Jetzt also meine Frage: ist das Ganze Unterfangen überhaupt möglich und wenn: was sollte man dabei beachten? Welche Delphi-/Kylix-Versionen sind dafür am Besten geeignet (wegen Kompatibilität zw. den beiden)?

Es ist sicherlich möglich, Delphi kennt IFDEFs genauso wie jede andere vernünftige Sprache auch ;-)
Die Gegenversion zu Kylix3 ist mehr oder weniger Delphi 6.5, mit Delphi 6 oder Delphi 7 solltest du also Glück haben (ist ja gut, ich geh' gleich in die Ecke und schäme mich dafür, "Kylix" und "Glück" im gleichen Satz verwendet zu haben).
Thx. Werd mal sehen, wo ich Kylix3 herbekomme...

Zitat:

Zur Plattformunabhängigkeit deiner Plugins: Wenn du die Plugins nicht komplett selbst interpretieren willst, müssen diese ebenfalls portabel sein. Klassisch implementiert man Plugins unter Windows mit DLLs, unter Linux wäre das Äquivalent dazu ein SO, komplett anderes Dateiformat.
Ich nehm an, du meinst, dass die plattformunabhängig sein müssen, weil ich die ja erst laden muss. Ich hab aber vor die Schnittstelle so zu realisieren, dass eine "Parameterdatei" dazu mitgeliefert werden muss, in der dann unter anderem auch die Zielplattform drin steht, so dass ich im Prinzip nur die Textdatei öffnen muss, um zu sehen ob das Plugin geladen werden kann.

Zitat:

Außerdem dürfen die Plugins nicht auf Funktionen des Betriebssystems zurückgreifen, bzw auf eine RTL, die nur auf einem System zur Verfügung steht. Im Falle von C(++) wären sie strikt auf die stdlib (STL) beschränkt.
Hmm... was kann man denn da im Falle von Kylix und Delphi sicher verwenden und von was sollte man die Finger lassen?

Zitat:

Die Indies gibt es soweit ich weiß auch für Kylix, du könntest also für den Daemon mit der gleichen Codebase für Linux und Windows arbeiten, wenn du dich geschickt anstellst (Tipp: Daemons haben i.d.R. keine GUI ;-)).
Das klingt schon mal gut. GUI war ja auch nur als Webinterface geplant, deshalb auch die Indys.


Zitat:

Mit irgendwelchen Servern und Plugins schreit das ganze für mich allerdings für ein transparentes System, ergo .NET oder Java, wenn's denn sein muss. Wirklich gescheite native Lösungen fallen mir für sowas fast gar nicht ein.
Womit wir wieder bei dem Thema dotNET vs win32-Kompos wären. :D

Und wegen der Lösung durch PHP: Der Server ja als Dienst/Deamon auf jedem Rechner im LAN eingesetzt werden und dann durch Weboberfläche und entsprechende Plugins die Funktionen/Informationen bereitstellen. Soll heißen: PHP und/oder Ajax fallen als Lösung raus.

Danke schon mal für die Antworten :D

mfg, mh166

bigg 11. Dez 2005 20:02

Re: Portabilität zwischen Linux und Windows?
 
Wie, Scriptsprachen fallen heraus? :shock:
Na dann natürlich C++. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.
Seite 1 von 6  1 23     Letzte »    

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