Related

Toolkits

Entwicklungswerkzeuge

Es hat zahllose Versuche gegeben, das Programmieren von HTML-Webseiten für den Webdesigner zu automatisieren, oder über grafische Werkzeuge auch für Laien verfügbar zu machen. NetObjects Fusion verfolgt z.B. den Ansatz, die HTML-Programmierung vor dem Anwender zu verbergen. Hier kann ein Anfänger mit wenig Einarbeitungszeit frei gestaltbare Seiten generieren und die gesamte Website als Projekt verwalten. Das sehr erfolgreiche Programm Adobe Dreamweaver versteht sich eher als komplexes Strukturierungs- und Rationalisierungs-Werkzeug für Profis. Der grafische Entwurfs-Ansatz hat sich in der Praxis nur selten bewährt, vor allem weil die Einbindung neuer Techniken in die Entwicklungswerkzeuge langwierig und aufwendig ist, zu wenig Kontrolle über den erzeugten HTML-Code besteht, und die leistungsfähigeren Entwicklungswerkzeuge inzwischen selbst so kompliziert geworden sind, dass man sich fragen muss, ob die benötigte Einarbeitungszeit nicht besser gleich in die Erlernung von HTML, CSS, Javascript und PHP investiert werden sollte.

Template-Systeme und Frameworks

Statt die Komplexität zu verbergen, kann man versuchen, vorinstallierte Server-Umgebungen zu verwenden, die das Programmieren auf einer höheren Abstraktionsebene erlauben. Ein Beispiel dafür ist CMS Made Simple / Smarty, mit dem diese Website geschrieben ist. Man behält dabei weitgehend die Kontrolle über den HTML-Code, kann auch zukünftige Erweiterungen leicht einbinden, benötigt aber zumindest bei der Ersteinrichtung und Gestaltung der Templates Programmierkenntnisse in allen beteiligten Sprachen. Weitere Vertreter dieser Gattung sind Ruby on Rails, jBoss, Symfony, CakePHP, CodeIgniter, Prado, TurboGears, Zope / Plone, J2EE und zahllose andere Produkte, mit teilweise völlig unterschiedlichem Schwerpunkt. Die meisten dieser Frameworks sind unter GPL lizensiert, also frei verwendbar.

CMS-Systeme, Frameworks, Foren

Ein ganz anderer Ansatz zur Automatisierung der Webseiten-Programmierung besteht in der Verwendung von Toolkits, in der die interaktive Funktionalität einer bestimmten Klasse von Web-Anwendungen bereits fertig vorprogrammiert ist. Das Aussehen der Anwendung kann meist durch Auswahl oder Modifikation eines "Themes" verändert werden, und vordefinierte Parameter gestatten die Anpassung des funktionalen Verhaltens. Dazu gehören Foren, die meist in PHP geschrieben sind (phpBB, SMF, vBulletin), Portale und Content Management Systeme (Joomla, typo3, CMSMS, Typolight, Drupal) oder Web-Shops. Auch wenn die grafische Anpassung meist noch einmaligen Programmieraufwand erfordert, haben solche Webseiten einen entscheidenden Vorteil: Ihre Erweiterung mit neuem Inhalt erfordert keinerlei Programmierung mehr, sie sind nach kurzer Einarbeitungszeit von Laien ohne Programmierkenntnisse zu pflegen, und zwar auch von beliebig vielen Benutzern gleichzeitig, was mit klassischer Webseitenprogrammierung nicht zu machen ist.

Zusammenfassung

Wer heute eine zukunftssichere Website erstellt, sollte weitgehend bei einfachem HTML bleiben und für die Formatierung CSS verwenden, ohne daraus jedoch ein Dogma zu machen. Klassische HTML-Frames sind zu vermeiden, weil sie nicht suchmaschinenfreundlich sind und das Ausdrucken behindern. Zur Animation der Menus oder sonstiger, rein optischer "Verbesserungen" ist Javascript akzeptabel, wenn die Website in allen Grundfunktionen auch bei abgeschaltetem Javascript benutzbar bleibt und alle Links reine HTML-Hyperlinks bleiben. Sind auf der Website Formulare oder dynamischer Content erforderlich, sollte auf dem Server PHP verwendet werden. Für einzelne Animationen auf der Website ist ein Flash-File sinnvoll, für alle weiteren Sprachen oder Plugins muss es absolut zwingende Gründe geben. Ist die Website nicht statisch, sondern muss laufend mit neuem Inhalt versehen werden, sollte ein Content Management System (CMS) vorgesehen werden. Soll die Website interaktive Funktionen bereitstellen, ist zu prüfen, ob dafür nicht fertige Web-Anwendungen eingesetzt und lediglich modifiziert werden. Das gilt insbesodere für Foren, Blogs oder Shopsysteme, die manchmal sogar modular in bestehende Webseiten eingebaut werden können.