Ich lese gerne diverse Tutorials im Netz. Sie helfen beim Verständnis und Einstieg von komplizierten Techniken oder Anwendungen. Besonders Neulinge wagen mit Tutorials erste Schritte in eine neue Materie. Doch das ist gefährlich – denn die Schüler nehmen nicht selten alles für bare Münze, was dort steht. Und nicht immer ist in Tutorials alles richtig.
Als Beispiel für folgende Erläuterungen verwende ich diesen Artikel auf Nettuts+. Eins vorweg: Ich habe absolut nichts gegen Nettuts+, im Gegenteil: Viele Artikel haben auch mir weitergeholfen.
Die Idee für ein Tutorial mit diesen Themen (PHP, MySQL, jQuery, AJAX, JSON ist nicht verkehrt – aber den Anfängern werden hier veraltete Funktionen gelehrt und es wird kein Wert auf Barrierefreiheit gelegt.
Es gibt zwei Arten von falschen Lehrinhalten in Tutorials: Die, die auf gar keinen Fall weitergegeben werden dürfen (Veraltete, missbilligte Funktionen, Verzicht auf Anwendungssicherheit sowie der Verzicht auf Barierrefreiheit) und Inhalte, die an sich nicht falsch sind, aber umständlich. Zu letzterem gehört, dass beim Erstellen der Datenbanktabelle je eine Spalte für das Datum und für die Zeit der Eintragung angelegt wird. Das funktioniert, aber einfacher wäre eine Spalte des Datentypes DATETIME. Darüber kann man aber hinwegsehen, den Anfänger, die in das Thema hineinschnuppern, sind erst einmal nur auf die Funktionsweise bedacht, nicht auf Optimierung. Ein Tutorial ist auch nie perfekt, am Ende liegt es am Leser selbst, die für ihn relevanten Informationen aus dem Tutorial zu ziehen.
Viel schlimmer finde ich, dass bei dem oben genannten Tutorial (wieder einmal) alte mysql_*-Funktionen nähergebracht werden. Wie sollen PHP- und MySQL-Einsteiger je von PDO und mysqli erfahren, wenn in sämtlichen Tutorials nur veraltete (und selbst von PHP selbst nicht mehr empfohlene) mysql-Funktionen verwendet werden? Zumal Nettuts+ vor einiger Zeit einen brillianten Artikel über PDO schrieb mit dem Titel:
Why you Should be using PHP’s PDO for Database Access
(zu deutsch: “Warum du PHP’s PDO für Datenbankzugriffe verwenden solltest”)
Die Artikel stammen zwar von unterschiedlichen Autoren, aber trotzdem darf man doch annehmen dass die “Lehrer” auch voneinander lernen sollten, oder? Immerhin wurde an real_escape_string() gedacht (das bei der Nutzung von PDO aber gar nicht nötig wäre).
Der Leser freut sich hier sicher über moderne AJAX-Technologie in Verbindung mit JSON – aber es nützt dem Benutzer der Applikation nichts, wenn er JavaScript deaktiviert hat. Wenigstens ein Hinweis auf Barrierefreiheit hätte hier gut getan. Bei diesem Tutorial hätte man wunderschön demonstrieren können, wie wichtig es ist erst auf bewährte Techniken zu setzten und erst dann als “Sahnehäubchen” AJAX zu verwenden.
Ich könnte hier noch sehr viele Tutorials von vielen bekannten Seiten aufzählen, die nicht immer die richtigen Inhalte vermitteln – zum Glück sind nur wenige dabei, die das Thema Sicherheit vergessen haben.
Ich weiss, wie schwer es ist, ein Tutorial für ein kompliziertes Thema zu schreiben – aber trotzdem sollte das den “Lehrer” nicht dazu verführen, auf moderne Methoden, die weitere Erklärung benötigen, zu verzichten.



Der Titel des Artikels lautet: “Developing Sites with AJAX”. Das legt doch nahe, dass es hier nicht um Barrierefreiheit geht, oder?
Woher hast du den Titel “Developing Sites with AJAX” ? Auch wenn der Titel so lauten würde, so ist es ein Unding den Unbedarften lediglich eine AJAX-Only-Lösung anzubieten.
Hallo Daniel,
schöner Blog, gefällt mir :)
Meines Erachtens werden zum Beispiel bei PHP Tutorials die Gefahren komplett ausgelassen: Benutzereingaben oder Daten, die von außen kommen wie $_GET. XSS ebenfalls. Es fehlt meistens beim Leser an Hintergrundwissen, was überhaupt eine Gefahr darstellt und warum, dieses Halbwissen ist IMHO am gefährlichsten, weil es die Sicherheit des Sciptes/der Applikation gefährden kann. Und ein die(mysqli->connect_error()) ist ein klares NO GO.
Tutorials sollen ja eigentlich immer nur einen gewissen fall als Beispiel darstellen. Wenn man da schon mit Techniken wie PDO etc ankommt überfordert dies schon meist den Einsteiger.
Ich sehe eher das Problem, das es zuviele absolut veraltete Tutorials gibt. Aber wirklich Uralte. Es fehlt der Mülleimer fürs Internet. :)
7 Dinge, die professionellen Webdesignern nicht passieren dürfen « SHIFT Website Development Weblog
SHIFT Website Development Weblog