Tach!
Ich habe vor eine Webapplikation (heißt das folgende überhaupt so?) zu erstellen.
Kann man so nennen, wenn irgendwas interaktives jenseits von Link-Klicken drin ist. Die Frage ist eher, ob der Browser nur die Oberfläche präsentiert oder auch Daten verarbeiten soll, oder ob die Datenverarbeitung allein auf dem Server stattfindet. Dazu sollte man sich die Frage stellen, welchen Vorteil die clientseitige Verarbeitung bringt.
Das ganze soll sich sehr simple verhalten. Ein einfacher Login als Startseite, dann soll man Kriterien festlegen die zu bewerten sind, anschließend werden die festgelegten Werte mit einer Punktzahl (z.B. Schulnoten System) bewertet und am Ende soll eine Gesamtpunktzahl heraus kommen. Diese Auswertung soll dann gespeichert werden und jederzeit abgerufen werden.
Klingt mir jetzt noch nicht danach, dass das clientseitig laufen müsste.
Also die Vorstellung zur ist für mich relative simple. Liege ich hier richtig (ist natürlich immer eine Sache des Betrachters)
Der Teufel steckt im Detail. Bei Datenverarbeitung allgemein und bei Login- beziehungsweise persönlichnen Daten im Speziellen kommt man heutzutage sehr schnell auf Datenschutz zu sprechen. Und da liegen so einige Fallstricke rum.
Für die Webseitenoberfläche brauche ich HTML.
Ohne Frage. Dazu aber auch noch CSS und vielleicht Javascript. Es ist aber meist günstig, wenn es auch ohne Javascript grundlegend läuft.
Für die Funktion (Login, Rechnen, Auswerten) benötige ich JavaScript.
Kann durchaus auch serverseitig erfolgen. Gehe ich recht in der Annahme, dass es eher ungünstig ist, wenn der Client die (ausgerechneten und ausgewerteten) Daten manipuliert? Dann ist eine serverseitige Verarbeitung unumgänglich. Clientseitig lohnen sich dann lediglich Komfort-Funktionen wie Vorabprüfungen.
Für die Datenbank hatte ich gedacht kann man das local über phpmyadmin ausprobieren.
Muss serverseitig erfolgen. Jedenfalls hast du ein Login erwähnt. Wenn die Daten nur clientseitig blieben, benötigte man dieses ja nicht.
Jetzt sind meine Fragen. Wo fange ich an?
Getrennt am besten. Herunterbrechen auf Teilaufgaben hat sich sehr bewehrt. Man kann damit starten, die Benutzeroberfläche (UI) zu gestalten. Nicht in dem Sinne, welche Farbe wohin kommt, sondern eher die praktischen Dinge wie: Was brauche ich für Eingaben? Wie führe ich den Benutzer durch die Anwendung? Wie ordne ich die Dinge an?
Andererseits kannst du auch mit der Serverseite starten und erstmal die Geschäftslogik entwickeln. Das geht auch gänzlich ohne Oberfläche. Und das ist auch besser so, dass man die Dinge nicht zu sehr verheiratet, sondern definierte Schnittstellen hat, über die die Daten laufen. Dann kann man recht unabhängig von anderen Teilen Änderungen vornehmen.
Brauche ich ein GUI-Builder der mir das Designen einfacher macht.
Designen ist eine Sache, die im Kopf stattfindet. Papier oder Programme sind Hilfsmittel, um die Ideen festzuhalten.
Welche Programme brauche ich?
Im Prinzip reicht ein Texteditor wie Notepad. Aber "Komfort" schreibt man anders. Allerdings nützt einem der Komfort nicht viel, wenn man bei den Grundlagen noch so viel Lernbedarf hat, dass man gar nicht weiß, wofür die komfortable IDE (Entwicklungsumgebung) ihre Unterstützung bietet. Für den Anfang reicht dann auch erstmal ein etwas besserer Editor mit Dingen wie Syntax-Highlighting.
Stimmen die Sprachen die ich vorhabe?
phpMyAdmin ist lediglich eine Verwaltungsoberfläche. Die nützt dir gar nichts beim Verarbeiten der Daten. Das muss in einer serverseitigen Sprache erfolgen. PHP ist da sehr beliebt als Programmiersprache, aber auch viele andere sind möglich. Es kommt letztlich auch darauf an, was auf dem Server zur Verfügung steht, auf dem das laufen soll. Auch Unterstützung bei Fragen ist wichtig. Die tollste Sprache hilft wenig, wenn sie so exotisch ist, dass keiner sich damit auskennt und Fragen beantworten kann.
Wichtig ist auch die Kenntnis von konzeptionellen Techniken. Beispielsweise machen Nutzer bei Eingaben Fehler. Wie gehe ich damit um? Sehr einfach ist, einem Formular als Ziel die Folgeseite mitzugeben und die Verarbeitung der Eingaben dort stattfinden zu lassen, weil man ja als Antwort das nächste Formular präsentieren möchte. Aber wenn es zum Fehlerfall kommt, fängt man an, wieder zurückzuspringen. Dann möchte man ja auch die Eingabedaten nicht verlieren, und bastelt irgendwas, um sie auch wieder ins vorhergehende Formular zu bekommen. Besser ist hingegen die Affenformulartechnik. Man leitet immer zu sich selbst. Wenn Fehler festgestellt wurden, zeigt man das Formular, ansonsten verarbeitet man die Daten und antwortet erst dann bei Erfolg mit der Weiterleitung zum nächsten Formular.
Am besten einfach mal anfangen und die Erwartungen nicht zu hoch ansetzen. Üblicherweise kommt etwas dabei raus, das man im Nachhinein lieber niemandem mehr zeigen möchte. Aber was solls, hat nicht jeder so begonnen?
dedlfix.