Plattformunabhängige GUI Anwendungen - welchen Weg sollte ich gehen
Guten Abend.
Ich habe jetzt hier mal eine Frage die mich schon länger beschäftigt. Da ich aber kein Programmierer bin und lediglich mit Bash und PowerShell und etwas Visual Basic .net Erfahrungen habe, hoffe ich dass die Frage eines Unwissenheit auf Verständnis stößt.
Generell geht es mir darum, daß ich gerne kleine Business Anwendungen als Hobby erstellen möchte. Das wären dann so Dinge wie Fahrtenbuch Lösungen oder etwas wie OneNote, Kennwort Manager etc. Mit VB.net kann ich das alles durchaus machen und müsste mir hier noch noch mehr Wissen aneignen. Die vb.net Anwendungen wäre dann aber an Windows gebunden. Da ich selbst aber auch ab und an mit Linux und Mac arbeite, fände ich es gut wenn Anwendungen, mit welchen ich der Allgemeinheit einen Mehrwert bieten möchte, auf mehreren Plattformen läuft.
Generell könnte ich nun natürlich auf eine Web Anwendungen setzen. Was mich hiervon abhält ist die Menge an Sprachen die ich nebenher lernen müsste, um eine GUI Anwendung auf die Beine zu stellen, die man auch gerne benutzen möchte. Das heißt ich bräuchte: HTML5, CSS, JavaScript, PHP und dann noch Frameworks wie Sencha ExtJS, AngularJS oder React etc. Ich komm zwar mit HTML und CSS einigermaßen klar, aber trotzdem würde es schon Ewig dauern, bis ich eine GUI mit JavaScript gebaut hätte. Mit ExtJS ginge es vielleicht schneller.
Daher denke ich als Laie, das schaffe ich nebenher einfach nicht.
Nun sehe ich Anwendungen wie TeamViewer und Firefox. Schöne GUI und gibt es für alle Plattformen.
JETZT die Frage aller Fragen. Womit machen diese Firmen solche Anwendungen, damit Sie diese für all diese Betriebssysteme bereitstellen können. Nach Java Swing oder Python TKinter sieht der neue Firefox definitiv nicht aus Ist das evtl. mit Qt gemacht?
Würde mich freuen wenn mir jemand auf die Sprünge helfen kann, damit ich mir wiederum überlegen kann, was für Sprachen etc. ich lernen müsste, um das Ziel zu erreichen und Software Lösungen anzubieten, welche die User auch gerne nutzen.
PS: Wenn die einfachste Lösung eine Web Anwendung wäre aus eurer Sicht, dann würde ich mich über eure Meinung zu ExtJS freuen. Das sieht mir so aus als wenn man damit relativ schnell schöne GUI Anwendungen erschaffen könnte, welche dann noch eine Business Logik und Datenbankanbindung benötigen würden.
PPS: Wenn man wissen möchte was ich denn z.B. machen wollte: Zwei Projekte hab ich im Kopf. Ersteres ist eine Kennwort Verwaltung für Teams die aber im Haus läuft. Also sowas wie KeePass für Teams. Und eine OneNote Alternative. OneNote von MS ist das mega Werkzeug für mich aber leider nicht für Linux. Alternativen laufen dann meist in der Cloud und das ich nichts was Betriebe machen sollten bzw. gezwungen sein sollten zu tun. Daher sowas wie OneNote vom Aufbau, Funktional aber einfacher gehalten.
Freue mich über Anregungen so daß ich weiß, womit ich mich über die Feiertage beschäftigen sollte.
Danke.
Ich habe jetzt hier mal eine Frage die mich schon länger beschäftigt. Da ich aber kein Programmierer bin und lediglich mit Bash und PowerShell und etwas Visual Basic .net Erfahrungen habe, hoffe ich dass die Frage eines Unwissenheit auf Verständnis stößt.
Generell geht es mir darum, daß ich gerne kleine Business Anwendungen als Hobby erstellen möchte. Das wären dann so Dinge wie Fahrtenbuch Lösungen oder etwas wie OneNote, Kennwort Manager etc. Mit VB.net kann ich das alles durchaus machen und müsste mir hier noch noch mehr Wissen aneignen. Die vb.net Anwendungen wäre dann aber an Windows gebunden. Da ich selbst aber auch ab und an mit Linux und Mac arbeite, fände ich es gut wenn Anwendungen, mit welchen ich der Allgemeinheit einen Mehrwert bieten möchte, auf mehreren Plattformen läuft.
Generell könnte ich nun natürlich auf eine Web Anwendungen setzen. Was mich hiervon abhält ist die Menge an Sprachen die ich nebenher lernen müsste, um eine GUI Anwendung auf die Beine zu stellen, die man auch gerne benutzen möchte. Das heißt ich bräuchte: HTML5, CSS, JavaScript, PHP und dann noch Frameworks wie Sencha ExtJS, AngularJS oder React etc. Ich komm zwar mit HTML und CSS einigermaßen klar, aber trotzdem würde es schon Ewig dauern, bis ich eine GUI mit JavaScript gebaut hätte. Mit ExtJS ginge es vielleicht schneller.
Daher denke ich als Laie, das schaffe ich nebenher einfach nicht.
Nun sehe ich Anwendungen wie TeamViewer und Firefox. Schöne GUI und gibt es für alle Plattformen.
JETZT die Frage aller Fragen. Womit machen diese Firmen solche Anwendungen, damit Sie diese für all diese Betriebssysteme bereitstellen können. Nach Java Swing oder Python TKinter sieht der neue Firefox definitiv nicht aus Ist das evtl. mit Qt gemacht?
Würde mich freuen wenn mir jemand auf die Sprünge helfen kann, damit ich mir wiederum überlegen kann, was für Sprachen etc. ich lernen müsste, um das Ziel zu erreichen und Software Lösungen anzubieten, welche die User auch gerne nutzen.
PS: Wenn die einfachste Lösung eine Web Anwendung wäre aus eurer Sicht, dann würde ich mich über eure Meinung zu ExtJS freuen. Das sieht mir so aus als wenn man damit relativ schnell schöne GUI Anwendungen erschaffen könnte, welche dann noch eine Business Logik und Datenbankanbindung benötigen würden.
PPS: Wenn man wissen möchte was ich denn z.B. machen wollte: Zwei Projekte hab ich im Kopf. Ersteres ist eine Kennwort Verwaltung für Teams die aber im Haus läuft. Also sowas wie KeePass für Teams. Und eine OneNote Alternative. OneNote von MS ist das mega Werkzeug für mich aber leider nicht für Linux. Alternativen laufen dann meist in der Cloud und das ich nichts was Betriebe machen sollten bzw. gezwungen sein sollten zu tun. Daher sowas wie OneNote vom Aufbau, Funktional aber einfacher gehalten.
Freue mich über Anregungen so daß ich weiß, womit ich mich über die Feiertage beschäftigen sollte.
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 355395
Url: https://administrator.de/contentid/355395
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
7 Kommentare
Neuester Kommentar
Du hast - wie immer - die freie Auswahl... Java wäre z.B. nur einmal schreiben, läuft (im Normalfall) auf jedem Rechner solang du nichts Systemspezifisches machst. Alternativ kannst du auch JSP damit machen bzw. Webapplikationen die auf nem Tomcat rennen.
Wichtiger als die Sprache ist aber das du dir mal nen Plan machst wie das aussehen soll - u.a. bei einer Kennwort-Verwaltung musst du schon nen bisserl was über Verschlüsselung machen, sonst wäre das fatal. Wenn du nicht im Vorfeld nen halbwegs guten Plan machst ist es nur das nächste Projekt für die Tonne...
Wichtiger als die Sprache ist aber das du dir mal nen Plan machst wie das aussehen soll - u.a. bei einer Kennwort-Verwaltung musst du schon nen bisserl was über Verschlüsselung machen, sonst wäre das fatal. Wenn du nicht im Vorfeld nen halbwegs guten Plan machst ist es nur das nächste Projekt für die Tonne...
Moin,
Würde versuchen wollen - sofern möglich - alles als WebApp zu gestalten. Nahezu jeder Client der irgendwie im Netzwerk hängt und einen Browser mitbringt käme damit klar.
Und wenn du ein Visual Studio im Portfolio hast, kannst du die drei Ebenen (GUI, Programm-Logic, Data-Management) alle samt darüber abfackeln.
Tipps:
Du müsstest im Backend dann "lediglich" einen MS-IIS und je nach Bedarf einen MS SQL-Server laufen lassen...
€dit: Denn mit dem VisualStudio kannst du (wie im Video zu sehen) eine Website per "Klicki-Bunti" zusammenstellen, Button etc. mit funktionalitäten versehen und das VS baut dir den dazu nötigen Code zusammen...
Gruß
em-pie
Würde versuchen wollen - sofern möglich - alles als WebApp zu gestalten. Nahezu jeder Client der irgendwie im Netzwerk hängt und einen Browser mitbringt käme damit klar.
Und wenn du ein Visual Studio im Portfolio hast, kannst du die drei Ebenen (GUI, Programm-Logic, Data-Management) alle samt darüber abfackeln.
Tipps:
- https://docs.microsoft.com/de-de/aspnet/core/tutorials/first-mvc-app/
- https://www.youtube.com/watch?v=UEEYqMU4org
Du müsstest im Backend dann "lediglich" einen MS-IIS und je nach Bedarf einen MS SQL-Server laufen lassen...
€dit: Denn mit dem VisualStudio kannst du (wie im Video zu sehen) eine Website per "Klicki-Bunti" zusammenstellen, Button etc. mit funktionalitäten versehen und das VS baut dir den dazu nötigen Code zusammen...
Gruß
em-pie
Moin,
was willst du genau machen? Also erstmal -> wenn es deine ersten Gehversuche als Programmierer sind rechne nicht gleich damit das du sowas direkt verkaufen kannst (oder solltest). Da sind dann noch andere Fragen relevant - Haftung wenn Daten verloren gehen, Zugriffsbeschränkungen,... Das willst du dir als Einsteiger nicht gleich ans Bein binden...
Dann: Was heisst für dich "relativ geringer Aufwand"? Ein geringer Aufwand ist immer die native Anwendung auf dem OS des Clients, dann braucht man in einer evtl. Firma nix an Server-Lizenzen zu haben. Alternativ eben eine Anwendung auf Tomcat-Basis da du hier recht weit ohne zusätzliche Lizenzen kommst. IIS ist dagegen schon wieder mit einem zusätzlichen Server verbunden, der gewartet werden will usw... Dazu dann das DB-System da drauf - ggf. auch noch wieder was extra. Die Applikation ist dabei im Normalfall das geringste der 1000 Übel...
Und je nachdem wie gut deine Kenntnisse sind (das kann und will ich nicht bewerten) kommst du da auch noch in die Bereiche rein das man eine DB gut oder schlecht bauen kann. Auch hier gilt: Einmal das Böse aus der Kiste geholt und du bekommst es nicht wieder rein. Nehmen wir an du verkaufst deine Anwendung an 20 Kunden. Die geben da auch fleissig Daten ein - und in 6 - 9 Monaten stellst du fest das dein DB-Ansatz leider Müll war. Willst du dann zum Kunden gehen und sagen "Pech gehabt, schmeiss die Daten halt weg"?
Daher baue erst mal für dich - und wenn es gut ist überlege ob du es ggf. verkaufen kannst...
was willst du genau machen? Also erstmal -> wenn es deine ersten Gehversuche als Programmierer sind rechne nicht gleich damit das du sowas direkt verkaufen kannst (oder solltest). Da sind dann noch andere Fragen relevant - Haftung wenn Daten verloren gehen, Zugriffsbeschränkungen,... Das willst du dir als Einsteiger nicht gleich ans Bein binden...
Dann: Was heisst für dich "relativ geringer Aufwand"? Ein geringer Aufwand ist immer die native Anwendung auf dem OS des Clients, dann braucht man in einer evtl. Firma nix an Server-Lizenzen zu haben. Alternativ eben eine Anwendung auf Tomcat-Basis da du hier recht weit ohne zusätzliche Lizenzen kommst. IIS ist dagegen schon wieder mit einem zusätzlichen Server verbunden, der gewartet werden will usw... Dazu dann das DB-System da drauf - ggf. auch noch wieder was extra. Die Applikation ist dabei im Normalfall das geringste der 1000 Übel...
Und je nachdem wie gut deine Kenntnisse sind (das kann und will ich nicht bewerten) kommst du da auch noch in die Bereiche rein das man eine DB gut oder schlecht bauen kann. Auch hier gilt: Einmal das Böse aus der Kiste geholt und du bekommst es nicht wieder rein. Nehmen wir an du verkaufst deine Anwendung an 20 Kunden. Die geben da auch fleissig Daten ein - und in 6 - 9 Monaten stellst du fest das dein DB-Ansatz leider Müll war. Willst du dann zum Kunden gehen und sagen "Pech gehabt, schmeiss die Daten halt weg"?
Daher baue erst mal für dich - und wenn es gut ist überlege ob du es ggf. verkaufen kannst...