Wie programmiert man eine Webanwendung?

5 Antworten

Dafür musst Du Dir zumindest Webtechnologien (HTML/JavaScipt), allgemeine Programmierkenntnisse, Datenbankkenntnisse (SQL, je nachdem was Du benutzen möchtest MySQL, MSSQL, Oracle etc.) und die eine oder andere Scriptsprache aneignen.

Das klingt vermutlich dramatischer als es in Wahrheit ist.

Wie viel Zeit die Umsetzung in Anspruch nimmt kann man nicht pauschal sagen. Das hängt von zu vielen Faktoren ab.

Viel Erfolg

Woher ich das weiß:Berufserfahrung

Du musst HTML (mit ein klein wenig CSS und JavaScript) beherrschen sowie PHP und MySQL.

Fange also an mit folgenden Tutorials:

Weit besser noch:

Kaufe dir das Buch https://www.amazon.de/Einstieg-PHP-MySQL-Programmieranfänger-programmieren/dp/3836263122/ref=pd_lpo_sbs_14_img_1 .

Auch folgender Online-Kurs ist hilfreich: https://www.php-kurs.com/

Beispiele finden sich hier: http://www.mywebsolution.de/sitemap/

dafür brauchst du javascript, html, css, sql und eventuell auch php oder noch eine andere serverseitige sprache, da kommen dann aber viele sprachen in frage.

die idee lässt sich relativ leicht umsetzten weil man in den meisten sprachen schon eine direkte schnittstelle mit der datenbank hat. du musst also nur anfragen an die datenbank machen und das ergebnis dann im browser darstellen. an sich wirklich nicht schwer.

wie viel zeit das ganze in anspruch nimmt, hängt mit deinen fähigkeiten und der komplexität der anwendung zusammen. das könnte man vermutlich auch in einer halben stunde umsetzten aber wenn man es anständig und etwas komplexer macht, kann man dafür auch mehrere monate dran arbeiten.

Woher ich das weiß:Studium / Ausbildung – Softwareentwickler, B. Sc. Informatik

4 bis 5 Jahre? oder wirklich 4/5 (=0,8).

Du sollst dir erstmal die Basics aneigenen.

HTML zur strukturierung. CSS um das strukturierte ein bissl zu designen.
Dann Php oder Javascript um deiner Webseite gewisse Funktionen zuzuweisen.

Dann brauchst du noch eine Datenbank. MySQL finde ich dafür nicht so schwer und lässt sich auch leicht umsetzen.

Lerne also html+css+php/javascript und mysql/sql oder beliebige db Sprache.

Es gibt oft so Fertigbaukästen, die dir viel Arbeit abnehmen aber damit lernst du ja nicht viel.

Daher empfehle ich es selber mal mit Notepad++ was ganz einfaches zumachen (einfach wegen dem lerneffekt). Haste es einmal gemacht, kannst du zu anderen Editoren wechseln oder so Baukästen auch benutzen, die du auch selbst manipulieren kannst.

Vorgehensweise: Mach dir ein Konzept, wie deine Seite aussehen soll. Welche Elemente sie hat und welche Funktionen.

Setze das mit HTML+css um. (Schwierigkeit: Anfänger).
Stelle eine Datenbank auf mit den Daten, die du brauchst (Schwierigkeit: Anfänger. gibt genug tutorials dafür).
Hole dir z.b. mit javascript und die entsprechende DB-Abfrage die Daten aus der Datenbank (Schwierigkeit fortgeschritten).

Zuallererst würde ich eine Rückfrage dazu stellen:

Handelt es sich dabei wirklich nur um ein Projekt, anhand dessen du Programmieren lernen möchtest oder geht es dir vorrangig darum, dein gestelltes Problem zu lösen? Im letzteren Fall würde ich nämlich vorschlagen, nicht das Rad neu zu erfinden. Es gibt bereits Analyse-Software, auch für Datenbanken. Da würde mir bspw. QlikView einfallen.

Welche Kenntnisse muss ich mir genau aneignen?

Hinsichtlich der Umsetzung der Oberfläche, das konntest du schon in den bisherigen Antworten lesen, wären HTML, CSS und JavaScript zu empfehlen, wobei diese während des Entwicklungsprozesses auch einfach ersetzt werden können (LESS oder SASS statt CSS, TypeScript statt JavaScript, Pug als Template-Engine, o.ä.). Wenn man dazu noch ein Bundling Tool wie webpack verwendet, kann man sich die gewählten Abstraktionen automatisch zu einem im Browser lauffähigen Produkt zusammenbauen lassen.

Entgegen dem Rat, PHP zu wählen, möchte ich an dieser Stelle aber doch gern einen Gegenpol aufstellen, denn nein - PHP ist kein muss. Es gibt noch andere - m.E. sogar bessere Alternativen. C# in Kombination mit dem ASP.NET-Framework zum Beispiel oder JavaScript/TypeScript auf Basis von nodejs. Die Lernkurve ist bei den beiden genannten Optionen allerdings etwas höher, das sollte dazu schon erwähnt werden.

Solltest du dich für PHP entscheiden, würde ich dir empfehlen, das Softwarepaket XAMPP herunterzuladen und zu installieren. Dieses liefert dir eine komplette Entwicklungsumgebung mit einem Schlag (eine MariaDB; phpMyAdmin als grafische Schnittstelle / Verwaltungssoftware für die Datenbank; einen Apache HTTP Server, auf dem du PHP-Skripte ausführen lassen kannst).

Lernquellen für die Sprache findest du in meinem Kommentar von hier.

Solltest du dich für C# entscheiden, reicht für den Entwicklungsprozess die Installation von Visual Studio (in dieser IDE ist ein IIS Express Server integriert), zudem solltest du dir ein DBMS besorgen (MSSQL, MariaDB, MySQL, PostgreSQL, ...). Lernquellen findest du hier. Bevor du dich mit ASP.NET auseinandersetzt, würde ich dir raten, die Grundlagen auf der Konsole zu lernen (sprich: mit Konsolenanwendungen zu arbeiten).

Für eine JavaScript-Lösung mit nodejs benötigst du nodejs, optimalerweise npm und ein DBMS (wie MySQL, MongoDB, ...). Wie man einen Server entwickelt, wird im nodejs-Einführungstutorial beschrieben. Quellen zu JavaScript findest du in dieser Antwort. Meines Wissens sollte es auch Rheinwerk-Bücher zu nodejs geben.

Schlussendlich sind auch noch Kenntnisse über SQL (und Datenbanken allgemein: Design / Aufbau / ...) hilfreich, um bei der Kommunikation mit dieser keine allzu großen Probleme zu haben.

Weitere relevante Themen sollten sich mit einer genaueren Analyse des gewünschten Ziels / Produkts ermitteln lassen.

Wie genau lässt sich die Idee umsetzen?

Lies hier.

wie viel Zeit könnte das alles in Anspruch nehmen?

Für das Lernen all dieser Techniken solltest du am besten in Jahren rechnen. Selbst wenn du zu einer Sprache schon nach ein bis zwei Monaten die Grundlagen abgegrast hast, wirst du vor allem in der Anfangszeit noch öfter auf Fragen/Probleme stoßen.

Wie lange die Umsetzungsphase der Anwendung in Anspruch nimmt, kann ich dir nicht sagen. Zum einen fand noch keine genaue Analyse / Planung statt, zum anderen müsste man eine Einschätzung deines Arbeitstempos vornehmen.