Vorweg zu nehmen, ich habe reine C# Basiskenntnisse(Typen, Klassen, usw.) und schon ein paar Grundlagen in C++. Auch PHP, HTML, CSS Grundkenntnisse sind vorhanden (auch wenn es vlt. nicht in diese Richtung geht.). Möchte damit eigentlich nur ausdrücken, dass ich die Denkweise doch ein wenig schon beherrsche und nicht komplett bei 0 anfangen müsste. Nun bin ich nicht schlüssig, ob ich weiter auf C# setzen soll, um GUI Programme zu schreiben. Allerdings würde ich diesen gern auch anderen (nicht Windows Nutzern) zur Verfügung stellen. An dieser Stelle könnte ich Xamarin verwenden (wo ich derzeit noch keine Erfahrung habe) oder aber ich nutze C++ mit QT (wo ich auch erst mich einarbeiten müsste. Für die Lizenz wäre ich bereit auch die Lizenzgebühr für Unternehmen unter 2500 Euro im Jahr zu zahlen. Mein Sohn spielt derzeit ein bisschen mit Arduino herum, um ihm da helfen zu können wäre es dann ja besser ich würde C++ beherrschen. Oder ist es da ausreichend, wenn ich mir die Grundlagen von C++ anschaue (und mit meinen Kenntnissen welchen ich aus de C# Programmierung habe profitiere?) Vorrangig geht es mir nicht um komplexe Programme, sondern wird es eher in Richtung Helfer für den Alltag gehen. Also nichts in Richtung Photoshop, sondern eher in Richtung Taschenrechner. Weis nicht wie ich es am günstigen rüber kriege. Eigentlich heute ich ja auch eine Idee für eine IOS App (Swift bringe ich (noch) nicht) aber das kann warten. Was würdet ihr mir empfehlen? Will das ganze nur privat machen, nichts Berufliches. Vielleicht gibt es ja jemand in der Nähe von Dresden, der breit ist sich mit mir da auseinander zu setzen. Ihr könnt auch gern eine PN schicken. PS:Ich möchte keine WebApp bauen
Jaja, der tägliche GUI-Troll-Thread... Wenn es Cross Platform und C++ sein soll: Qt
Mellopock schrieb: > > Wenn es Cross Platform und C++ sein soll: Qt Genau. Das mache ich schon seit 20 Jahren. Funktioniert prima. Bei allem anderen wäre ich an Grenzen gestossen (hatte mal ein paar Jahre einen Mac). Aber dank QT lief alles weiter.
Stan S. schrieb: > Nun bin ich nicht schlüssig, ob ich weiter auf C# setzen soll, um GUI > Programme zu schreiben. Allerdings würde ich diesen gern auch anderen > (nicht Windows Nutzern) zur Verfügung stellen. Microsoft ist dabei, das .NET-Framework für mehrere Plattformen zur Verfügung zu stellen: https://www.heise.de/hintergrund/NET-5-0-ist-erschienen-4952894.html > Vorrangig geht es mir nicht um komplexe Programme, sondern wird es eher > in Richtung Helfer für den Alltag gehen. Also nichts in Richtung > Photoshop, sondern eher in Richtung Taschenrechner. Weis nicht wie ich > es am günstigen rüber kriege. Die Zielplattform und der Funktionsumfang bestimmen die Technologie. merciless
Mellopock schrieb: > Wenn es Cross Platform und C++ sein soll: Qt oder wxWidgets... das gibt es ja auch noch.
So eine Meldung würde mich abhalten Qt zu verwenden: https://www.heise.de/news/Qt-6-Abomodell-koennte-zum-Fallstrick-fuer-kommerzielle-Kunden-werden-4942027.html Mit MS und deren .NET würde ich nie und nimmer ein Cross-Platform-Projekt starten. Nach 8 Jahren geht es dann nur noch auf Win. Wenn ich GUI brauch, mach ich das mit Tk. Das genügt meinen primitiven Ansrüchen.
Stan S. schrieb: > Vorweg zu nehmen, ich habe reine C# Basiskenntnisse(Typen, Klassen, > usw.) und schon ein paar Grundlagen in C++. > > Auch PHP, HTML, CSS Grundkenntnisse sind vorhanden (auch wenn es vlt. > nicht in diese Richtung geht.). Möchte damit eigentlich nur ausdrücken, > dass ich die Denkweise doch ein wenig schon beherrsche und nicht > komplett bei 0 anfangen müsste. Also du hast offenbar einiges an Kenntnissen in Richtung Netzwerke und Internet und das ist nicht alles nur C-artig, sondern eher vielfältiger. Nun, da rate ich dir dringend dazu, dir Lazarus/Freepascal mal herunter zu laden und ebenfalls von Embarcadero die Delphi-Community-Edition. Kostet beides nix und ist beides auch einsetzbar für kommerzielles - bei Delphi bis zu einer Einkommens-Obergrenze von $5000/a für die damit erzeugten Produkte. Siehe: https://www.lazarus-ide.org/ https://www.embarcadero.com/products/delphi/starter Beides ist geeignet, um für verschiedene Plattformen GUI-Anwendungen zu programmieren. Lazarus läuft übrigens selbst auf einem Raspberry, wenn man das will. Der große Unterschied zu all dem QT- C#- und Python- Gedöns ist, daß man bei Delphi und Lazarus eben keine fetten Laufzeitbibliotheken braucht, sondern eine Anwendung (bei Windows eine .exe) erhält, die so wie sie ist, standalone läuft. Abgesehen davon hat man mit Pascal ("Object-Pascal") eine Programmiersprache, die leicht zu erlernen ist und weitaus sauberer ist als alles, was man an C und C-artigen Sprachen so hat. Im Vergleich zu Pascal ist C++ gräßlich und endlos hakelig. W.S.
Stan S. schrieb: > Nun bin ich nicht schlüssig, ob ich weiter auf C# setzen soll, um GUI > Programme zu schreiben. Allerdings würde ich diesen gern auch anderen > (nicht Windows Nutzern) zur Verfügung stellen. Naja, bestimmte Teile von C# sollen ja auch schon auf anderen Plattformen gehen, aber letzten Endes spielt es keine größere Rolle, was Du konkret benutzt: Qt oder wxWidgets, C++ oder Python... Im Grunde können sie alle dasselbe. Wenn es C++ sein soll, würde ich zwar immer zu Qt neigen, aber das stammt noch aus einer Zeit, als die C++ Standard Template Library (STL) eine ziemlich rudimentäre Angelegenheit war, weswegen Qt leider sehr viel Funktionalität implementiert hat, die es heute in der STL gibt. Daher würde ich persönlich wegen Deiner Idee, Deinen Sohnemann bei C++ unter Arduino zu unterstützen, eher C++ und wxWidgets tendieren. Sogar Freepascal oder Delphi könnten eine valide Option sein, die aber eher zu den Nischen gehört -- und solche Nischen gibt es leider meistens weniger Fundstellen und andere Hilfen im Netz. Und die Arduinosache wird damit auch schwierig... > Mein Sohn spielt derzeit ein bisschen mit Arduino herum, um ihm da > helfen zu können wäre es dann ja besser ich würde C++ beherrschen. Oder > ist es da ausreichend, wenn ich mir die Grundlagen von C++ anschaue > (und mit meinen Kenntnissen welchen ich aus de C# Programmierung habe > profitiere?) Die Arduino-Jungs geben sich schon ziemlich große Mühe, C++ vom Arduinoentwickler fern zu halten, und sie machen das ziemlich gut. Ist ja auch ein Designziel dieses Projekts: kleine Compute-Einheiten zugänglich machen für Menschen, die ansonsten recht wenig mit Softwareentwicklung zu tun haben. Wenn Du ihm auf C++-Niveau ein bisschen helfen möchtest, werden C++-Grundlagen dazu vermutlich nicht ausreichen. > PS:Ich möchte keine WebApp bauen Guter Hinweis, sonst hätte ich nämlich ganz genau das empfohlen. Die Zeiten von FatClients neigen sich nämlich eher dem Ende zu, und Webapps haben halt viele enorme Vorteile... und mit dem C++ Web Toolkit [1] kann man die ganz ähnlich wie eine normale Desktop-Applikation schreiben. [1] https://www.webtoolkit.eu/wt
Nick M. schrieb: > Wenn ich GUI brauch, mach ich das mit Tk. Das genügt meinen primitiven > Ansrüchen. Sieht halt aus wie Motif oder Win3.11... oder mit Tix wie CDE oder Win95... Gibt es eigentlich mittlerweile anständige Tabellen- und ähnliche Containerwidgets? ;-)
Sheeva P. schrieb: > Sogar Freepascal oder Delphi könnten eine valide Option sein, die aber > eher zu den Nischen gehört -- und solche Nischen gibt es leider meistens > weniger Fundstellen und andere Hilfen im Netz. Das sehe ich völlig anders. Schau Dir mal Lazarus genauer an. Wenn man nicht gerade mit Pascal auf Kriegsfuß steht: Super RAD. Schneller und effizienter bekommt man eine moderne SW mit GUI nicht gebacken. Hilfe findet man genug im Netz auch unter Delphi (da sind die Unterschiede marginal). Obwohl ich auch Pascal nicht als die optimale Programmiersprache empfinde, aber die IDE von Lazarus ist (fast) unschlagbar.
Mellopock schrieb: > Wenn es Cross Platform und C++ sein soll: Qt Stan S. schrieb: > Lizenzgebühr für Unternehmen Wenn es nichts kosten soll: FLTK LGPL with an exception to allow static linking https://en.wikipedia.org/wiki/FLTK https://www.fltk.org/doc-1.3/fluid.html
Sheeva P. schrieb: > Sieht halt aus wie Motif oder Win3.11... oder mit Tix wie CDE oder > Win95... Gibt es eigentlich mittlerweile anständige Tabellen- und > ähnliche Containerwidgets? ;-) Tk genügt sicherlich nicht den Hipstern, die Information und Funktionalität mit BlingBling verwechseln. Und Tabellen gehen tatsächlich sehr gut.
Nicht nur der Vollständigkeit halber sei Gtk+ erwähnt - es ist gut genug dass man GIMP damit geschrieben hat, es ist echt Open Source, und es funktioniert mit vielen Programmiersprachen. Dafür ist es nicht das allereinfachste, eben weil das Toolkit so ausgelegt ist dass es nicht NUR mit objektorientierten Sprachen brauchbar ist (nicht unähnlich der Windows-API*). *Wenn man wirklich verstehen will wie Windows und GUI-Toolkits intern "ticken" empfiehlt es sich mal ein paar einfache Beispiele auf reiner Windows-API-Basis durchzuarbeiten. Als Mittel zum produktiven Entwickeln ist das natürlich eher nicht optimal, man ist schnell bei mehreren Seiten Code für einfachste Aufgaben angelangt.
Nick M. schrieb: > Tk genügt sicherlich nicht den Hipstern, die Information und > Funktionalität mit BlingBling verwechseln. Das Wichtigste, das Profiköche von Laien unterscheidet, ist die Präsentation. Natürlich kann man Information und Funktionalität auch ansehnlich aufbereiten, und wenn man seine Software nicht nur selbst benutzen, sondern auch verkaufen oder anderen als OpenSource-Software zur Verfügung stellen möchte, sind ein gefälliges Äußeres und eine ordentliche Usability schon sehr sinnvoll. Vor ein paar Jahren habe ich mal eine Studie darüber gelesen, wie ein ausgereiftes, hübsches Äußeres einer Software nicht nur deren Akzeptanz, sondern auch das Vertrauen der Benutzer in die Software fördert. Schade, daß ich die Studie gerade nicht mehr finde, sonst hätte ich sie verlinkt. > Und Tabellen gehen tatsächlich sehr gut. Das Fehlen eines Table-Widget in Tk und Tix ist aus meiner Sicht eines der größten Probleme dieser Software. Natürlich kann man die Listbox- oder Treeview-Widgets mißbrauchen oder eine externe Bibliothek nutzen, aber mal ehrlich: ein GUI-Framework ohne Tabellenwidget? Und Grafen auf ein Canvas zu malen ist wohl auch nicht mehr so ganz State-of-the-Art. Diese Dinge sorgen leider oft dafür, daß der Vorteil der Einfachheit, den Tk Tkinter Tix beim Einstieg für sich verbuchen können, leider spätestens bei aufwändigeren Applikationen schnell wettgemacht wird... tut mir leid, das so sagen zu müssen, ich benutze es ja auch gerne dort, wo es sinnvoll ist und ich mit der etwas... altbackenen Optik leben kann.
Jemand schrieb: > tut mir leid, das so sagen zu müssen, ich benutze es ja auch gerne dort, > wo es sinnvoll ist und ich mit der etwas... altbackenen Optik leben > kann. Das darfst du auch ruhig sagen, ohne dass ich dagegen argumentieren müsste.
Tk und Motif sind da halt authentische Regionalküche, die der "Profi" oft nur verschlimmbessern und verteuern würde :)
Wenn wir über Delphi sprechen, gibt es eine weitere mögliche Lösung: https://www.devart.com/dac.html Ich denke, es könnte sehr nützlich sein, da diese Datenzugriffskomponenten mit allen gängigen Datenbanken kompatibel sind.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.