Artikel suchen 

Artikel suchenFilter
Zukünftige Browser sollen durch einen Kompatibilitätsmodus sicherstellen, dass alte Websites auch mit neuen Browser-Versionen korrekt dargestellt werden.

Aaron Gustafson beschreibt in seinem Artikel Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 eine Möglichkeit, die weitgehend sicherstellen soll, dass heute entwickelte Websites auch in den Browsern von morgen noch korrekt dargestellt werden.

Das ist nicht selbstverständlich. Denn jede Browserversion behebt Fehler oder bringt neue mit sich. Viele Websites werden in neuen Browsern nicht mehr richtig dargestellt.

Das Version-Targeting soll das mit einem einfachen Prinzip verhindern: Man definiert in einem HTTP-Header oder einem äquivalenten meta-Tag die Browser-Versionen, mit denen man die Seite getestet hat. Z.B.:

<meta http-equiv="X-UA-Compatible" content="IE=7;FF=2;Opera=9;Safari=3" />

Wird die Seite nun mit einem neueren Browser (z.B. IE 8) angezeigt, so soll er in einen Kompatibilitätsmodus wechseln — sich also wie ein IE 7 verhalten. Es ist also sichergestellt, dass die Seite korrekt dargestellt wird, obwohl der neue Browser sie andernfalls möglicherweise falsch darstellen würde.

In der Praxis wird es wohl darauf hinauslaufen, dass nur der IE 8 (und aufwärts) dieses Feature unterstützt — andere Browserhersteller kümmern sich ohnehin nicht allzusehr um die Bugs in alten IE-Versionen (obwohl sie den Doctype-Switch alle implementieren). Man wird diesen Header also nur brauchen, wenn man explizit die Rendering-Engine des IE 8 nutzen will. Dann reicht folgende Zeile:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Diese "Rückwärtsorientierung" empfindet Eric Meyer in seiner Antwort auf Gustafsons Artikel zunächst als sehr negativ. Sie verführt dazu, browserspezifisch zu programmieren, anstatt sich auf Standards zu stützen, die hoffentlich auch in den Browsern von morgen funktionieren.

Allerdings stellt er auch fest, dass das Version-Targeting viele Vorteile mit sich bringt: Die Wartung von Websites wird wesentlich vereinfacht. Nur weil ein neuer Browser rauskommt, muss man nicht die gesamte Website prüfen und evtl. überarbeiten. Außerdem werden die Browser-Hersteller ermutigt, ihre Bugs zu beheben. Viele Bugs wurden im IE lange Zeit nicht behoben, weil sich die Darstellung vorhandener Websites sonst stark verändern würde.

Schlussfolgernd kann man also sagen, dass diese Technik durchaus erstrebenswert ist. Vermutlich wird sie zunächst im IE 8 implementiert, da sie durch eine Nachfrage des IE-8-Teams entwickelt wurde.

Erstellt am 22.01.2008 um 20:49 Uhr von streawkceur.
Abrufe: 2709 - Kommentare: 0 - Trackbacks: 0 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=57.
Tags: , , , , , , .  

Wer vor der Frage steht, ob er TurboGears oder Pylons nutzen will, bekommt bald eine interessante Antwort: Beides gleichzeitig.

Web-Frameworks in Python

Hurra! Ich habe in letzter Zeit ein wenig mit Python rumgespielt und mich da insbesondere für die Web-Frameworks interessiert.

!Die drei großen scheinen Django, TurboGears und Pylons zu sein.

Ich habe sie jeweils nur kurz ausprobiert. Hier meine Erfahrungen:

Django

Django

Django

Django hat für fast alle Aufgaben (Templating, ORM, Routing/Dispatch) eigene Komponenten entwickelt.

  • Pro: Fühlt sich sehr integriert und solide an.
  • Pro: Einheitliche Dokumentation an einem Ort.
  • Contra: Man muss auch jede Komponente neu lernen und wird sie kaum außerhalb Django nutzen können
  • Contra: Wenn einem eine Komponente nicht passt, hat man i.d.R. Pech gehabt.
  • Contra: Kleinere potenzielle Entwicklerschaft je Komponente.

TurboGears

TurboGears

TurboGears

