Недавно в Интернете снова возникли дебаты между макетом CSS и макетом таблицы. Поначалу я был весьма недоволен: я думал, что значение CSS-разметки глубоко укоренилось в сердцах людей, но я не ожидал, что так много дизайнеров и разработчиков все еще не согласны с этим.
Успокоившись и понаблюдав за обсуждением каждого, хорошенько поразмыслив, я чувствую, что причины могут быть с двух сторон:
Поэтому, хотя мы и восхищаемся CSS-разметкой, нам не нужно обесценивать саму таблицу, чтобы доказать ее превосходство. В повседневной разработке нет необходимости радикально отказываться от таблиц полностью. Сама таблица имеет семантику, и <table> следует использовать при отображении таблиц данных. В процессе разработки неплохо использовать макет table+css в некоторых ситуациях, когда необходимо взвесить стоимость. В этом отношении я восхищаюсь прагматичным подходом фронтенд-инженеров Google и Facebook. Вы можете обратить внимание на обычное всплывающее диалоговое окно с полупрозрачной тенью на Facebook, которое сделано с помощью <table>, что тоже очень изысканно.
Эти дебаты в сочетании с развитием веб-стандартов в последние годы заставили меня задуматься о разнице между улучшением и реформой в веб-разработке.
XHTML 2 пытается развиваться непосредственно в XML, объявляя о разрыве с HTML. Меня, традиционного HTML-разработчика, это пугало. И когда я увидел, что организация WHATWG предложила HTML5 (который в конечном итоге был признан W3C), его небольшие улучшения заставили меня почувствовать себя гораздо более радушным. Факты также доказали, что HTML5 становится ближе к нам. Дуглас Крокфорд даже посчитал, что HTML5 слишком жесток, и предложил план улучшения HTML 4.2.
Если снова взглянуть на JavaScript, ECMAScript 4 радикально изменил JavaScript. К счастью, технический комитет вернулся к здравому смыслу на заключительном этапе, и недавно предложенный обратно совместимый ESMAScript 3.1, очевидно, был признан большим количеством разработчиков, которые действительно сражаются на передовой.
Улучшения, а не кровавые реформы, могут быть более практичным и разумным способом содействия технологическому развитию. Это справедливо для эволюции веб-стандартов, обновления продуктов или проектов и даже для построения социальных систем.
Исходный текст: http://ued.taobao.com/blog/2009/06/24/web_dev_improve/