웹 개발 커뮤니티에서 오랫동안 '플랫폼을 활용하라(use the platform)'는 주장이 제기되어 왔습니다. 이는 자바스크립트로 직접 기능을 구현하기보다 브라우저가 기본 제공하는 웹 표준(Web Standards) 기능을 사용하라는 권고입니다. 브라우저 내장 기능은 성능과 접근성 면에서 직접 구현한 것보다 우수할 가능성이 높기 때문입니다. 하지만 많은 개발자가 여전히 외부 라이브러리나 직접 코드를 작성하는 방식을 선호하며, 이러한 경향의 배경에는 여러 복합적인 이유가 존재합니다.
개발자들이 플랫폼 활용을 꺼리는 가장 큰 이유는 역사적 맥락에서 찾을 수 있습니다. 과거에는 인터넷 익스플로러(IE6)와 같은 구형 브라우저의 호환성 문제로 인해 웹 표준 기능이 있어도 바로 사용하기 어려웠습니다. 이 때문에 jQuery 같은 라이브러리가 브라우저 간 격차를 메우는 중요한 역할을 했고, 개발자들은 익숙한 라이브러리 생태계에 의존하게 되었습니다. 또한, 리액트(React)와 같은 프레임워크(Framework)를 사용하는 개발자들은 JSX나 리액트 관용구에 익숙해져, 로우 레벨(low-level)의 DOM API를 직접 다루는 것을 불편하게 느끼는 경향이 있습니다. 가상 리스트(virtual list) 라이브러리처럼 성능을 위해 DOM API를 사용하더라도, 이를 더 높은 수준의 추상화된 형태로 제공하여 개발자들이 쉽게 접근하도록 돕는 경우가 많습니다.
문서화의 부족도 한몫했습니다. 과거에는 웹 플랫폼 문서가 블로그나 스택오버플로우(StackOverflow) 등에 흩어져 있었고, 오히려 jQuery 같은 유명 라이브러리 사용법을 권장하는 경우가 많았습니다. 반면, npm 패키지들은 상세한 README와 튜토리얼을 제공하여 개발자들이 쉽게 접근할 수 있었습니다. 하지만 이 모든 이유를 넘어, 일부 개발자들에게는 '직접 만드는 즐거움'이 가장 큰 동기가 됩니다. 모달(Modal) 대화상자를 예로 들면, 단순히 `<dialog>` 태그를 사용하는 대신 `position:absolute`, `z-index`, `overflow` 제어, 접근성(Accessibility)을 위한 포커스 트랩(focus trap) 등을 직접 구현하며 배우고 개선하는 과정에서 큰 재미를 느낍니다. 이러한 과정은 개발자의 학습과 성장을 촉진하고, 새로운 라이브러리나 도구의 탄생으로 이어지기도 합니다. 플랫폼의 부족한 부분을 직접 채우려 노력했던 경험이 오히려 웹 표준 전문가로 성장하는 계기가 되기도 합니다.