최근 인터넷 상에서 CSS 레이아웃과 테이블 레이아웃에 대한 논쟁이 다시 불붙고 있습니다. 처음에는 상당히 불만족스러웠습니다. CSS 레이아웃의 의미가 사람들의 마음 속에 깊이 뿌리박혀 있다고 생각했지만, 그렇게 많은 디자이너와 개발자가 여전히 동의하지 않을 것이라고는 예상하지 못했습니다.
마음을 진정시키고 모든 사람의 토론을 지켜본 후, 곰곰이 생각해 본 결과 그 이유는 두 가지 측면에서 찾을 수 있다고 생각합니다.
- 한편으로는 IE6의 지속적인 존재로 인해 웹 개발 비용이 높게 유지됩니다. 한때 인터넷에 통계가 있었는데, 그 자료에 따르면 IE6에 대한 웹 개발자의 입출력 비율이 가장 낮았습니다. 나는 대부분의 프론트엔드 엔지니어들이 IE6 때문에 고문을 당한 경험이 있다고 믿는다. 너무 번거로운 CSS 레이아웃 대신 테이블을 사용하는 것이 더 쉽고 편리합니다.
- 반면에 프론트엔드 엔지니어들은 점점 더 실용적이고 효율성에 초점을 맞추고 있는 것 같습니다. CSS2와 CSS3의 많은 새로운 기능은 널리 대중화되지 않았으며, 웹 표준 전도사들이 이야기하는 CSS의 장점은 실제로 구현 시 타협에 직면하는 경우가 많습니다. 나는 항상 웹 표준을 전파하는 데 전념해 왔지만 이에 동의하지 않습니다. 테이블의 브라우저 호환성이 가장 좋으며 디자이너가 테이블 레이아웃을 사용하기가 더 쉽습니다. 국내 환경의 경우 테이블 커팅은 여전히 포털 사이트 주제나 전자상거래 사이트 프로모션 페이지를 만드는 가장 일반적인 방법이며 그 존재 자체가 합리성을 갖고 있습니다.
따라서 우리는 CSS 레이아웃을 존경하지만 테이블의 우수성을 입증하기 위해 테이블 자체의 가치를 떨어뜨릴 필요는 없습니다. 일상적인 개발에서는 테이블을 완전히 버릴 필요가 없습니다. 테이블 자체에는 의미가 있으며, 개발 과정에서 데이터 테이블을 표시할 때
을 사용해야 하며, 비용을 고려해야 하는 일부 상황에서는 테이블+CSS 레이아웃을 사용하는 것도 나쁘지 않습니다. 이런 점에서 저는 Google과 Facebook의 프론트엔드 엔지니어들의 실용적인 접근 방식을 존경합니다. Facebook에서 흔히 볼 수 있는 반투명 그림자가 있는 팝업 대화 상자는 을 사용하여 만든 것으로, 이 역시 매우 정교합니다. 최근 몇 년간의 웹 표준 개발과 결합된 이 논쟁은 나에게 웹 개발에 있어서 개선과 개혁의 차이에 대해 생각하게 만들었습니다.
XHTML 2는 HTML과의 단절을 선언하면서 XML로 직접적으로 발전하려고 시도합니다. 이것은 전통적인 HTML 개발자인 나를 두렵게 만들곤 했습니다. 그리고 WHATWG 조직이 제안한 HTML5(결국 W3C에서 인정함)를 보았을 때 HTML5가 우리에게 더 가까워지고 있다는 사실도 입증되었습니다. Douglas Crockford는 HTML5가 너무 폭력적이라고 느껴 HTML 4.2에 대한 개선 계획을 제안하기도 했습니다.
JavaScript를 다시 살펴보면 ECMAScript 4는 JavaScript를 획기적으로 변화시켰습니다. 다행스럽게도 기술위원회는 최종 단계에서 이성을 되찾았으며 새로 제안된 이전 버전과 호환되는 ESMAScript 3.1은 실제로 최전선에서 싸우고 있는 더 많은 개발자들로부터 확실히 인정을 받았습니다.
피비린내 나는 개혁보다는 개선이 기술 발전을 촉진하는 더 실용적이고 합리적인 방법일 수 있습니다. 이는 웹 표준의 진화, 제품이나 프로젝트의 업그레이드, 심지어 사회 시스템의 구축에도 적용됩니다.
원문: http://ued.taobao.com/blog/2009/06/24/web_dev_improve/