최근 인터넷 상에서 CSS 레이아웃과 테이블 레이아웃에 대한 논쟁이 다시 불붙고 있습니다. 처음에는 상당히 불만족스러웠습니다. CSS 레이아웃의 의미가 사람들의 마음 속에 깊이 뿌리박혀 있다고 생각했지만, 그렇게 많은 디자이너와 개발자가 여전히 동의하지 않을 것이라고는 예상하지 못했습니다.
마음을 진정시키고 모든 사람의 토론을 지켜본 후, 곰곰이 생각해 본 결과 그 이유는 두 가지 측면에서 찾을 수 있다고 생각합니다.
따라서 우리는 CSS 레이아웃을 존경하지만 테이블의 우수성을 입증하기 위해 테이블 자체의 가치를 떨어뜨릴 필요는 없습니다. 일상적인 개발에서는 테이블을 완전히 버릴 필요가 없습니다. 테이블 자체에는 의미가 있으며, 개발 과정에서 데이터 테이블을 표시할 때 <table>을 사용해야 하며, 비용을 고려해야 하는 일부 상황에서는 테이블+CSS 레이아웃을 사용하는 것도 나쁘지 않습니다. 이런 점에서 저는 Google과 Facebook의 프론트엔드 엔지니어들의 실용적인 접근 방식을 존경합니다. Facebook에서 흔히 볼 수 있는 반투명 그림자가 있는 팝업 대화 상자는 <table>을 사용하여 만든 것으로, 이 역시 매우 정교합니다.
최근 몇 년간의 웹 표준 개발과 결합된 이 논쟁은 나에게 웹 개발에 있어서 개선과 개혁의 차이에 대해 생각하게 만들었습니다.
XHTML 2는 HTML과의 단절을 선언하면서 XML로 직접적으로 발전하려고 시도합니다. 이것은 전통적인 HTML 개발자인 나를 두렵게 만들곤 했습니다. 그리고 WHATWG 조직이 제안한 HTML5(결국 W3C에서 인정함)를 보았을 때 HTML5가 우리에게 더 가까워지고 있다는 사실도 입증되었습니다. Douglas Crockford는 HTML5가 너무 폭력적이라고 느껴 HTML 4.2에 대한 개선 계획을 제안하기도 했습니다.
JavaScript를 다시 살펴보면 ECMAScript 4는 JavaScript를 획기적으로 변화시켰습니다. 다행스럽게도 기술위원회는 최종 단계에서 이성을 되찾았으며 새로 제안된 이전 버전과 호환되는 ESMAScript 3.1은 실제로 최전선에서 싸우고 있는 더 많은 개발자들로부터 확실히 인정을 받았습니다.
피비린내 나는 개혁보다는 개선이 기술 발전을 촉진하는 더 실용적이고 합리적인 방법일 수 있습니다. 이는 웹 표준의 진화, 제품이나 프로젝트의 업그레이드, 심지어 사회 시스템의 구축에도 적용됩니다.