Frage:
Auswahl einer Plattform für die Entwicklung von Desktop-Anwendungen
Jay Bhatt
2014-03-08 00:00:29 UTC
view on stackexchange narkive permalink

Diese Frage wurde oft gestellt und ich habe die meisten durchgesehen. Die meisten dieser Fragen sind alt und enthalten keine neuen Plattformen für die Entwicklung von Desktopanwendungen.

Ich muss eine grundlegende Desktopanwendung mit CRUD-Funktionalität mit Sqlite- oder MySQL-Datenbank entwickeln. Ich habe früher mit Java (Swing) gearbeitet, aber der Swing JSR wurde zurückgezogen und Netbeans hat das Swing Application Framework gelöscht.

Ich muss a lernen neue Technologie zur Entwicklung von Desktop-Anwendungen (vorzugsweise plattformunabhängig). Bisher habe ich mich mit folgenden Technologien befasst.

Titanium Desktop (jetzt TideSDK): Dies ist gut, aber einige erweiterte PHP-Funktionen werden nicht unterstützt und sind voller Fehler.

QT : Es sieht vielversprechend aus und hat großartige Funktionen, aber ich konnte kein Buch über die neueste Version von QT 5 finden. Alle Bücher über QT sind 4 bis 5 Jahre alt und für QT 4 geschrieben.

Gibt es welche? andere Technologien, die ich für die Entwicklung von Desktop-Anwendungen verwenden kann? und zu meinen Fähigkeiten hinzufügen?

Vielen Dank für Ihre Hilfe und Entschuldigung, wenn diese Frage zu allgemein ist.