TurboGears (TG) geht einen anderen Weg und versucht so viele Komponenten wie möglich wiederzuverwenden und zu integrieren. TG 1.0 benutzt standardmäßig Kid für's Templating, SQLObject als ORM und CherryPy fürs Routing/Dispatching. Man hat aber zusätzlich die Möglichkeit mit relativ wenig Aufwand andere Komponenten dafür zu nutzen.

  • Pro: Größere Flexibilität
  • Pro: Modularer Aufbau
  • Pro: Bringt viele nette Helfer mit (z.B. Datenbankeditor)
  • Contra: Fühlt sich weniger integriert an als Django
  • Contra: Größere Komplexität
  • Contra: Die in Version 1.0 standardmäßig verwendeten Komponenten sind nicht mehr State of the Art.

Pylons

Pylons

Pylons

Pylons geht den gleichen Weg wie TG, benutzt aber "modernere" Komponenten wie SQLAlchemy als ORM und Routes fürs Routing/Dispatching. Außerdem setzt es auf WSGI auf und hat somit eine solide Basis, die auch eine bessere Wiederverwendung von Anwendungsteilen ermöglichen soll.

  • Pro: Extrem modular
  • Pro: Nutzt moderne Komponenten
  • Pro: Setzt auf WSGI auf
  • Pro: Hat möglicherweise das größte Potenzial
  • Contra: Fühlt sich am wenigsten integriert an

Die gute Nachricht

Da ich kein Freund von monolithischen Systemen bin, war ich zwischen TG und Pylons hin- und hergerissen. TG fühlt sich etwas integrierter and und bringt mehr Goodies mit. Pylons ist hingegen moderner.

Diese Probleme scheinen sich aber bald zu lösen! Denn wie Mark Ramm in seinem Blog schreibt, wird TG 1.1 modernere Komponenten wie Genshi und SQLAlchemy nutzen. TG 2.0 wird sogar komplett auf Pylons aufsetzen und damit von dessen Vorteilen profitieren können.

Da freut man sich doch drauf :)

Erstellt am 28.06.2007 um 20:06 Uhr von streawkceur.
Abrufe: 14285 - Kommentare: 1 - Trackbacks: 0 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=41.
Tags: , , , , , , , , .  

Eine lustige und überzeugende Argumentation, warum Tabellenlayouts geschlachtet gehören.

Gerade eben wurde ich von Skube auf folgende Seite aufmerksam gemacht: Warum Layout mit Tabellen dumm ist: Probleme definiert, Lösungen angeboten.

Wer immer schon mal wissen wollte, warum er denn sein nächstes (Re)Design ohne Tabellen durchführen sollte, findet dort in amüsant präsentierter Form einige Argumente und Tipps für den Einstieg in das Webdesign mit Webstandards.

Erstellt am 14.02.2007 um 15:51 Uhr von streawkceur.
Abrufe: 1893 - Kommentare: 1 - Trackbacks: 0 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=20.
Tags: , , , , , , , , , .  

Mitmach-Unkonferenz zu Themen wie Web2.0, Open Source und Social Software.

BarCamp in Köln.

BarCamp in Köln.

Nach Palo Alto und Berlin jetzt auch in Köln!

Das BarCamp definiert sich selbst als:

eine Ad-hoc-Nicht-Konferenz (engl. Un-Conference), [..] eine intensive Veranstaltung mit Diskussionen, Präsentationen, und Interaktion der Teilnehmer untereinander.

Ferner:

Jeder, der etwas beizutragen hat oder etwas lernen will, ist willkommen und herzlich eingeladen mitzumachen.

Hört sich jedenfalls sehr vielversprechend an und ich denke/hoffe, auch teilnehmen zu können.

Darauf hingewiesen hat mich übrigens ein blog-Eintrag von teemow.

Erstellt am 25.10.2006 um 00:31 Uhr von streawkceur.
Abrufe: 3532 - Kommentare: 0 - Trackbacks: 0 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=9.
Tags: , , , , , , , , .  

Eine neue Version meines Web-Entwicklungs-Frameworks wurde veröffentlicht.

Konstrukt Framework

Konstrukt Framework

Diese Vorabversion kann im CPAN eingesehen und heruntergeladen werden.

Außerdem kann man es ganz einfach über die CPAN shell mit "cpan Konstrukt" installieren.

Weitere Informationen über das Framework finden sich in Deutsch in der Kurzbeschreibung des Frameworks auf dieser Website. Die vollständige englische Dokumentation kann man auf dieser Website oder im CPAN einsehen.

Schaut es euch an, probiert es aus! Über konstruktive Kritik freue ich mich!

Erstellt am 05.10.2006 um 16:09 Uhr von streawkceur.
Abrufe: 1351 - Kommentare: 0 - Trackbacks: 0 - Trackback-Link: http://gedankenkonstrukt.de/blog/trackback/?id=4.
Tags: , , , , , .  

Ältere BeiträgeÄltere Beiträge