Web-App Programmieren - Wie am Besten anfangen?

Altah

Cadet 2nd Year
Registriert
Okt. 2021
Beiträge
21
Hallo liebe ComputerBase Community!

in der Hoffnung einige gute Ratschläge zu erhalten, möchte ich hier meine Thematik schildern.
Ich möchte darum bitten, eure Diskussionsbeiträge ausschließlich auf das technische zu Konzentrieren.

Bitte lest meinen Beitrag unter dem Vorbehalt, dass ich ein ausgebildeter Fachinformatiker für Systemintegration bin und ausschließlich Expertenwissen in einer objektbasierten Sprache besitze. PowerShell.
Ich will hier auf Buch, Video, oder andere Wissen vermittelnde empfehlungen hinaus, mit denen ich ein gutes Grundwissen aufbauen kann, um eine sehr gute und Nachhaltige Lösung aufzubauen bei der die IT Gesellschaft sagen würde :"Da hat jemand sich was dabei gedacht", oder "Da wusste jemand ganz genau was er tut"
Erste Berührungspunkte mit Python hatte ich bereits, aber erfahren bin ich nicht. Ich kenne die normalen Strukturen einer Programmiersprache, die man ja auch in der Ausbildung lernt und das wars.

Ursprung:
Man kam auf mich zu mit einer Geschäftsidee, die aus meiner Warte gut funktionieren könnte. Aus Compliance-Gründen, kann ich diese Idee hier leider nicht schildern. Allerdings ist das Resultat dieser Idee für mich als IT-Mensch eine Social Network Web-App (Website aber auch eine installierbare App auf Smartphones) mit Chat funktion.

Wieso Web-App?
Dieser Teil der Idee ist auf meinem Mist gewachsen. Ich habe mir schlicht überlegt, dass ich mir keine Sorgen um diverse mobile OS machen möchte. In meiner Vorstellung ist eine Web-App eine Website, die auf PC und per Smartphone-App abrufbar ist. Sowas wie Facebook. Ich bitte hierbei auch um Verbeserungen meinerseits. Ich bin nicht sicher, ob meine Vorstellung zu einer Web-App stimmt.

Was soll die Web-App beinhalten?
Natürlich befinden wir uns in der Konzeptionsphase und darin enthalten ist auch das ausschreiben eines Lasten- und Pflichtenhefts.
In meinem rudimentären Programmier Wissen habe ich bisher folgende Punkte überlegt:
- Social Network Profile ==> Inhalte müssen in einer Datenbank stehen. Also brauche ich eine Website, die wiederum eine Datenbank beschreibt und auch ausliest, wenn z.B. Profile sich gegenseitig besuchen. ==> Datenbank MySQL Lizenzen hat mein Geschäftspartner bereits, aber kann das überhaupt die richtige Datenbank sein?

- 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)

- Ist eine Web-App wirklich eine Website mit Maske o.ä. drauf um es für Smartphones verfügbar zu machen?
Das würde ja für mich auch bedeuten, dass ich mich zuerst auf eine ordentliche Website kümmern darf und kann dann jederzeit einen nicht allzu komplizierten Schwenk auf eine Smartphone Verfügbarkeit machen

Die Juristischen udn Wirtschaftlichen Aspekte machen andere Spezialisten, deshalb nochmal die Bitte sich bei mir ausschließlich auf das technische zu konzentrieren.

Vielen Dank im Voraus für eure Beiträge!
 
Ist eine Web-App wirklich eine Website mit Maske o.ä. drauf um es für Smartphones verfügbar zu machen?

Tja ... Wo soll ich da anfangen und aufhören?

JAIN ... Es kommt drauf an

Eine echte APP aus einem Store ist das jedenfalls nicht um im Falle von Apple kostet das Geld / Jahr und bis Apple deine App das erste Mal akzeptiert haben wird, wir leider sehr lange auf sich warten lassen, da du im Moment keine Ahnung von Designguides zu haben scheinst.

Vielleicht solltest Du das Programmieren Outsourcen? Ich glaube mit einem kleinen 6 stelligen Betrag im Jahr läßt sich so etwas bauen und unterhalten (Weltweite Serverstandorte und Mitarbeiter, die das rund um die Uhr für den Betrieb sorgen)
 
  • Gefällt mir
Reaktionen: DaysShadow
Beantwortet keine deiner Fragen, aber ich habe ein paar an dich: Wie stellst du dir das vor? Du willst ein Social Network artiges Gebilde hochziehen und hast von der Technik dahinter absolut keine Ahnung. Learning by Doing für etwas das ein Business darstellen soll? Was meinst du wie lange du zum Lernen und vor allem tatsächlichen Verstehen der Dinge brauchst? Schon mal über sowas nachgedacht?
 
Wieviele Menschen willst du damit erreichen?
Wieviele werden gleichzeitg die App verwenden und chatten?
 
