Web-App Programmieren - Wie am Besten anfangen?

Altah schrieb:
Web App überhaupt mal schreiben
Vor dem Schritt ist es nicht verkehrt sich erstmal die Basics anzugucken, also ohne irgendwelche Abstraktionen oben drauf.

Altah schrieb:
App auf dem Handy ansehen und kompatibilität prüfen
Heutzutage baut man Websiten "mobile first", man entwickelt Elemente im Browser direkt im mobilem Breakpoint.
Und alles was im Desktop umgeschoben werden soll wird dann mit entsprechenden CSS Media Querries gemacht.
Deshalb, Basics zuerst.

Je nachdem wie "Smartphone App" die Web-App sein soll reicht dann auch ne PWA. Die kann man dann per Browser "installieren" ohne das man durch den App-Store geht. Am Ende einfach ein Icon auf dem Homescreen, und die Browser UI-Elemente verschwinden.

Aber da fehlt primär unter iOS einiges an Features (grade Push Notifications), deshalb die Web-App per Capacitor in eine "App" verwandeln und beten das Apple nicht meckert.

Altah schrieb:
Mit einer App Datenbankinhalte auslesen und verändern
REST APIs bekommt man heutzutage quasi hinterhergeworfen, mit sowas wie Supabase/Appwrite sogar ohne einen Finger zu heben. Sonst gibts immer noch Firebase wenn man "webscale" braucht.
Oder eben selbst mit Laravel, NestJS & Co programmieren wenn man mehr Kontrolle braucht, die Frameworks nehmen einen gut an die Hand.

Altah schrieb:
Mal ein Profil schreiben und die Ästhetik bearbeiten
Wenn ihr die paar Euro habt, TailwindUI hat ein sehr professionellen Look und gute Dokus.
Mit was Copy&Paste und CSS Basics sollte man recht schnell was ansehnliches hinbekommen. CSS Frameworks gibts aber wie Sand am Meer.
 
Altah schrieb:
- Chat Funktion ==> Hier hab ich einfach gar keine Vorstellung. Meine ersten Stunden habe ich in Youtube Videos für schreiben einer Web-App investiert, aber die Tutorials waren entweder zu alt, oder nicht brauchbar(schreibe eine Web App in 3 Minuten)
Tipp: was quasi-fertiges integrieren und so anpassen, dass es sich optisch gut in die WebApp einfügt

z.B.:
 
Wenn man anfängt zu programmieren, weil man ne "Geschäftsidee" hat, geht das 100% in die Hose!
Man fängt an zu programmieren, weil man Spaß dran hat und eine Affinität dazu.
Wenn man eine Geschäftsidee hat, gründet man eine Firma und stellt Programmierer an.
 
  • Gefällt mir
Reaktionen: charly_, BeBur und pseudopseudonym
joshim schrieb:
Wenn man anfängt zu programmieren, weil man ne "Geschäftsidee" hat, geht das 100% in die Hose!
So ist das. Der TE wird vermutlich schnell frustriert sein und dann versuchen, jemanden zu finden, der es für ihn programmiert. Das macht aber natürlich niemand für lau und auch nicht auf die vage und unrealistische Aussicht am nächsten Facebook mitzuarbeiten.

Der Rat lautet daher: Erstmal kleiner denken und erstmal "irgendwas" machen. Nicht direkt auf das fertig Produkt zielen und schielen, sondern erstmal ein minimalstes Lernprojekt realisieren. Dann ein minimales Lernprojekt realisieren.

App Programmierung stecke ich nicht so drin, soweit ich weiß ist das ein RIESEN Rattenschwanz und viel Abstraktion, insbesondere wenn man auf Android und iPhone deployen will später. Mein Rat wäre daher eher, erstmal Websites zu bauen und später dann auf App-Entwicklung zu wechseln. Sonst ist man schnell erschlagen vom ganzen Tooling und Abstraktionen.
 
  • Gefällt mir
Reaktionen: joshim
BeBur schrieb:
Mein Rat wäre daher eher, erstmal Websites zu bauen und später dann auf App-Entwicklung zu wechseln.
Das sind aber m.E. zwei paar Schuhe. Nur weil ich mit HTML, CSS und JS oder ggf. gar in einem Framework eine Website zusammen schustern kann, heißt das nicht, dass ich dadurch einen Vorteil in der App Entwicklung mit Java, Swift oder anderen Sprachen hätte, oder? Wenn man viele Targets und keine PWA will (weil kein App Store z.B.), ist man vermutlich mit Flutter und daher Dart ohnehin am besten beraten, aber wer keine Ahnung vom Programmieren hat und von Null anfängt wird selbstverständlich auch da seine Probleme haben und Zeit benötigen bis irgendwas bei herauskommt.
 
  • Gefällt mir
