„Unobtrusive JavaScript“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
He3nry (Diskussion | Beiträge) -LA, siehe LD vom 13.9. |
K catfix |
||
(28 dazwischenliegende Versionen von 19 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Unobtrusive JavaScript''' (wörtl. ''unaufdringliches JavaScript'', auch: ''[[Barrierefreiheit|barrierefreies]] JavaScript'') ist |
'''Unobtrusive JavaScript''' (wörtl. ''unaufdringliches JavaScript'', auch: ''[[Barrierefreiheit|barrierefreies]] JavaScript'') ist eine bestimmten Prinzipien verpflichtete Form, wie [[JavaScript]] in [[Webseite]]n eingesetzt wird. Eine einheitliche Definition des Begriffs gibt es nicht und es handelt sich insbesondere nicht um eine offizielle Norm. |
||
JavaScript soll demnach nicht Voraussetzung für die Funktionen einer Webseite sein, sondern den Funktionsumfang nur erweitern. Die Ansätze des ''unobtrusive JavaScript'' spielen vor allem für [[Barrierefreies Internet|barrierefreies]] und [[mobiles Internet]] eine Rolle. |
|||
== Grundprinzipien == |
== Grundprinzipien == |
||
* |
* Abgrenzung von Inhalt, Präsentation und Verhalten von Webseiten ''([[Model View Controller]])''<ref>{{cite web |
||
|last=Keith |
|last=Keith |
||
|first=Jeremy |
|first=Jeremy |
||
Zeile 8: | Zeile 10: | ||
|date=2006-06-20 |
|date=2006-06-20 |
||
|url=http://www.alistapart.com/articles/behavioralseparation |
|url=http://www.alistapart.com/articles/behavioralseparation |
||
| |
|accessdate=2011-03-06 |
||
}}</ref> |
}}</ref> |
||
* Verwendung von ''Best |
* Verwendung von ''[[Best Practice]]s,'' um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden |
||
* JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung<ref>{{cite web |
* JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung<ref>{{cite web |
||
|last=Olsson |
|last=Olsson |
||
Zeile 21: | Zeile 23: | ||
== Motivation == |
== Motivation == |
||
⚫ | Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des [[Document Object Model|DOM]] in unterschiedlichen Browsern, sowie die weitläufige Verwendung von [[ |
||
⚫ | Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des [[Document Object Model|DOM]] in unterschiedlichen Browsern, sowie die weitläufige Verwendung von [[Kopieren und Einfügen|Copy-&-Paste]] bei der Programmentwicklung zurückzuführen. [[Laufzeitfehler]] waren dermaßen üblich und schwer auszubessern, dass viele Programmierer auf Verbesserungen verzichteten, solange das Skript ungefähr das gewünschte Verhalten aufwies. In manchen Browsern war ein solches Skript gänzlich nicht lauffähig. |
||
⚫ | |||
⚫ | Das Aufkommen von standardkompatiblen Browsern, [[JavaScript#JavaScript-Bibliotheken|JavaScript-Bibliotheken]] und besseren [[Debugger|Debugging-Werkzeugen]] machte organisierten und skalierbaren JavaScript-Code möglich und [[Ajax (Programmierung)|Ajax]]-basierte Benutzeroberflächen machten dies sogar notwendig. |
||
⚫ | Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. |
||
⚫ | Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. Laufzeitfehler sind damit keine Unschönheiten, sondern (unter Umständen fatale) Ausfälle. |
||
Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel ''Unobtrusive DHTML, and the power of unordered lists''<ref>{{cite web |
Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel ''Unobtrusive DHTML, and the power of unordered lists''<ref>{{cite web |
||
Zeile 31: | Zeile 34: | ||
|title=Unobtrusive DHTML, and the power of unordered lists |
|title=Unobtrusive DHTML, and the power of unordered lists |
||
|last=Langridge |
|last=Langridge |
||
|first=Stuart |
|first=Stuart |
||
|date=2002-11 |
|date=2002-11 |
||
|accessdate=2008-08-07 |
|accessdate=2008-08-07 |
||
Zeile 40: | Zeile 43: | ||
|accessdate=2010-05-18 |
|accessdate=2010-05-18 |
||
}}</ref> geprägt. In diesem Artikel erörtert Langridge das Konzept, JavaScript strikt von [[Hypertext Markup Language|HTML]] zu trennen. Seitdem hat er dieses Konzept in diversen Artikeln und einem Buch ausführlich dargestellt. |
}}</ref> geprägt. In diesem Artikel erörtert Langridge das Konzept, JavaScript strikt von [[Hypertext Markup Language|HTML]] zu trennen. Seitdem hat er dieses Konzept in diversen Artikeln und einem Buch ausführlich dargestellt. |
||
== Praktische Anwendung == |
|||
Das Konzept wird in [[ASP.NET]] mit MVC-Plugin 3 mittels [[Ajax (Programmierung)|Ajax]] unterstützt. <ref> Jon Galloway,Phil Haack,Brad Wilson,K. Scott Allen: Professional ASP.NET MVC 3, S. 9 [http://books.google.de/books?id=-wPm_QSj_H0C&pg=PA9&dq=%22Unobtrusive+JavaScript%22&hl=de&ei=JjdvTp-jFKmO4gTCoZmNCQ&sa=X&oi=book_result&ct=result&resnum=6&ved=0CEMQ6AEwBQ#v=onepage&q=%22Unobtrusive%20JavaScript%22&f=false Online] </ref><ref>http://www.asp.net/mvc/tutorials/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript</ref> |
|||
== Weblinks == |
== Weblinks == |
||
* [https://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScript The principles of unobtrusive JavaScript (EN)] auf den Seiten des [[World Wide Web Consortium]] |
|||
*[http://aktuell.de.selfhtml.org/weblog/javascript-einsatz Der sinnvolle Einsatz von JavaScript] (Artikel auf SelfHTML.org) |
|||
== Einzelnachweise == |
== Einzelnachweise == |
||
Zeile 51: | Zeile 51: | ||
[[Kategorie:JavaScript]] |
[[Kategorie:JavaScript]] |
||
[[ar:جافا سكريبت المخفية]] |
|||
[[en:Unobtrusive JavaScript]] |
|||
[[es:JavaScript no obstructivo]] |
|||
[[fr:Javascript discret]] |
|||
[[ru:Ненавязчивый JavaScript]] |
|||
[[zh:Unobtrusive JavaScript]] |
Aktuelle Version vom 11. Mai 2025, 19:58 Uhr
Unobtrusive JavaScript (wörtl. unaufdringliches JavaScript, auch: barrierefreies JavaScript) ist eine bestimmten Prinzipien verpflichtete Form, wie JavaScript in Webseiten eingesetzt wird. Eine einheitliche Definition des Begriffs gibt es nicht und es handelt sich insbesondere nicht um eine offizielle Norm.
JavaScript soll demnach nicht Voraussetzung für die Funktionen einer Webseite sein, sondern den Funktionsumfang nur erweitern. Die Ansätze des unobtrusive JavaScript spielen vor allem für barrierefreies und mobiles Internet eine Rolle.
Grundprinzipien
[Bearbeiten | Quelltext bearbeiten]- Abgrenzung von Inhalt, Präsentation und Verhalten von Webseiten (Model View Controller)[1]
- Verwendung von Best Practices, um Probleme herkömmlicher JavaScript-Programmierung zu vermeiden
- JavaScript als Erweiterung des Funktionsumfangs, nicht als Voraussetzung[2]
Motivation
[Bearbeiten | Quelltext bearbeiten]Historisch hatte JavaScript den Ruf einer plumpen, ungeschliffenen Programmiersprache, die für „ernsthafte“ Softwareentwicklung unbrauchbar sei. Dies ist hauptsächlich auf inkonsistente Implementierungen der Skriptumgebung und des DOM in unterschiedlichen Browsern, sowie die weitläufige Verwendung von Copy-&-Paste bei der Programmentwicklung zurückzuführen. Laufzeitfehler waren dermaßen üblich und schwer auszubessern, dass viele Programmierer auf Verbesserungen verzichteten, solange das Skript ungefähr das gewünschte Verhalten aufwies. In manchen Browsern war ein solches Skript gänzlich nicht lauffähig.
Das Aufkommen von standardkompatiblen Browsern, JavaScript-Bibliotheken und besseren Debugging-Werkzeugen machte organisierten und skalierbaren JavaScript-Code möglich und Ajax-basierte Benutzeroberflächen machten dies sogar notwendig.
Wo JavaScript früher nur für kleine, unkritische Aufgaben eingesetzt wurde, ist es nun Praxis, auch große, komplizierte Projekte zu realisieren, die oftmals Teil der Kernfunktionalität einer Webseite darstellen. Laufzeitfehler sind damit keine Unschönheiten, sondern (unter Umständen fatale) Ausfälle.
Das Konzept der Barrierefreiheit im Sinne von JavaScript-Programmierung ist von dem Artikel Unobtrusive DHTML, and the power of unordered lists[3] von Stuart Langridge[4] geprägt. In diesem Artikel erörtert Langridge das Konzept, JavaScript strikt von HTML zu trennen. Seitdem hat er dieses Konzept in diversen Artikeln und einem Buch ausführlich dargestellt.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- The principles of unobtrusive JavaScript (EN) auf den Seiten des World Wide Web Consortium
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Jeremy Keith: Behavioral Separation. 20. Juni 2006, abgerufen am 6. März 2011.
- ↑ Tommy Olsson: Graceful Degradation & Progressive Enhancement. 6. Februar 2007, abgerufen am 6. März 2011.
- ↑ Stuart Langridge: Unobtrusive DHTML, and the power of unordered lists. November 2002, abgerufen am 7. August 2008.
- ↑ Building dynamic websites. 9. August 2006, abgerufen am 18. Mai 2010.