Platformunabhängige Programmierung. Womit am besten?

  • Hallo Experten....
    vermutlich darf ich mich demnächst damit befassen, eine bestehende Software neu zu "designen", was ansich nicht schlimm ist ;)
    Leider will man das aber so haben, dass das Produkt sowohl unter Windows als auch unter Linux läuft. Leider beherrsche ich nur Visual Basic, welches ja nun für Linux denkbar ungeeignet erscheint. Daher nun meine Frage an die Experten, wohin ein Umstieg lohnen würde. Dazu ein paar Eckdaten:


    - das bestehende Projekt wurde in VB entwickelt und hat einen Umfang von ca. 14.000 Zeilen Code. Das "neue" Produkt wird in etwa gleich gross werden


    - das Produkt lebt von Interaktionen mit dem Benutzer, weshalb eine gute, übersichtliche und bedienbare grafische Oberfläche extrem wichtig ist. Das sollte natürlich auch möglichst einfach zu erstellen sein (da ist man als VB-Programmierer ja extrem verwöhnt)


    - das Produkt sollte möglichst nur einmal entwickelt werden und dann mit minimalem Aufwand unter Windows und Linux einsetzbar sein


    - das Produkt sollte halbwegs akzeptable Performance bringen, auch auf einem Pentium 2 (300MHz) und 128MB, da die Benutzer täglich davor sitzen.


    - das Produkt muss in der Lage sein, mit eienr (kleinen) Datenbank zu kommunizieren. Diese DB liegt auf dem gleichen rechner, auf dem die Applikation liegt und ist vermutlich eine MS Access oder IBM DB2 Datenbank.


    - das Produkt muss mit einer anderen (vorhandenen, nicht änderbaren) Software per API kommunizieren.


    Was tun? Man hat mir Java empfohlen, wovon ich keine Anhung habe, aber denke, das Java für eine lokale (nicht web-basierte) Anwendung, die halbwegs flott laufen soll nicht die ideale Lösung ist. Weiterhin käme das Borland-Duo Delphi/Kylix in Frage, was ich wegen der Syntax bevorzugen würde. Oder C? Damit kenne ich mich auch gar nicht aus. Wichtig wäre halt ein möglichst einfaches, komfortables und leistungsfähiges Oberflächen-Design á la Visual Basic.
    Was gibt es noch? Wer hat Erfahrung mit sowas und kann mir ein paar ganz allgemeine Tips geben?


    d@niel

  • Hi.


    Delphi liegt hier schon recht nahe, da sich ja die beiden Sprachen etwas aehneln und es auf die Zielplattformen passt.


    Java ist durchaus nicht nur fuer Web-Anwendungen gedacht. Das Sprachparadigma ist aber komplett anders, und wenn Du es nicht kennst, wird das schwierig...
    Es haette natuerlich den Vorteil, dass es auch noch auf anderen Plattformen laufen kann, und man es sicher besser pflegen kann als Delphi - wer weiss von wem Borland demnaechst gekauft wird...


    Letztendlich wird wohl den Ausschlag geben, was Du in vertretbarer Zeit erlernen kannst - da duerfte Delphi einfacher sein.


    Frank.

  • Hi,


    da wäre evt. QT verwendbar.
    Damit machen wir im Geschäft viel damit, gerade wenn es Plattfomunabhängig sein soll.
    Hier mal ein Buch: Klick


    MfG


    UHT

  • Ich würde für Java stimmen. Es ist Plattforum unabhängig und objektorientiert. Sooo schwer ist es auch nicht zu lernen, denn wenn man einmal eine objektorientierte Sprache kann sind sowieso alle gleich.


    Lad dir doch bei Borland den JBuilder runter und experimentiere ein bisschen. In der personal Edition ist er sogar kostenlos und graphische Oberflächen lassen sich damit super leicht erstellen.

    Gruß,
    Bates

  • Für Dich als VB-Umsteiger wäre wohl Delphi die beste Wahl, da die IDs ziemlich ähnlich sind (bzw. die von Delphi halte ich noch für einiges besser, aber ist wohl Geschmackssache). Der Vorteil von Delphi gegenüber Java ist auch, dass Du eine natives Executable hast, welches natürlich auch performanter ist als die Java-GUI.
    Datenbanken sind auch kein Problem (jedenfalls unter Windows, für Linux kann ich keine Garantie geben), musst Du aber Delphi Enterprise kaufen, da nur in dieser teueren Variante DB-Komponenten drin sind.


    Was ich nicht ganz verstehe, diese Software auf welche das Proudkt per API zugreiffen soll, auf welchem System läuft denn diese?


    Wenn Ihr später villeicht noch weitere Platformen bedienen möchtet wäre Java natürlich die bessere Wahl. Mit dem JBuilder von Borland wäre dies auch ziemlich einfach zu verwirkliichen.



    Gruss
    jaBernet

  • die zu bedienende Software läuft auf der gleichen Maschine, auf der auch unser Produkt laufen soll. Also zur zeit noch auf einem Windows-PC. Es handelt sich dabei um IBM Personal Communications (Terminal-Emulation zum Zugriff auf z.B. 3270-Systeme). Das gibt´s wohl auch für Linux schon, allerdings werden sich APIs da wohl unterscheiden, was es auch nicht einfacher macht. Weitere Plattformen ausser Windows und Linux sind erstmal nicht geplant.


    d@niel

  • In diesem Fall musst Du Dich natürlich zuerst einmal über die API informieren. Wenn die auf Win. z.B. über MFC-Funktionen läuft, dann wirds für Linux sicherlich nicht gleich gehen. Wenn IBM aber, wie z.B. bei DB2 UDB, auf allen Platformen gleiche Interfaces zur Verfügung stellt, sollte dies kein Problem sein.
    Währscheinlich wärst Du in dieser Hinsicht mit Java besser bedient. Aber wie gesagt, informier Dich doch mal über die IBM-API, das kann Dir villeicht bei der Entscheidung helfen.



    Gruss
    jaBernet

  • API und Co. werden vermutlich die kleineren Probleme werden, da es erstmal darum geht, eine neue Programmiersprache allgemein zu verstehen.
    Leider werden hier Entscheidungfen getroffen, die den technischen Aspekt ziemlich unberührt lassen. Will heissen: es muss leider Java werden und mir ist speiübel dabei, nachdem ich mir das mal so angesehen habe. Immerhin ist mir nun klar, warum Java unter den "Profis" so gefragt ist: es scheint katastrophal kompliziert im Vergleich zu VB. Dumm nur: mit VB kann man in vielen Bereichen (z.B. für mein angedachtes Projekt) zu gleichen Ergebnissen kommen. Schneller und einfacher. Aber das kann ja jeder ;)
    Da kommen schwere Zeiten auf uns zu :flop:


    d@niel

  • Bei Verwendung von JAVA würde ich mir aber zuvor Gedanken über die Performance machen. Insbesondere die von Dir beschriebenen P2-Maschinen könnten Probleme bekommen.

    "Technisch sind wir Übermenschen; moralisch sind wir noch nicht einmal Menschen." Aldous Huxley

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!