In letzter Zeit ist im Internet erneut die Debatte zwischen CSS-Layout und Tabellenlayout entbrannt. Anfangs war ich ziemlich unzufrieden: Ich dachte, die Bedeutung des CSS-Layouts sei tief in den Herzen der Menschen verankert, aber ich hätte nicht erwartet, dass so viele Designer und Entwickler immer noch anderer Meinung sind.
Nachdem ich mich beruhigt und die Diskussion aller beobachtet habe und sorgfältig darüber nachgedacht habe, habe ich das Gefühl, dass die Gründe zweierlei sein können:
- Einerseits sorgt die anhaltende Präsenz von IE6 dafür, dass die Kosten für die Webentwicklung hoch bleiben. Es gab einmal eine Statistik im Internet, und die Daten zeigten, dass das Input/Output-Verhältnis der Webentwickler für IE6 am niedrigsten war. Ich glaube, dass die meisten Front-End-Ingenieure die Erfahrung gemacht haben, von IE6 gefoltert zu werden. Anstatt das so umständliche CSS-Layout zu verwenden, ist es einfacher und bequemer, eine Tabelle zu verwenden.
- Andererseits stelle ich fest, dass Front-End-Ingenieure pragmatischer und effizienzorientierter werden. Viele neue Funktionen von CSS2 und CSS3 wurden nicht weit verbreitet, und die Vorteile von CSS, über die Verfechter von Webstandards sprechen, stoßen oft auf Kompromisse, wenn sie in die Realität umgesetzt werden. Obwohl ich mich immer für die Verbreitung von Webstandards eingesetzt habe, muss ich zustimmen: Die Browserkompatibilität der Tabelle ist die beste; das Tabellenlayout ist für Designer einfacher zu verwenden. Was das häusliche Umfeld betrifft, ist das Tischschneiden immer noch die gebräuchlichste Methode zum Erstellen von Portal-Website-Themen oder E-Commerce-Website-Werbeseiten, und seine Existenz hat seine Rationalität.
Obwohl wir das CSS-Layout bewundern, müssen wir die Tabelle selbst nicht abwerten, um ihre Überlegenheit zu beweisen. In der täglichen Entwicklung besteht keine Notwendigkeit, vollständig auf Tabellen zu verzichten. Die Tabelle selbst verfügt über eine Semantik, und
sollte beim Anzeigen von Datentabellen im Entwicklungsprozess verwendet werden. In einigen Situationen, in denen die Kosten abgewogen werden müssen, ist die Verwendung des Tabellen- und CSS-Layouts keine schlechte Idee. In dieser Hinsicht bewundere ich den pragmatischen Ansatz der Frontend-Ingenieure bei Google und Facebook. Sie können auf das häufig verwendete Popup-Dialogfeld mit durchscheinendem Schatten auf Facebook achten, das mit erstellt wird und ebenfalls sehr exquisit ist. Diese Debatte, kombiniert mit der Entwicklung von Webstandards in den letzten Jahren, ließ mich über den Unterschied zwischen Verbesserung und Reform in der Webentwicklung nachdenken.
XHTML 2 versucht, sich direkt zu XML zu entwickeln und kündigt damit einen Bruch mit HTML an. Das hat mir, einem traditionellen HTML-Entwickler, immer Angst gemacht. Und als ich sah, dass die WHATWG-Organisation HTML5 vorschlug (das schließlich vom W3C anerkannt wurde), fühlte ich mich durch die sanften Verbesserungen viel herzlicher. Fakten haben auch gezeigt, dass HTML5 näher an uns heranrückt. Douglas Crockford hielt HTML5 sogar für zu gewalttätig und schlug einen Verbesserungsplan für HTML 4.2 vor.
Wenn man sich JavaScript noch einmal ansieht, hat ECMAScript 4 JavaScript drastisch verändert. Glücklicherweise ist das technische Komitee in der Endphase zur Vernunft zurückgekehrt, und das neu vorgeschlagene abwärtskompatible ESMAScript 3.1 wurde offensichtlich von mehr Entwicklern erkannt, die tatsächlich an vorderster Front kämpfen.
Verbesserung statt blutiger Reformen könnte ein praktischerer und vernünftigerer Weg sein, die technologische Entwicklung voranzutreiben. Dies gilt für die Entwicklung von Webstandards, die Aktualisierung von Produkten oder Projekten und sogar für den Aufbau sozialer Systeme.
Originaltext: http://ued.taobao.com/blog/2009/06/24/web_dev_improve/