개발자가 기본 플랫폼보다 자체 라이브러리를 선호하는 이유
Why don't more developers “use the platform”?
Hacker News개발자들이 웹 플랫폼의 기본 API 대신 npm 라이브러리를 선호하는 현상은 단순한 게으름이 아닌, 역사적 배경과 개발 과정에서 오는 심리적 요인이 복합적으로 작용한 결과입니다.
개발자들이 기본 플랫폼보다 라이브러리를 선호하는 현상은 단순히 게으름이 아니라, 과거 웹 환경의 한계와 개발 과정에서 오는 심리적 요인이 복합적으로 작용한 결과예요.
- 라이브러리는 플랫폼 API가 가진 불편함을 보완하는 '사용자 친화적인 계층' 역할을 하며, 직접 코드를 구축하며 느끼는 성취감(IKEA 효과)도 중요한 원인으로 작용합니다.
- 이 현상은 웹에만 국한되지 않으며, 인공지능(AI) 코딩의 발전은 플랫폼 지식을 활용하여 개발 방식을 근본적으로 변화시킬 잠재력을 가집니다.
- 다만, 라이브러리 사용이 항상 정답은 아니므로, CSS처럼 기반 기술 자체에 대한 깊은 이해와 AI가 과도하게 복잡한 코드를 생성할 위험성을 함께 고려해야 합니다.
웹 개발자들이 브라우저의 네이티브 대신 외부 라이브러리나 프레임워크 컴포넌트를 선호하는 현상은 역사적 배경과 밀접하게 관련되어 있습니다. 과거에는 웹 브라우저가 상위 생태계에 뒤처지는 경우가 많았고, 이로 인해 개발자들은 '불규칙한(lumpy)' 웹 환경에서 자체적인 해결책을 구축하는 것이 합리적이었습니다. 라이브러리는 종종 프레임워크의 사용 편의성과 기반 플랫폼 API 사이의 유용한 간극을 메우는 역할을 수행했습니다.
이러한 현상에는 심리적 요인도 작용합니다. 개발자에게 직접 코드를 구축하는 과정은 재미있고, 이 과정을 통해 깊이 있는 학습이 이루어지기 때문입니다. 예를 들어 모달 다이얼로그를 구현할 때 필요한 접근성(accessibility)이나 오버플로우 처리 등을 수동으로 이해하고 적용하면서 많은 것을 배웁니다. 실제로 현재 '플랫폼 사용'을 주장하는 전문가들 중 상당수는 과거에 플랫폼의 부족한 부분을 채우기 위해 폴리필이나 라이브러리를 작성했던 경험이 있습니다.
이러한 경향은 웹 개발에만 국한되지 않습니다. 예를 들어 데이터 분석 시스템에서 데이터를 저장할 때, 자체적으로 압축 및 구조화하는 방식이 플랫폼 자체가 제공하는 기능보다 복잡하거나 비효율적일 수 있습니다. 또한 인공지능(AI) 코딩의 발전과 관련하여, 은 정확한 플랫폼 API를 선택해 개발 경험을 개선할 수도 있지만, 기존에 존재하는 헬퍼 함수를 무시하고 과도하게 복잡한 커스텀 코드를 생성하는 위험성도 동시에 지니고 있습니다.
용어 풀이
- API
- 프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.
- LLM
- 방대한 글을 학습해 문장을 이해하고 만들어 내는 AI 모델. ChatGPT, Claude, Gemini가 여기에 속해요.
개발자들이 기본 API 대신 외부 라이브러리를 선호하게 된 역사적 배경이 있나요?
과거에는 웹 브라우저가 상위 생태계에 뒤처지는 경우가 많았어요. 이 때문에 개발자들은 '불규칙한' 웹 환경에서 자체적인 해결책을 구축하는 것이 합리적이었고, 라이브러리가 플랫폼 API와 프레임워크 사용 편의성 사이의 간극을 메우는 역할을 했답니다.
개발자가 직접 코드를 짜는 과정이 개발 방식에 어떤 영향을 주나요?
직접 코드를 구축하는 과정은 재미있고, 이 과정을 통해 깊이 있는 학습이 이루어지기 때문이에요. 예를 들어 모달 다이얼로그를 구현할 때 필요한 접근성이나 오버플로우 처리 등을 수동으로 이해하고 적용하면서 많은 것을 배울 수 있어요.
인공지능 코딩은 개발 방식을 어떻게 변화시킬 잠재력이 있나요?
대규모 언어 모델(LLM)은 정확한 플랫폼 API를 선택하여 개발 경험을 개선할 수 있는 잠재력을 가지고 있어요. 하지만 기존에 존재하는 헬퍼 함수를 무시하고 과도하게 복잡한 커스텀 코드를 생성하는 위험성도 동시에 지니고 있답니다.