D3: Data-Driven Documents
Historic2011년 마이크 보스톡(Mike Bostock, 당시 스탠퍼드 소속, 이후 뉴욕타임스 소속)이 공개한 D3.js는 웹에서 데이터 시각화를 만드는 방식을 근본적으로 바꿔놓았습니다. D3는 미리 만들어진 차트 유형을 제공하는 대신, 데이터를 DOM 요소에 바인딩하고 데이터 기반 변환을 적용할 수 있는 저수준 프리미티브를 제공합니다.
D3.js, released in 2011 by Mike Bostock (then at Stanford, later at the New York Times), fundamentally changed how data visualization is created on the web. Rather than providing pre-built chart types, D3 provides low-level primitives for binding data to DOM elements and applying data-driven transformations.
핵심적인 혁신은 "enter-update-exit" 패턴(이후 "join" 패턴으로 단순화됨)이었습니다. 이는 데이터셋과 시각 요소를 동기화하는 선언적 방법입니다. 이 덕분에 데이터 상태 간의 매끄러운 애니메이션 전환이 가능해졌는데, 이는 이전의 어떤 웹 시각화 라이브러리도 우아하게 해내지 못했던 일이었습니다.
The key innovation was the "enter-update-exit" pattern (later simplified to the "join" pattern): a declarative way to synchronize a dataset with visual elements. This allowed smooth animated transitions between data states — something no previous web visualization library could do elegantly.
D3는 이전 도구로는 불가능했던 커스텀, 인터랙티브, 애니메이션 시각화의 폭발적 증가를 가능하게 했습니다. 블룸버그, 파이낸셜 타임스, BBC, 가디언을 비롯한 수백 개의 뉴스룸이 D3를 채택했습니다. Observable 플랫폼과 Observable Plot은 D3의 직계 후손이라 할 수 있습니다.
D3 enabled an explosion of custom, interactive, and animated visualizations that were impossible with earlier tools. Bloomberg, the Financial Times, the BBC, The Guardian, and hundreds of newsrooms adopted it. The Observable platform and Observable Plot are its direct descendants.