웹 개발에서 브라우저의 기본 기능, 즉 플랫폼 API를 활용하는 것이 직접 자바스크립트(JavaScript)로 기능을 구현하는 것보다 성능과 사용성 면에서 유리한 경우가 많습니다. 그럼에도 불구하고 많은 개발자가 플랫폼 활용을 꺼리고 자체 구현을 선호하는 현상이 지속되고 있습니다. 이는 단순히 기술적인 문제라기보다는 개발 문화와 경험, 심리적 요인이 복합적으로 작용한 결과로 분석됩니다.
개발자들이 플랫폼 활용을 주저하는 주요 원인으로는 과거 브라우저의 불균일한 지원 역사가 크게 작용했습니다. 과거 인터넷 익스플로러(IE) 6과 같은 구형 브라우저가 오랫동안 시장에 남아있어, 제이쿼리(jQuery) 같은 라이브러리가 브라우저 간의 기능 격차를 메우는 중요한 역할을 했습니다. 또한, 개발자들은 리액트(React) 컴포넌트나 엔피엠(npm) 패키지를 사용하는 데 익숙해져, 문제 해결 시 익숙한 라이브러리 생태계를 먼저 찾게 됩니다. 상세한 문서와 예제를 제공하는 라이브러리가 많아 학습 곡선이 낮은 것도 한몫합니다. 더 나아가, 일부 개발자에게는 직접 코드를 구현하는 과정 자체가 학습과 실험의 즐거움을 제공하며, 자신이 만든 코드에 애착을 느끼는 '이케아 효과(IKEA effect)'도 중요한 동기가 됩니다.
하지만 플랫폼에 대한 이해 부족은 비효율적인 결과를 낳을 수 있습니다. 예를 들어, 데이터베이스 시스템인 클릭하우스(ClickHouse)에서 이미 제공하는 데이터 압축 및 열 기반 저장 기능을 모르고 개발자가 자체적으로 압축 시스템을 만들거나 별도 키-값(Key-Value) 저장소를 사용하는 경우가 있었습니다. 이는 결국 기본 기능보다 느리고 복잡한 해결책이 되었는데, 웹 개발에서도 CSS로 간단히 해결할 수 있는 문제를 자바스크립트로 복잡하게 구현하는 유사한 사례가 많습니다. 인공지능(AI) 코딩 도구의 등장 또한 이러한 현상에 영향을 미칠 수 있습니다. AI가 적절한 플랫폼 API를 추천하여 효율성을 높일 수도 있지만, 반대로 불필요한 자체 구현을 늘리거나 중복 코드를 생성할 가능성도 제기되고 있습니다.
결론적으로 '플랫폼을 활용하라'는 권고는 하위 계층에 대한 깊은 이해를 통해 더 우아하고 효율적인 코드를 작성할 수 있다는 메시지를 담고 있습니다. 동시에 개발자들이 직접 코드를 만들며 느끼는 창작의 즐거움과 학습의 가치도 존중할 필요가 있습니다. 중요한 것은 플랫폼의 기능을 충분히 이해하고, 특정 상황에서 자체 구현이 정말 필요한지 신중하게 판단하는 균형 잡힌 접근 방식입니다. 브라우저와 라이브러리 생태계가 계속 발전하는 만큼, 이 두 가지 접근 방식 사이의 긴장은 앞으로도 웹 개발의 중요한 논점으로 남을 것입니다.