Also wenn es "explodiert" und damit meine ich wenn die App gut ankommt könnten das sehr schnell sehr viel mehr Nutzer werden.
Im Infrastruktur Thema kenn ich mich wenigstens aus, daher brauche ich rein von der Programmauswahl oder wie man das nennt was ich hier lernen will ein möglichst dynamisches.
Eines das sich leicht in die Breite ziehen lässt.
 
Wieviel Leute sind den bei dem Produkt an der Entwicklung beteiligt? Mit ner One-Man Show wird das sehr schwer, gerade dann wenn man in der Webentwicklung und den Betreib des System wenig Ahnung hat.
 
NIGHTFIL schrieb:
Wieviele Menschen willst du damit erreichen?
Wieviele werden gleichzeitg die App verwenden und chatten?


Also wenn es "explodiert" und damit meine ich wenn die App gut ankommt könnten das sehr schnell sehr viel mehr Nutzer werden.
Im Infrastruktur Thema kenn ich mich wenigstens aus, daher brauche ich rein von der Programmauswahl oder wie man das nennt was ich hier lernen will ein möglichst dynamisches.
Eines das sich leicht in die Breite ziehen lässt.
Ergänzung ()

Fujiyama schrieb:
Wieviel Leute sind den bei dem Produkt an der Entwicklung beteiligt? Mit ner One-Man Show wird das sehr schwer, gerade dann wenn man in der Webentwicklung und den Betreib des System wenig Ahnung hat.
Ehrlicherweise will ich mich als One Man Show hier versuchen und ich habe eine unbestimmte Menge an Zeit.
Sollte ich mehr Menschen aufgrund von Zeitdruck benötigen, wird das natürlich von meinen PArtnern entsprechend geklärt.
Ergänzung ()

tRITON schrieb:
Tja ... Wo soll ich da anfangen und aufhören?

JAIN ... Es kommt drauf an

Eine echte APP aus einem Store ist das jedenfalls nicht um im Falle von Apple kostet das Geld / Jahr und bis Apple deine App das erste Mal akzeptiert haben wird, wir leider sehr lange auf sich warten lassen, da du im Moment keine Ahnung von Designguides zu haben scheinst.

Vielleicht solltest Du das Programmieren Outsourcen? Ich glaube mit einem kleinen 6 stelligen Betrag im Jahr läßt sich so etwas bauen und unterhalten (Weltweite Serverstandorte und Mitarbeiter, die das rund um die Uhr für den Betrieb sorgen)
Ich würde fürchterlich gerne einfach beginnen und meine eigenen erfahrungen machen. Ich will ermitteln inwieweit ich mir das zutraue. Ich will Wissen, wie das ungefähr geht, damit ich eine Art Zeitplan und Projektplan ausarbeiten kann und bei Bedarf eben mehr Menschen und KnowHow ins Team zu holen
Ergänzung ()

DaysShadow schrieb:
Beantwortet keine deiner Fragen, aber ich habe ein paar an dich: Wie stellst du dir das vor? Du willst ein Social Network artiges Gebilde hochziehen und hast von der Technik dahinter absolut keine Ahnung. Learning by Doing für etwas das ein Business darstellen soll? Was meinst du wie lange du zum Lernen und vor allem tatsächlichen Verstehen der Dinge brauchst? Schon mal über sowas nachgedacht?
Ich sag dir ganz offen und ehrlich. Ich weiß nicht wie lange ich zum Verstehen brauche. Solange ich es nicht versuche, werde ich das auch nie herausfinden. Deshalb frage ich die experten in diesem forum um Hilfe. Wie habt Ihr es gelernt? Welche Lektüren oder Seiten habt Ihr gesehen und gelesen?
 
Zuletzt bearbeitet:
Abseits von Sinn und Unsinn könntest für schnelles Prototyping es mit einer Progressive Web App (PWA) versuchen. Gibt genug Frameworks die dich dabei unterstützen können. Einfach mal Recherche betreiben.

Flutter kann man sich auch mal ansehen. Aber bevor du überhaupt loslegst vielleicht noch mit Architektur und Patterns auseinander setzen.
 
  • Gefällt mir
Reaktionen: BeBur und Altah
Du solltest dir anschauen wie Whatsapp oder Facebook skalieren.
Mit MySQL und Python geht das nicht :)

Wenn du möglichst viele User im chat "verbinden" willst brauchst du I/O multiplexing. Je nach betriebsystem wären das epoll/poll/kqueue etc. Es gibt auch cross platfom bibliotheken dafür wie libuv oder libevent. Das wäre dann C/C++. Und ziemlich krasser Einstieg.

Alternative dazu: Erlang mit seinen green threads. Wird soweit ich weiß auch von Whatsapp verwendet. Aber die funktionale Sprache liegt nicht jedem.

GoLang hat auch ein paar gute Ansätze für massiv parallele Anwendungen.

Meine Meinung zu dem Thema:
Eine GUI egal ob als WebApp oder native App...sollte kein so großes Problem sein. Aber den Backend Part so hinzukriegen dass dieser so hochskaliert wie du es benötigst...wird richtig hart.
 
  • Gefällt mir
