Auf dieser Seite möchte ich etwas zu mir und meinen Projekten zeigen. Da mich Hardware und Software gleichermaßen interessieren, habe ich mich dafür entschieden, die Zweiteilung in der Webseite bei zu behalten. So kam ich
auf die Idee dies schon auf der Hauptseite durch den Spruch "Wählen sie ihre Seite..." und die Einteilung in zwei Hälften. Auch im Hauptmenü verhält es sich ähnlich. So zeige ich in der Hardware Ecke
Projekte, die ich mit z.B. Raspberry Pi gemacht habe. In der Software Ecke zeige ich dann Programme für PC, Mobile Devices und Web Anwendungen. Alles soll hier ständig wachsen. Entweder verbessere ich etwas an meinen Projekten
oder es kommt etwas neues hinzu. Und einige kleinere Projekte, die eventuell auch nicht so vorzeigbar sind / waren erwähne ich dann eher auf den Gruppenseiten im Text.
Ich setze gerne auf Basistechniken und setze mich gerne mit Grundlagen auseinander. Der dabei kommende Lerneffekt ist mir sehr willkommen. Auch dies versuche ich gerne bei allen Entwicklungen mit zunehmen. Dies spiegelt sich unter anderem
auch in dieser Seite und den Techniken wieder, mit der diese erstellt wurde.
In einigen Ausbildungen lernte ich etwas über Webseiten Technologien und Entwicklung. Oftmals aber nur Grundlagen, wie HTML, CSS, PHP und ein bisschen JavaScript. Und weil mich das Entdecken und mehr dazu Lernen in Software
interessierte, habe ich mit der Webseite begonnen. Das heißt, ich habe langsam erst alles aus HTML gebaut. Dann habe ich etwas über CSS gelernt und erste versuche gemacht. Das war nicht so einfach und Fachlich nicht so toll.
Später habe ich mehr Kentnisse gehabt und es neu begonnen. Da kam auch die Verwendung eines CSS Frameworks dazu. Die oft angesprochene Mehrsprachigkeit war auch für mich von Interesse bei der Seite. Früher habe ich jedes
Dokument doppelt erzeugt, nur um es Übersetzen zu können. Das war sehr aufwendig und hat mir nicht gefallen. Lange habe ich überlegt, wie ich es besser machen kann. Es hat etwas gedauert, bis ich auf die Veriante gekommen
ist, wie hier gezeigt.
Wie oben bereits erwähnt mache ich viel selber. Es geht mir dabei oft auch um den Lerneffekt. Manch einer wird beim anzeigen der Webseite bemerken, dass das Aussehen nicht zum Beispiel dem Anspuch mancher Unternehmensseite entspricht.
Es gibt hier so gut wie keine Effekte. Das hat alles seine Gründe.
Ich setze keine Frameworks ein, mit denen man über JavaScript erzeugte toll aussehende Oberflächen generieren kann. Ferner wird die Webseite auch nicht in einer Software Entwicklungs IDE erzeugt. Ich habe mit der Seite in reiner
HTML Form angefangen, weil man das Entwickeln einer Seite in HTML mal in der Schule gelernt hat. Und als ich die Entwicklung alleine fortgesetzt habe, habe ich mich mit CSS und anderen Dingen auseinander gesetzt. Dabei habe ich
natürlich auch Erfahrungen gesammelt. Manchmal auch, dass ich vorher es nicht wirklich verstanden habe und es nun besser machen kann.
Durch das selber entwickeln habe ich auch die Möglichkeit eigene Tricks mir einfallen zu lassen. Dies ist für mich die Erfahrung von Webseiten Entwicklung. Ich weiß immer ganz genau, wo etwas passiert und kann es anpassen.
Und somit auch optimieren.
Natürlich fordert dies auch, dass natürlich einiges nicht fantastisch aussieht wie die ein oder andere Webapp eines Anbieters. Vielleicht ist auch nicht alles optimal Entwickelt. Aber ich würde auch nie sagen, dass ich
professioneller Webentwickler bin. Es ist richtig, dass wenn man richtig Webentwickler sein möchte, bzw. eine Webanwendung entwickeln möchte, Frameworks kennen sollte weil man damit eventuell ein brauchbareres Ergebnis (optisch
und/oder funktional) bekommt. Aber für mich zählt das selber gemachte, wo ich weiß, was ich gemacht habe und warum es so ist. Und wenn es etwas gibt, was im gewissen maße besser ist (und die Entwicklung erleichert),
ist auch nichts gegen ein Framework, eine Bibliothek oder ein Snippet aus dem Web zu sagen.
Auswahl:
Die Webseiten werden von mir direkt in HTML beschrieben. Dafür arbeite ich nur im Text Editior. Das heißt, es kommt ein Texteditor mit Code Syntax support zum Einsatz. Eine IDE brauche ich dafür nicht. Debuggen tue ich im
Webbrowser und auf meinem Testserver. So kann ich mir das Ergebnis ansehen, stelle fest, wenn etwas nicht perfekt funktioniert und kann eventuell mit den Entwicklerfunktionen etwas anderes live testen oder mal debuggen.
Das eine einfache HTML Datei reicht habe ich von Anfang an gelernt und das reicht für eine simple Webseite auch. Ich lernte, dass man einfach nur den HTML Quelltext als Datei in das Server Verzeichnis legen braucht und dann ist das
Browser bereits aufrufbar. Einfacher geht es doch für den Anfang nicht.
So entwickle ich auch aktuell noch das HTML direkt, nur das mittlerweile PHP und CSS mit dazu gekommen sind.
Mit CSS fing ich später an. Erst versuchte ich hier alles selber zu beschreiben. Nur das war natürlich lerning-by-doing am Anfang sehr unausgereift. Außerdem habe ich erst CSS nur zögerlich eingesetzt, da ich noch mit
den Styling Optionen von HTML arbeitete (Man lernt das heute noch in der Schule, als wäre es das beste). Dann fing ich an hier mehr mit CSS zu stylen. Erst wollte ich alles mit einer Datei beschreiben und die @media Regeln für
alle (meine) Bildschirmauflösungen beschreiben.
Aber nach einer Pause in der Entwicklung meiner Webseite hatte ich mehr darüber erfahren, weil ich in der Zwischenzeit durch meine Webapp MediaDB einiges dazu lernen musste. So begann ich hier wieder weiter zu machen. Nun dachte ich
darüber nach, wie ich es besser machen kann. Da ich viel von w3schools lernte (danke an dieser stelle) habe ich deren CSS Framework entdeckt und einige
Vorlagen. Schon daran habe ich mehr über CSS gelernt. Heute ist hier der Framework von w3schools und meine CSS Eignentwicklung am werk. Ich hatte in meiner eigenen Entwicklung einige Dinge wie die Farben und das Menü definiert.
Das Menü stammt au einer anleitung von HTML Seminar. Und diese Entwicklungen sollten neben dem Framework von w3schools erhalten bleiben.
Aber durch diese beiden Einflüsse staunte ich nicht schlecht, was man alles Grafisch mit NUR HTML und CSS gestalten kann und wofür es noch lange kein JavaScript braucht. Daher kommt auch meine Einstellung, dass eine Webseite, die
nur etwas Zeigen soll und ohne JavaScript komplett blank ist, keine gute Webseite ist.
Die Webseite besteht nicht nur aus reinem HTML. Etwas Programmierung steckt auch dahinter. Da ich in der Schule neben HTML auch PHP gelernt habe, kommt es auch hier auf der Webseite zum Einsatz.
Ich möchte an den Browser eine bereits fertige Webseite ausgeben. Das bedeutet: Der Browser ist optimert die beiden Beschreibungen zur Parsen und in die Darstellung zu bringen. Daher macht es für mich keinen Sinn, ein fast leeres
HTML Dokument dem Browser zu geben und eine riesige Menge JavaScript Code, damit dieser im Anschluss erst geparst, dann Compiliert und danch ausgeführt werden muss, damit der Content in die Seite kommt.
Außerdem kann ich durch "includes" auch Standard Inhalte eines jeden Dokuments hinzufügen. Das Menü lasse ich dabei gleich mit erzeugen. Am Ende bekommt der Browser von mir ein Dokument, was er als reines HTML
kommt und bereits alle Elemente enthält. Nur Bilder, den CSS Code und in ganz seltenen fällen einen kleinen JavaScript Snipsel muss er noch nachladen. Das Dokument war dabei auf dem Server so angelegt, dass alle Dokumenten
privaten HTML Anweisungen bereits Entwickelt sind. Somit sind die Bindungen an CSS oder mal JavaScript auch bereits klar. Generische Inhalte, wie der Kopf mit dem Menü wird über ein PHP include erzeugt. Außerdem kommen noch
die Text Inhalte hinzu (siehe Datenbank).
Ein weiterer Grund für den Einsatz von PHP findet sich auch in dem Einsatz der Datenbank. Auch hier liegt es wieder an der Schule, wo ich lernte, mittels PHP Anfragen an die Datenbank zu schicken und in der Webseite darzustellen. So
lade ich mit PHP aus der Datenbank alle Texte und lesse sie in das Dokument packen. Damit ist es für den Browser ja bereits wieder klartext. Ein weiterer Vorteil ist, dass ich zum einen die HTML Codierung wegen Umlaute automatisch von
PHP Funktionen ersetzen lassen kann. Das ist sehr praktisch da ich in Deutsch die Inhalte verfassen kann (wo man sehr häufig zu HTML inkompartiblen Umlauten kommt) und in der Ausgabe, die der Browser bekommt, steht es in der HTML
Codierung. Zum anderen ist es sehr praktisch, da ich Texte die eigentlich auf anderen Seiten sind einfach Queerladen und mit einem Platzhalter ersetzen kann. Wenn ich einen Link einfügen will (wie auf dieser Seite), nutze ich im Text
ebenfals Platzhalter, die ich dann von PHP durch die Anchor Tags ersetzen lasse.
Die Idee eine Datenbank zu verwenden, kam mir erst später. Ich wollte wie oft in meinen Programmen auch hier auf der Webseite mindestens Deutsch und Englisch als Sprache anbieten. Doch über eine gute Technik zur Übersetzung
kam mir zunächst nicht.
Doch durch Praktische Erfahrungen durch das Arbeiten als Software Entwickler habe ich den Effekt bemerkt, solche variablen Inhalte einfach in einer Datenbank zu halten und somit den Inhalt sehr einfach ändern zu können, ohne das
ganz Anfassen zu müssen. So kam ich auf die Idee für die Übersetzung der Texte eine Datenbank zu entwickeln.
In der Datenbank werden die Seiten angelegt und die Menüs. Jeweils wird alles über Sprachen mit den Übersetzungen verknüpft. Auch die Texte aus Überschriften oder Absätzen werden in der Datenbank zwischen der
Seite und der Spache verknüpft. Auch die Einträge der Menüs ansich werden in der Datenbank organisiert. Das laden und platzieren überlasse ich dann PHP. Jede Seite wird nun in einer Sprache angefordert und lädt mit
dieser ihre Texte aus der Datenbank. So steht in den Dokumenten nicht der ganze Absatz in nur einer Sprache drin, sondern eine PHP Funktion, die an gleicher stelle den Absatz in der entsprechenden Sprache lädt und einfügt.
Entsprechende weitere Funktionen und möglichkeiten habe ich im PHP Abstatz ja geschrieben.
Die Texte werden wie dieser hier in einer eigenen Weboberfläche verfasst und wieder mit Hilfe von PHP in der Datenbank gespeichert. Über die Seite kann ich an allen Datensätzen jederzeit Änderungen vornehmen.
Da ich bei HTML bereits erwähnte, dass ich einen Testserver für die Webseite habe, habe ich natürlich auch eine Datenbank für die Testwebseite. Alles was ich hier in den Texten ändere, tue ich erstmal auf der
Datenbank für den Testserver ändern. So kann ich her erstmal prüfen, was ich gändert habe. Damit kann ich auch Schrittweise bei der Entwicklung neuer Seiten vorgehen. Wenn ich alles in den Produktivserver übernehmen
will, benutze ich von meinem Tool die Sync Funktion und kopiere alle Änderungen auf die Datenbank für den Produktivserver.