Plattformunabhängige Programmierung
Hi zusammen, ich möchte gerne ein Programm (incl. GUI) schreiben, welches sowohl unter Linux als auch unter Windows läuft. Als Programmiersprachen kommen für mich im Grunde nur C, insbesondere QT und Java in Frage. Delphi bzw. Kylix möchte ich vorerst nur ungerne nutzen. Ich weiß, dass mit QT plattformunabhängige Programmierung möglich ist, nur wie es in der Praxis aussieht weiß ich nicht genau. Wie kompiliere ich die Programme unter Windows? Muss ich eventuell etwas verändern? Wie sieht es mit den Lizenzen aus? Dazu kommt noch ein weiteres Problem: Das Programm soll in der Lage sein HTML Seiten darzustellen. Unter Windows mit Delphi z.B. kein Problem, da man hier mit HTML Komponenten indirekt auf den IE zugreifen kann. Unter Linux gibts unter KDE ebenfalls HTML Komponenten. Doch mit QT? Oder mit Java? Wie schaffe ich es z.B. einen plattformunabhängigen Browser zu programmieren? Gibt es da überhaupt eine Möglichkeit? Für Erfahrungsberichte und Vorschläge wäre ich sehr dankbar Mike
Hi
ich möchte gerne ein Programm (incl. GUI) schreiben, welches sowohl unter Linux als auch unter Windows läuft. Als Programmiersprachen kommen für mich im Grunde nur C, insbesondere QT und Java in Frage. Delphi bzw. Kylix möchte ich vorerst nur ungerne nutzen. Ich weiß, dass mit QT plattformunabhängige Programmierung möglich ist, nur wie es in der Praxis aussieht weiß ich nicht genau. Wie kompiliere ich die Programme unter Windows? Muss ich eventuell etwas verändern? Wie sieht es mit den Lizenzen aus?
Dazu kommt noch ein weiteres Problem: Das Programm soll in der Lage sein HTML Seiten darzustellen. Unter Windows mit Delphi z.B. kein Problem, da man hier mit HTML Komponenten indirekt auf den IE zugreifen kann. Unter Linux gibts unter KDE ebenfalls HTML Komponenten. Doch mit QT? Oder mit Java? Wie schaffe ich es z.B. einen plattformunabhängigen Browser zu programmieren?
wxwindows (http://www.wxwindows.org/) trifft Deine Wuensche recht gut. Ist allerdings fuer C++. Aber der Gedanke, einen Browser in C zu programmieren, bereitet mir ohnehin Kopfschmerzen. Java hat natuerlich auch diverse Komponenten, die HTML-faehig sind. Und Java ist zweifellos weit angenehmer zu programieren als C oder C++. Willst Du es leicht und schnell entwickeln, dann nimm Java und wenn Dir die Peformance wichtig ist, dann nimm C++ mit wxwindows. Nebenfrage: Die HTML-Engine ist wohl der wichtigste Teil eines Browsers. Wenn Du also sagst, Du entwickelst einen Browser, wieso willst Du dann eine fremde Engine verwenden? (-: Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 "A button I have made must be pushed." (ip)
Hi, danke für Deine Antwort. Ich will ja keine eigene Engine entwickeln. Ich will nur ein Programm schreiben, welches unter anderem HTML Seiten darstellt. Da ich aber keine Engine entwickeln will, da das viel zu aufwendig wäre, möchte ich eine bereits fertige Komponente nehmen. Mit Java kann ich HTML Seiten darstellen lassen? Womit geht das denn? Gibts denn eine QT Komponente, die das auch kann? Und wie kompiliere ich QT Anwendungen unter Windows? Mike
Abend
Mit Java kann ich HTML Seiten darstellen lassen? Womit geht das denn?
Da musst Du mal eine aktuelle API anschauen. Als ich zum letzte Mal ernsthaft etwas damit gemacht habe, war 1.2 aktuell. Schon damals gab es im Swing-Package diverse Klassen, mit denen man HTML-Source darstellen kann, ich glaube sogar einen fertigen Editor. Ich glaube, da ging es im verhaeltnismaessig simples HTML, ohne Styles Layers etc. Aber seitdem ist viel Zeit vergangen und Java entwickelt sich sehr schnell.
Gibts denn eine QT Komponente, die das auch kann? Und wie kompiliere ich QT Anwendungen unter Windows?
QT kenne ich nicht. Aber wenn es eine Windows-Version davon gibt, dann kannst Du das Programm sicherlich einfach unter Windows kompilieren. Um ein installiertes Windows wirst Du ohnehin nicht drum herumkommen, da schon testen solltest, ob das Programm nicht nur unter Linux laeuft. Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 "A button I have made must be pushed." (ip)
Hallo, On Thu, 05 Jun 2003 at 21:25 (+0200), Michael Gebhart wrote:
ich möchte gerne ein Programm (incl. GUI) schreiben, welches sowohl unter Linux als auch unter Windows läuft. Als Programmiersprachen kommen für mich im Grunde nur C, insbesondere QT und Java in Frage. Delphi bzw. Kylix möchte ich vorerst nur ungerne nutzen. Ich weiß, dass mit QT plattformunabhängige Programmierung möglich ist, nur wie es in der Praxis aussieht weiß ich nicht genau. Wie kompiliere ich die Programme unter Windows? Muss ich eventuell etwas verändern? Wie sieht es mit den Lizenzen aus?
Dazu kommt noch ein weiteres Problem: Das Programm soll in der Lage sein HTML Seiten darzustellen. Unter Windows mit Delphi z.B. kein Problem, da man hier mit HTML Komponenten indirekt auf den IE zugreifen kann. Unter Linux gibts unter KDE ebenfalls HTML Komponenten. Doch mit QT? Oder mit Java? Wie schaffe ich es z.B. einen plattformunabhängigen Browser zu programmieren? Gibt es da überhaupt eine Möglichkeit?
die Frage ist, ob Du Webseiten darstellen willst oder einfache HTML-Seiten, wie sie zu Dokumentationszwecken eingesetzt werden. Einfaches HTML kann Swing (Java) problemlos darstellen, aufwendige Webseiten mit JavaScript, CSS etc. layoutgetreu nicht. Schau Dir mal JEdit und dessen Hilfe an, dann hast Du einen Eindruck von HTML in Swing. Der einzige Nachteil an Java-GUIs ist die schlechte Performance. Kommt halt drauf an wie umfangreich das Ganze sein muss, wie schnell die Rechner sind und wie das GUI genutzt wird. Grundsaetzlich ist Swing aber recht angenehm zu programmieren. Mit QT habe ich (fast) keine Erfahrung, wenn Du das Programm aber nicht unter die GPL stellst (evtl. andere freie Lizenz) musst Du Lizenzgebuehren an Trolltech zahlen. Alternative waere Gtk, finde ich aber unter Windows nicht so toll. Andere Alternative wurden ja schon genannt, FoxToolkit waere noch eine. Gruss, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Im Wein liegt Wahrheit, der Schwindel liegt im Etikett. -- (unbekannt)
On Thursday 05 June 2003 21:25, Michael Gebhart wrote:
Ich weiß, dass mit QT plattformunabhängige Programmierung möglich ist, nur wie es in der Praxis aussieht weiß ich nicht genau. Wie kompiliere ich die Programme unter Windows?
Mit Visual C++ oder Borland C++ http://www.trolltech.com/products/qt/windows.html
Muss ich eventuell etwas verändern?
Nein, außer, Du machst extrem systemspezifische Sachen. Für alles, was man normalerweise braucht, gibt es bei Qt Klassen, um plattformunabhängig zu bleiben - einschließlich QFile / QDir; "/" bzw. "\" als Pfadnamentrenner werden automatisch behandelt, ebenso Laufwerksbuchstaben u.s.w. Sogar für Netzwerkprogrammierung (QSocket...), Multiprocessing (QProcess), Multithreading (QThread, QMutex, ...), Datenbankzugriff (QSql...) gibt es sehr gute Unterstützung.
Wie sieht es mit den Lizenzen aus?
Kostenlos für freie Software unter Linux/Unix, bei MS Win und kommerzieller Software unter Linux/Unix ist das Entwicklungssystem kostenpflichtig. Laufzeitlizenzen fallen nur bei Embedded-Systemen an (also für Normalsterbliche nie). http://www.trolltech.com/products/qt/licensing.html?cid=4 http://www.trolltech.com/products/qt/pricing.html?cid=4
Dazu kommt noch ein weiteres Problem: Das Programm soll in der Lage sein HTML Seiten darzustellen.
Wenn es nicht allzu exotisch ist, geht das einfach - QTextBrowser
(http://doc.trolltech.com/3.1/qtextbrowser.html) ist dein Freund.
Unterstützt wird alles das hier:
http://doc.trolltech.com/3.1/qstylesheet.html
Die YaST2/Qt beruht z.B. darauf - die Hilfetexte, der Installationsvorschlag,
der Partitionierungsvorschlag, der größte Teil der Einzelpaketauswahl.
Wenn Du nicht gerade JavaScript / Java brauchst oder spezielle Gimmicks des
Internet Exploder, reicht das völlig aus.
CU
--
Stefan Hundhammer
Am Freitag, 6. Juni 2003 11:32 schrieb Stefan Hundhammer:
On Thursday 05 June 2003 21:25, Michael Gebhart wrote:
Ich weiß, dass mit QT plattformunabhängige Programmierung möglich ist, nur wie es in der Praxis aussieht weiß ich nicht genau. Wie kompiliere ich die Programme unter Windows?
Mit Visual C++ oder Borland C++
Es gibt auch die Möglichkeit, unter Windows MinGW zu nutzen. Das ist eine Portierung des GCC. Nähere Infos liefert die Qt-Interest-Mailingliste, z.B. folgender Artikel: http://lists.trolltech.com/qt-interest/2003-03/thread00709-0.html Heiko Gerdau scheint der Experte für dieses Thema zu sein. Such mal nach Artikeln mit seinem Namen. Da findest Du alle benötigten Infos. Viele Grüße, Ralf.
Ah Super! Mal schauen, ob das was wird. Nur brauch ich zum Compilen unter Windows ja Visual C++ oder Borland C++. Bekomme ich das auch kostenlos irgendwo als OpenEdition sozusagen? Visual C++ gibts zwar eine Autorenversion, aber die bringt beim Programmstart immer eine Meldung. Mike
On Friday 06 June 2003 12:01, Michael Gebhart wrote:
Nur brauch ich zum Compilen unter Windows ja Visual C++ oder Borland C++. Bekomme ich das auch kostenlos irgendwo als OpenEdition sozusagen?
Ohne Moos nix los - die Vorzüge des Betriebssystem-Marktführers...
CU
--
Stefan Hundhammer
Mal schauen, ob das was wird. Nur brauch ich zum Compilen unter Windows ja Visual C++ oder Borland C++. Bekomme ich das auch kostenlos irgendwo als OpenEdition sozusagen? Visual C++ gibts zwar eine Autorenversion, aber die bringt beim Programmstart immer eine Meldung.
Borland C++ 5.5.1 gibt es kostenlos zum Download. Ich weiss nicht, ob der Compiler den aktuellen Standard voll unterstuetzt. Das Copyright ist von 2000 und da der ISO-Standard IIRC von '98 ist, koennte das klappen. Mir hat er bisher gute Dienste geleistet, aber so tief eingestiegen bin ich auch nicht. Cygwin (http://www.cygwin.com/) hat glaub auch einen Compiler dabei. Mir ist das aber zu linux-like (-; Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 "A button I have made must be pushed." (ip)
Hallo, On Fri, 06 Jun 2003, Michael Gebhart wrote:
Mal schauen, ob das was wird. Nur brauch ich zum Compilen unter Windows ja Visual C++ oder Borland C++.
Nein. $ ls -d /winc/dev/qt2_3_0/tmake/lib/win* /winc/dev/qt2_3_0/tmake/lib/win32 /winc/dev/qt2_3_0/tmake/lib/win32-borland /winc/dev/qt2_3_0/tmake/lib/win32-g++ /winc/dev/qt2_3_0/tmake/lib/win32-msvc /winc/dev/qt2_3_0/tmake/lib/win32-symantec /winc/dev/qt2_3_0/tmake/lib/win32-visage /winc/dev/qt2_3_0/tmake/lib/win32-watcom Den gcc/g++ gibt's mit der Cygwin-Umgebung. -dnh -- Rogue DHCP server, perchance ? , I hate dealing with those, usually because the nurse says it's time for my medication well before we find the offender. -- Chris King in the SDM
Michael Gebhart
Mal schauen, ob das was wird. Nur brauch ich zum Compilen unter Windows ja Visual C++ oder Borland C++. Bekomme ich das auch kostenlos irgendwo als OpenEdition sozusagen? Visual C++ gibts zwar eine Autorenversion, aber die bringt beim Programmstart immer eine Meldung.
http://www.openwatcom .com vieleicht gehts ja damit. Bis denne, Michael
participants (7)
-
Bernhard Walle
-
Bodo Kaelberer
-
David Haller
-
Michael Gebhart
-
Michael Schulz
-
Ralf Schneider
-
Stefan Hundhammer