Reaktionen: BeBur
Wenn du gar keine Ahnung von Programmieren hast, dann wird das auf lange Sicht nichts.
Ja die App wird laufen, aber wird aufgrund fehlender Erfahrung mit der Zeit unwartbar sein, so ist meine Erfahrung mit Projekten die schnell wachsen ohne gute Devs dahinter die was von Architektur verstehen.

Ob eine MySQL ausreicht musst du selbst sehen. Am Anfang ganz sicher, aber mit wenn du irgendwann 100k User hast die parallel schreibende und lesende Zugriffe auf die DB machen, dann wird auch MySQL irgendwann zu schwach dafür sein. Stichwort Scaling.

Leg einfach los. Erstell die App, ignoriere das Layout, einfach Inputs und Buttons reichhauen und die Logik prototypen. Der Business-Flow muss funktionieren, dann kann das Layout folgen.

Aber wie gesagt, selbst wenn es mit 100 Usern gut funktioniert, muss es mit 1000 noch lange nicht.
Und vor allem ohne zu wissen was die App machen soll und was nicht, ist es schwer zu sagen was du bruachst. Habe hier schon viel mit Queues gelesen... ja ist eine Sinnvollle Technologie, ob DU sie aber brauchen wirst kann niemand so recht sagen.

Und wenn du wirklich eine Browser App programmieren willst, dann bitte in einer moderne Sprache wie Angular (TypeScript) oder React. Deine User werden sich dafür bedanken, Stichwort reaktive App.
 
ich sehe hier eine große Menge an Lernaufwand auf dich zukommen, wenn deine Kenntnisse wirklich nur Powershell sind, sehe ich folgende Steps:

a) Weitere Programmiersprache Lernen
b) Web Entwicklung lernen
c) Datenbank Entwicklung lernen
d) App Entwicklung lernen

Wie könnte das in der Praxis aussehen um schnell vorran zu kommen. Ich habe zwei mögliche Lösungen im Blick (es gibt aber natürlich viele mehr), die vielleicht wenig Aufwand haben.

A) JavaScript + ExpressJS + VueJS + Vue WebApps + MongoDB
Dann musst du natürlich Java Lernen mit all ihren schwächen. Dafür ist es auch manchmal einfach. Ich will hier mal keinen Streit von Zaun brechen. Aber für den Anfang vielleicht nicht schlecht.

Dann mal versuchen Serverseitig etwas mit NodeJS und ExpressJS als Server hoch zu ziehen.

Um nicht im Lernen von SQL unterzugehen, kannst du dann versuchen eine lokale MongoDB zu verwenden.

Dann lernst HTML und beschäftigst dich mit VueJS, weil es ein relativ einfaches Framwork ist (im Gegensatz zu React oder Angular - Das wäre dann für dich alleine schon ein Fulltime Entwicklung wenn du diese Nimmst).

Hier eine Inspiration: https://madewithvuejs.com/webapps

B) Unity3D Verwenden
Du lernst die Entwicklung mit Unity3D und C#. Der große Nachteil wird sein, deine App wird sehr groß und beim starten braucht sie sehr lang, da Unity mit einen ganzen Sack an Features kommt (für die Spieleentwicklung).

Trotzdem kann man damit eine App im Point und Click verfahren erstellen. (und das gleich für Android und Apple).

Dann baust du eine API zu Firebase oder ein anderes Online Datenbank System und speicherst alles dort.

---
 
smoki99 schrieb:
A) JavaScript + ExpressJS + VueJS + Vue WebApps + MongoDB
Dann musst du natürlich Java Lernen mit all ihren schwächen. Dafür ist es auch manchmal einfach. Ich will hier mal keinen Streit von Zaun brechen. Aber für den Anfang vielleicht nicht schlecht.
Java lernen? Wozu? Für JavaScript?
 
Ich würde auch einfach mal mit einer simplen PWA anfangen (als Hobby Projekt). Fürs Backend vielleicht Python mit FastAPI, wenn’s dann mal zu langsam werden sollte halt in Rust neu schreiben (z.B. mit dem Actix Framework).

Auch Datenbanken kann man migrieren, wenn es unbedingt nötig ist.

Für Frontend würde ich einfach das wählen, das dir am meisten zusagt. Vue3, Nuxt3, Svelte, React, etc. Rect hat sicher seinen Vorteil wegen React Native, wenn’s dann doch eine App mal werden soll.

Finde es aber auch nicht schlimm, nach ein paar Jahren alles neu zu programmieren. Ist wohl bei manchen Firmen Gang und Gebe 🙂.
 
Zuletzt bearbeitet:
Zurück
Oben