Reaktionen: Altah
Schau Dir mal das MS Visual Studio an. Das gibt es in der Community-Version kostenlos und Du kannst erstmal für Projekte das DotNet-Framework nutzen, wenn Du Dich gut mit Powershell auskennst. Mit Blazor (https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor) kannst Du Dir dann Deine WebApp "basteln". Es steht aber auch noch Angular oder React.js zur Auswahl für WebApp-Projekte.

Wenn Du lieber Java nutzen willst, dann geht das z.B. mit JSP (Java Server Pages) in der Eclipse IDE.
 
  • Gefällt mir
Reaktionen: Altah
Altah schrieb:
könnten das sehr schnell sehr viel mehr Nutzer werden
Starte erstmal mit 10 Nutzern und schau dann weiter.

Altah schrieb:
kann das überhaupt die richtige Datenbank sein?
Welches DBMS ihr nehmt sollte eure ganz letzte Sorge sein.

NIGHTFIL schrieb:
Du solltest dir anschauen wie Whatsapp oder Facebook skalieren.
Mit MySQL und Python geht das nicht :)

Wenn du möglichst viele User im chat "verbinden" willst brauchst du I/O multiplexing.
Der TE hat ne total tolle App Idee, kann selber aber nicht programmieren, hat auch keine Ahnung davon, wie man eine App baut geschweige denn auf Android+Apple Produkte bekommt. Da brauchst du nicht mit "skalieren wie Whatsapp" kommen.
 
  • Gefällt mir
Reaktionen: jb_alvarado und tRITON
Daloop schrieb:
Wenn Du lieber Java nutzen willst, dann geht das z.B. mit JSP (Java Server Pages) in der Eclipse IDE.
Verbreite hier bitte keine völlig veralteten Informationen. JSP ist schon lange deprecated.
Heute gibt es JSF. Und selbst das ist nicht so "hip" wie z.B. Spring Boot.
 
Was sagen die Herrschaften zu diesem Lernvideo?
 
Relevant xkcd

Fang einfach ganz stumpf mit den Basics (HTML, CSS & JS) an und dann guck in Javascript Frontends.
Mit React/Angular/Vue/Svelte kannst du deine Web-App bauen, und mit Capacitor & Co kann man die recht gut in ne App verwandeln*1.
Die Chancen stehen gut das dein Projekt nicht der Megahit wird, für jedes Tiktok gibt es 20 Plattformen die nie abheben.
Facebook hat mit PHP angefangen, und du kannst auch heute noch mit einem Server und LAMP hunderte von Usern bedienen.

Und wenn es dann abhebt, dann hol dir Profis in Boot.
Chancen stehen sowieso gut das der Code aus deinem erstem Jahr unleserlicher Code ist. Wenn man dann mehr Erfahrung/Leute hat kann man den gesamten Stack nochmal hinterfragen.
Machen ist bei so Projekten erstmal wichtiger als perfekt machen.

*1: und dann wirst du recht schnell feststellen wie lustig Apple & Google mit ihren Appstores sind. Wilder Westen wo man sich glücklich schätzen darf wenn ein Mensch per CopyPaste auf deine Nachricht antwortet.
Das sind die Hürden, nicht wie du als blutiger Anfänger im Alleingang eine 1mio MAU App programmierst.
 
  • Gefällt mir
Reaktionen: jlnprssnr, jb_alvarado, BeBur und eine weitere Person
@Altah
Ich würde sagen das Video hat nicht so viel mit deinem geplanten Projekt zu tun.
Einiges an Grundlagen kann man aber dadurch sicherlich lernen
 
  • Gefällt mir
Reaktionen: Altah
Ich habe an ganz dumme Etappen gedacht:
  • Web App überhaupt mal schreiben
  • App auf dem Handy ansehen und kompatibilität prüfen
  • Mit einer App Datenbankinhalte auslesen und verändern
  • Mal ein Profil schreiben und die Ästhetik bearbeiten
  • Anfangen mit dem notwendigen Wissen für das schreiben einer Messenger App
  • alles kombinieren

Ich denke nicht, dass der Ansatz besonders doof ist.
 
Vermutlich würde ich die ganze Sache erstmal genaustens Planen so wie es bei nem vernünftigen Softwareprojekt gemacht wird. Anforderungen erheben, Komponenten bestimmen, Diagramme erstellen und Logiken und Funktionen bestimmen und so weiter...

ich weiß ja leider nicht weit das alles schon niedergeschrieben ist.
 
  • Gefällt mir
Reaktionen: Altah
Kannst z. B. Firebase nehmen und 'ne NodeJS-App da hosten (
) oder direkt mit Flutter eine Web+Mobile-App bauen.
Da musst du dich dann nicht um Hosting und Skalierung kümmern, ab irgendwann kostet's natürlich. Skaliert aber auch.
 
  • Gefällt mir
Reaktionen: Altah
Zurück
Oben