Hallo,
welche Sprache, welches Framework und Tool betrachtet ihr als das
sinnvollste, wenn ich in die Appentwicklung einsteigen möchte?
Welches hat am meisten Support in der Community und welches hat die
besten Zukunftsaussichten nicht bald wieder eingestampft zu werden?
Ich wollte mit Xamarin anfangen, weiß aber nicht ob das die beste Lösung
ist?
Bastler schrieb:> Ich wollte mit Xamarin anfangen, weiß aber nicht ob das die beste Lösung> ist?
Doch, wenn multiplattform wirklich erforderlich ist, nimm Xamarin,
besser wirds leider nicht.
Mal sehen wie lange es dauert bis die React Native und Flutter Fanboys
kommen und dir ihre Wahrheit verkünden...
Bastler schrieb:> welche Sprache, welches Framework und Tool betrachtet ihr als das> sinnvollste, wenn ich in die Appentwicklung einsteigen möchte?
Genau DAS, was dir im Gebrauch am ehesten liegen würde. Aber das würde
voraussetzen, daß du die verschiedenen Dinge, die es gibt, mal selber
ausprobierst und dir dann dein eigenes Urteil bildest und dich nicht auf
die Meinungen anderer Leute veläßt.
Solche Fragen tauchen hier immer wieder auf, der Klassiker ist: "Ich
möchte in Mikrocontroller einsteigen, welche IDE soll ich
herunterladen?"
W.S.
W.S. schrieb:> Aber das würde> voraussetzen, daß du die verschiedenen Dinge, die es gibt, mal selber> ausprobierst und dir dann dein eigenes Urteil bildest und dich nicht auf> die Meinungen anderer Leute veläßt.
Das klingt nach einer sinnvollen Strategie. Einfach mal alles
ausprobieren, und dann weiß man in 10 bis 20 Jahren, womit man am besten
angefangen hätte.
Versuchen von den Fehlern anderer zu lernen ist schummeln!
Chris K. schrieb:> In spätestens 2-4 Jahren gibts wieder was neues was besser sein soll.
Und das heißt? Man soll 2-4 Jahre warten, bevor man anfängt, die App zu
entwickeln?
Nein, das heißt: du musst alle 2-4 Jahre etwas neues lernen. Oder halt
mit deinem heutigen Wissen einen todlangweiligen Job in der
Altlastenpflege machen.
> Cobol und ein Z/370-Emulator wurden noch nicht genannt.
Da hätten wir eigentlich auch gleich bei bleiben können.
Im Vergleich zu Kubernetes waren die 360er Partitions doch eine feine
übersichtliche Technologie.
Zwischendurch brachen uns die Ideen aus dem Smalltalk richtig gute
Entwicklungssysteme. Heutzutage ist alles wieder vergessen. Sogar Cobol
auf CICS war ein Fortschritt gegenüber Angular.
Na ja, im Vergleich zu den heutigen Browser-Oberflächen sehen die
3270-Terminals nicht wirklich überzeugend aus. Zumindest ein
Fortschritt.
Noch ein Kommentar schrieb:> Nein, das heißt: du musst alle 2-4 Jahre etwas neues lernen.
Heißt es das? Was passiert mit dem, was man bisher genutzt hat? Ist es
dann plötzlich weg oder unbenutzbar geworden? Muss man dann alle Apps
wegwerfen und komplett neu schreiben?
Es mag ja sein, dass viele das so tun, weil sie meinen, jedem
vermeintlichen Trend hinterherhecheln zu müssen, aber in Wirklichkeit
ist das meistens nicht erforderlich.
> 3270-Terminals nicht wirklich überzeugend aus
Ach was. Gestochen charfff und flimmerfrei!
Alles andere verwirrt nur!
*Und:*
Trommelwirbel
Es gab eine garantierte Anwortzeit.
Die Sanduhr war arbeitslos!
Cartman schrieb:>> 3270-Terminals nicht wirklich überzeugend aus>> Ach was. Gestochen charfff und flimmerfrei!
Zumal verglichen mit DEC VT100 Terminals, deren Darstellung nach einer
Weile jedwede Gradlinigkeit vermissen liess. ;-)
Ich würde gerne die bereits erwähnte Wahrheit verkünden: Web App mit
Vue.js und Quasar Framework ...
Ok mal im ernst, die Existenzberechtigung vieler Apps ist fragwürdig. Ob
nun nativ oder webbasiert. Warum müssen typische Anwendungen die auf dem
PC bestens als Webseite funktionieren auf dem Handy immer zu einer App
mutieren? Die meisten Apps nutzen keine speziellen Hardware Funktionen.
Und auf einige Sensoren kann man auch über den Browser bereits
zugreifen.
Dienen die Apps nur dazu damit man nur mit einmal tippen die Anwendung
erreicht? Das wäre aber mit komfortablen Webseiten Verlinkungen auch
möglich. Und wenn die Webseite eine mobile freundliche Oberfläche
anbietet ist doch alles ok?
Was mich nur etwas stört ist dass Webseiten oft langsam funktionieren.
Aber ich habe auch ein altes Smartphone. Auf aktuellen Geräten dürfte
das doch nicht so kritisch sein? Und wenn doch, was läuft denn da bitte
bei der Implementierung der Browser falsch. Kommt die Hardwareleistung
der mobilen Geräte einfach nicht mit oder wie?
Denn auf dem PC funktionieren Webseiten wunderbar flüssig.
Hi Bastler,
schau dir mal React Native an.
Machen wir seid Jahren und ich muss sagen ich programmiere nichts lieber
als in diesem Stiel.
Rießige Community, UP TO DATE, JavaScript (man bekommts daher auch sehr
einfach in den Browser)!
Einzig: Wir haben damit Spiele Realisiert, das geht zwar aber wenn man
massig Animationen braucht wirds eng und ich würd in diesem Fall davon
abraten.
Alles andere bekommst du damit extrem schnell umgesetzt!
(Wir sind ein Team von Entwicklern die zuvor einiges anderes probiert
haben [und eigentlich aus dem Native Bereich kamen])
https://reactnative.dev/https://github.com/enaqx/awesome-react
Rolf M. schrieb:> Was passiert mit dem, was man bisher genutzt hat? Ist es> dann plötzlich weg oder unbenutzbar geworden? Muss man dann alle Apps> wegwerfen und komplett neu schreiben?
Nun ja, als allererstes werden einem die Fanboys der neuesten Mode
entgegenschreien: "Du bist ja altmodisch!"
Später werden dann Stück für Stück all die alten Apps unbenutzbar
werden, sobald die Betriebssysteme aufhören, sich um zeitliche
Kompatibilität zu kümmern. Siehe das Ende für alle früheren
VB-Anwendungen.
W.S.
W.S. schrieb:> Siehe das Ende für alle früheren> VB-Anwendungen.
wo steht das denn? VB6 Anwendungen gibt es noch reichlich und die laufen
auf Windows 10, sehr wahrscheinlich auch noch unter Windows 11.
Das API bietet nicht mehr soviel wie andere modernere Frameworks, dafür
gibts auch keine häufigen Updatezyklen und eine schlanke Runtime.
Ich würde sogar sagen VB6 ist der Käfer unter den Frameworks, läuft und
läuft und läuft.
AnfängerMeister schrieb:> Warum müssen typische Anwendungen die auf dem> PC bestens als Webseite funktionieren auf dem Handy immer zu einer App> mutieren?> [...]> Was mich nur etwas stört ist dass Webseiten oft langsam funktionieren.
Ich denke, das ist schon die Antwort auf deine Frage. Dazu kommt noch,
dass Anbieter einen zur App bewegen möchten (früher warens die
Browsertoolbars). Zur App Bewegen funktioniert dadurch, dass die
entsprechende Webseite für Mobilgeräte absichtlich eingeschränkt wird,
sei es im Funktionsumfang oder der Bedienbarkeit.
Technisch gesehen bräuchten Apps weniger Datenvolumen, da die
Beschreibung der GUI nicht übertragen werden muss, sondern nur die
Nutzdaten. Allerdings scheint mir bewegt sich die App-Entwicklung
dorthin, dass die App nur noch ein verkappter, proprietärer Browser ist,
wo die Darstellung auch erst runtergeladen werden muss.
>> Nein, das heißt: du musst alle 2-4 Jahre etwas neues lernen.>Heißt es das? Was passiert mit dem, was man bisher genutzt hat?
Sicherlich kannst du auch als Programmierer 40 Jahre lang das selbe
machen. Hattest du z.B. vor 30 Jahren VBA für Excel gelernt, kannst du
damit immer noch deine Brötchen verdienen.
Aber du bekommst halt gehirnamputierte Bürokraten als Kunden und geistig
behinderte Vorgesetzte. Musst Unfug eintippen, bei dem dir klar ist - so
kann das nichts werden. Da gibt einen Haufen Ärger. Diese unfähigen
Knalltüten werden dem Chef erzählen, du hättest es vermasselt.
Wenn du dagegen immer wieder das lernst, was zur Zeit gerade Hype ist,
kannst du als Programmierer selbst aussuchen, wen du als Kunden und
Vorgesetzte haben willst.
Noch ein Kommentar schrieb:>>> Nein, das heißt: du musst alle 2-4 Jahre etwas neues lernen.>>>Heißt es das? Was passiert mit dem, was man bisher genutzt hat?>> Sicherlich kannst du auch als Programmierer 40 Jahre lang das selbe> machen.
Zwischen 2 Jahren und 40 Jahren liegt dann allerdings doch eine ziemlich
große Spanne. Ich würde zumindest vermeiden, eine Neuentwicklung mit
etwas zu starten, das in 2 Jahren wahrscheinlich obsolet sein wird.
Zur Erinnerung: Vor 40 Jahren hat Stroustrup wahrscheinlich gerade die
ersten Ideen gehabt, vielleicht eine eigene Programmiersprache zu
erfinden. C gab es nur in der K&R-Variante und war noch 8 Jahre von
einer ersten Standardisierung entfernt. Bis zur Erfindung von Python
sollte noch ein Jahrzehnt vergehen. Ada war gerade ganz frisch
verfügbar.
> das in 2 Jahren wahrscheinlich obsolet sein wird
Problem ist halt, die etablierten Frameworks werden langsam aber sicher
obsolet. Das zieht sich über Jahrzehnte. LibreOffice z.B. lässt sich
nicht auf neue Framesworks umstellen. Collabora verpackt das alte System
in Container und benutzt den Browser nur zum Grafik anzeigen. Vollkommen
klar, diese Stückeilei ist auf dem absteigenden Ast. Keine Chance gegen
moderne Single-Page-Webapps.
Nur weiß niemand, welches der heutigen Frameworks sich durchsetzen wird.
Was wir vor 10 Jahren benutzten, hat sich als Sackgasse heraus gestellt.
Irgendwie hat man das Gefühl, die Qt war besser als alle HTML Frameworks
zusammen, aber niemand will zu diesen monolithischen standalone
Programmen mit den drögen Widgets zurück kehren.
Dann kommen noch ein paar Punkte, bei denen wir nicht wissen, wie sie
sich entwickeln. Die Ransomware wächst uns über den Kopf. Werden wir auf
des Recht verzichten, selbst zu entscheiden, welche Software wir
installieren, damit wir die Ransomware wieder los werden? Anderer Punkt,
die KI wird immer besser. Werden wir unsere Programme in Zukunft
überhaupt noch ein GUI brauchen?
Wenn du dich für weit verbreitete Technologie entscheidest, wird es mit
100% Wahrscheinlichkeit langsam aber sicher obsolet. Wenn du dich für
eines der aktuellen Frameworks entscheidest, ist es mit ~95%
Wahrscheinlichkeit in 2 Jahren obsolet.
Noch ein Kommentar schrieb:> Irgendwie hat man das Gefühl, die Qt war besser als alle HTML Frameworks> zusammen, aber niemand will zu diesen monolithischen standalone> Programmen mit den drögen Widgets zurück kehren.
Qt ist in der Hinsicht deutlich erweitert worden. Zusätzlich zu den
Widgets gibt's auch noch QtQuick/QML. Das ist mehr auf Touch-Bedienung
ausgelegt, und man kann sehr leicht schick animierte GUIs umsetzen. Und
das gibt's eigentlich für so ziemlich alle Plattformen, teils auch im
Embedded-Bereich. Das findet man dann auch auf dem Kombiintrument im
Auto wieder. Schließlich lässt sich nicht alles webbasiert machen.
> Dann kommen noch ein paar Punkte, bei denen wir nicht wissen, wie sie> sich entwickeln. Die Ransomware wächst uns über den Kopf. Werden wir auf> des Recht verzichten, selbst zu entscheiden, welche Software wir> installieren, damit wir die Ransomware wieder los werden? Anderer Punkt,> die KI wird immer besser. Werden wir unsere Programme in Zukunft> überhaupt noch ein GUI brauchen?
Das hängt sicherlich stark von der Anwendung ab. Aber ja, irgendwelche
Alexas und Co können sicher auch einiges ohne GUI erledigen.
> Qt ist in der Hinsicht deutlich erweitert worden.
Zumindest hätte das einen gewissen Humor.
1000 neue Konzepte in 20 Jahren Webframeworks funktionieren alle nicht.
Zum Schluss setzt sich QML durch. Auf Desktop, Smartphone und
WebAssembly. Dann brauchen wir nur noch konsistente Qt Klassen für beide
Seiten der REST Schnittstelle.
Oben wurde bereits ja erwähnt: In spätestens 2-4 Jahren gibts wieder was
neues was besser sein soll.
https://dojotoolkit.org/
gibts auch noch wenn es wie eine Anwendung aussehen soll.
Da gibts auch so ein Qt nach Webasm Dingens ist aber mehr ne Techdemo,
manche setzen das aber angeblich wirklich ein um ihre ehemals native
Qtanwendung ins Web zu verfrachten.
Berufsberatung schrieb:> Da gibts auch so ein Qt nach Webasm Dingens
Es gibt Qt für Webassembly. Kann man sich selbst compilieren oder von
der Qt-Website fertig runterladen.
> ist aber mehr ne Techdemo,
Es ist eine von Qt offiziell unterstützte Zielplattform. Für Qt6 ist es
anscheinend noch im "tech preview"-Status.