Willkommen bei Software Recommendations Stack Exchange! Obwohl Ihre Beschreibung mehrere Kriterien enthält, die erforderlich sind, um eine passende Software zu empfehlen, weist sie einige Formatierungsprobleme auf, um sie deutlich hervorzuheben. Bitte werfen Sie einen Blick auf [Was ist erforderlich, damit eine Frage "genügend Informationen" enthält?] (Http://meta.softwarerecs.stackexchange.com/q/336/185). Dann [bearbeiten] Sie Ihre Frage und prüfen Sie, ob Sie dies tun kann einige dieser Verbesserungen enthalten. Dies verbessert Ihre Chancen auf gute Antworten erheblich!
QT ist wahrscheinlich gut, GTK ist auch plattformübergreifend.
@Linuxios Ich stimme zu, dass es gut ist. Das Problem ist jedoch der Mangel an Büchern. Die Online-Dokumentation ist gut und enthält detaillierte Informationen zu jeder Klasse, zeigt jedoch nicht, wie alle diese Klassen zum Aufbau eines Systems verbunden werden. Um zu zeigen, werde ich wahrscheinlich ein Buch brauchen. Alle Bücher, die ich bisher gefunden habe, sind 4 - 5 Jahre alt und für QT 4 gedacht, daher veraltet.
Könnten Sie bitte genau beschreiben, was mit Java / Swing nicht stimmt?
@NicolasRaoul Java hat dieses Projekt gelöscht und wird nicht mehr gepflegt. Weitere Details finden Sie auf ihrer Website.
Sie sollten sich Electron ansehen. http://electron.atom.io
Vier antworten:
#1
+7
Czarek Tomczak
2014-05-08 15:04:50 UTC
view on stackexchange narkive permalink

Der neue Trend besteht darin, Webtechnologien (HTML5 / Javascript-Frameworks) zum Erstellen von Desktopanwendungen zu verwenden. Sehen Sie sich das Chromium Embedded Framework (CEF) an, mit dem Sie die Chromium-Engine in Ihre Desktop-App einbetten können. Siehe die Liste der Anwendungen mit CEF auf Wikipedia. Für viele Sprachen wie C, C ++, Java, Python, C #, Delphi und Go lang sind Bindungen verfügbar.

Titanium Desktop und TideSDK werden nicht mehr entwickelt. Das letzte Commit für TideSDK war vor einem Jahr. Und es sieht so aus, als ob dieses Projekt während seiner gesamten Zeit die Beta nicht verlassen hat. Das dahinter stehende Unternehmen arbeitet an seinem neuen Produkt TideKit. Sie können jedoch nicht garantieren, dass es nicht wie Titanium und TideSDK aufgegeben wird oder dass es jemals aus der Beta kommt.

Mit Titanium und TideSDK können Sie sich in PHP entwickeln, aber es ist eine Art neues Plattform, es funktioniert anders, PHP ist wie ein JavaScript zu HTML. Wenn Sie Desktop-Apps in PHP genauso entwickeln möchten wie Websites, schauen Sie sich das Projekt PHP Desktop an. Es bettet einen internen Webserver, einen Webbrowser (IE oder Chrome) und einen PHP-Interpreter ein. Der Workflow, den Sie beim Erstellen von PHP-Websites gewohnt sind, bleibt nahezu unverändert. Sie kopieren lediglich Skripte in das Verzeichnis www /. Sie sollten nicht auf neue Fehler stoßen, die noch nicht in PHP vorhanden sind. Außerdem werden alle PHP-Funktionen unterstützt. Das Aktualisieren der PHP-Version ist so einfach wie das Kopieren der neuen Binärdateien in das Verzeichnis php /. PHP Desktop wird derzeit nur unter Windows unterstützt, es gibt jedoch Pläne für Linux und Mac.

Es gibt auch das Projekt Node-Webkit, mit dem Sie mithilfe von Node.js in Javascript entwickeln können . Die Chromium-Engine wird trotz ihres Namens eingebettet.

In den letzten Tagen erschien das von Github entwickelte Atom Shell-Framework. Sie können plattformübergreifende Desktopanwendungen mit JavaScript, HTML und CSS schreiben. Es basiert auf node.js und Chromium und wird im Atom-Editor verwendet.

Offenlegung: Ich bin der Autor der CEF-Bindungen für Python und Go lang. Auch Autor von PHP Desktop.

#2
+4
Steffen Winkler
2014-05-07 16:59:00 UTC
view on stackexchange narkive permalink

Sie können C # / mono auch in Kombination mit XWT verwenden (solange Ihre GUI nicht zu komplex ist. Aus persönlicher Erfahrung: Wenn Sie ein DataGrid mit einer ComboBox-Spalte möchten, halten Sie sich davon fern.)

https://github.com/mono/xwt

Kurze Erklärung zu XWT: Sie programmieren Ihren Code gegen die XWT-Bibliothek. Wenn Sie Ihre Anwendung bereitstellen, müssen Sie die XWT.GTK-, XWT.WPF- oder XWT.Cocoa-Bibliothek damit verteilen.

XWT prüft, welche dieser 3 Bibliotheken verfügbar ist, und (versucht), sie zu initialisieren.

edit nur eine faire Warnung: XWT sollte als Alpha betrachtet werden Software. Es ist nicht vollständig und nicht fehlerfrei. Auf der positiven Seite ist es auf git. Sie können sich also ansehen, was genau in einer Methode passiert, und es manchmal sogar selbst beheben.

Es gibt keinen GUI-Editor, aber es ist ziemlich einfach, damit zu arbeiten, und das umschließt es (meiner Meinung nach) hässliches GTK-Zeug weg.

Für die Datenbankverbindung würde ich LINQConnect in Kombination mit dem EntityDeveloper von DevArt empfehlen. Wenn Sie nicht zu viele Tabellen pro Datenbank verwenden, ist dies kostenlos! Außerdem können Sie mit sehr geringem Arbeitsaufwand eine Verbindung zu nahezu jeder Art von Datenbank herstellen (zumindest, wenn Sie Ihre Datenbankebene weggekapselt haben).

Update Q2 2018

In Bezug auf den Datenbankzugriff. Ich bin mir nicht sicher, wie ich mit LinqConnect umgehen soll. Bei größeren Projekten fehlen einige Funktionen. Ich habe mich mit llblgen beschäftigt, aber es gibt - abgesehen von einer Testlizenz - keine kostenlose Version. Auf der anderen Seite kann man nach dem Kauf einer Lizenz auf ihren Code zugreifen und sogar Änderungen vornehmen. Ich habe jedoch noch keine wirklichen Erfahrungen damit.

#3
+1
user
2014-08-31 22:40:52 UTC
view on stackexchange narkive permalink

Desktop-Anwendung mit CRUD-Funktionalität

Sie passt perfekt zu Delphi oder seiner kostenlosen (und Linux-fähigen) Alternative Lazarus.

Sie verfügen über spezielle Formularsteuerelemente ( Datensteuerelemente), mit denen Datenbankdaten einfach angezeigt und geändert werden können.

#4
  0
default locale
2019-10-25 14:00:12 UTC
view on stackexchange narkive permalink

Auf Wikipedia gibt es eine Liste plattformunabhängiger GUI-Bibliotheken.

Einige von ihnen sind ziemlich modern und relativ beliebt:

  • Xamarin.Forms mit C # als Standardprogrammiersprache. Ich gehe davon aus, dass Sie mit C # vertraut sind, basierend auf dem IIS-Kommentar.
  • OpenJFX (Java- und JVM-basierte Sprachen)
  • Qt (C ++)

Es gibt auch Electron, das derzeit nicht auf der Liste steht, aber einen Blick wert ist. Es verwendet Technologien (JavaScript, HTML, CSS), die normalerweise mit dem Web für Desktop-Anwendungen verbunden sind.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...