핵심 요약
- 브라우저 기본 기능 대신 서드파티 라이브러리를 쓰거나 직접 구현하는 개발자들의 행동 원인을 역사적 배경, 익숙함, 그리고 '직접 만드는 재미' 측면에서 분석했습니다.
- 모달 태그 하나로 끝낼 수 있는 작업도 직접 z-index와 포커스 트랩을 구현하며 배우는 과정에서 오는 성취감과 이케아 효과(IKEA effect)가 큰 이유로 꼽힙니다.
- 글쓴이 본인도 과거 브라우저 저장소 라이브러리를 직접 개발하며 실력을 쌓아 W3C 표준 회의까지 참여하게 되었다며 바퀴의 재발명이 주는 긍정적 측면을 설명했습니다.
요약 웹 표준, 성능, 접근성을 중시하는 개발자들은 수년간 "브라우저 기본 기능(웹 플랫폼)을 활용하라(Use the platform)"고 강조해 왔습니다. 브라우저가 기본 제공하는 기능이 직접 만든 자바스크립트 구현체보다 성능이나 사용성 면에서 훨씬 우수하기 때문입니다. 하지만 현실에서는 여전히 많은 개발자가 기본 기능 대신 서드파티 라이브러리를 찾거나 직접 구현하는 길을 택합니다.
글쓴이는 개발자들이 왜 순수 플랫폼 기능을 꺼리는지 그 이유를 짚어봅니다. 첫째는 과거의 역사적 배경입니다. 오랫동안 브라우저는 생태계의 발전 속도를 따라잡지 못했고, IE6 같은 구형 브라우저 대응 문제로 인해 직접 구현하거나 jQuery 같은 라이브러리를 쓰는 것이 합리적인 선택이었습니다. 둘째는 익숙함과 문서화의 차이입니다. 리액트에 익숙한 개발자는 생(raw) DOM API보다 친숙한 컴포넌트나 npm 패키지를 먼저 검색하게 되며, MDN이 자리잡기 전까지 웹 표준 문서보다 친절한 예제와 튜토리얼을 갖춘 npm 라이브러리 문서가 훨씬 접근하기 쉬웠습니다.
하지만 글쓴이가 가장 주목한 이유는 바로 '직접 만드는 것 자체의 재미(IKEA 효과)'입니다. 예를 들어 모달 팝업을 만들 때, HTML 기본 `<dialog>` 태그를 쓰면 간단히 끝나지만, 개발자들은 직접 `position: absolute`, 스크롤 방지, 포커스 트랩, ESC 닫기 기능 등을 하나씩 구현하며 즐거움을 느낍니다. 글쓴이 본인 역시 과거 PouchDB 작업과 IndexedDB 도구를 직접 만들면서 웹 플랫폼을 깊이 이해하게 되었고, 마침내 W3C 표준 회의까지 참여하게 되었다고 회고합니다. 플랫폼 기본 기능이 모든 것을 해결해 주는 것보다, 직접 바퀴를 발명해 보는 과정이 때로는 개발자에게 가장 큰 배움과 동기부여가 된다는 점을 흥미롭게 짚고 있습니다.
Sponsored · 광고