바닐라 JS로 1년간 음악학원용 복잡 웹앱 만든 개발자의 프레임워크 비판글, HN서 뜨거운 논쟁
- 개발자가 지난 1년간 instruxmusic.com이라는 음악학원용 웹앱을 프레임워크 없이 Vanilla JavaScript와 Web Components만으로 만들었다고 밝힘
- 이 앱은 수업 스케줄링, 자동 인보이싱, 영상채팅(메트로놈, 확대경 포함), 브랜드 페이지 빌더, 예약 시스템, 대시보드까지 갖춘 상당히 복잡한 서비스임
- 저자는 LinkedIn 기준 React가 프론트엔드 채용시장의 95% 이상을 차지한다고 추정하며 React, Angular, Vue, Svelte 4대 프레임워크가 모두 빌드 파이프라인과 TypeScript를 요구한다고 지적
- 저자는 Angular.js의 Miško Hevery가 대중화한 '리액티비티' 개념이 이후 세대 개발자들을 세뇌시켰다고 주장하며 프레임워크들이 직접 DOM 조작, 전역 상태 사용, import map 사용 등을 막는 '인위적 복잡성'을 만든다고 비판
- HN 댓글들은 저자의 문제의식엔 공감하나 결국 본인도 커스텀 프레임워크를 만든 셈이라는 지적과 프레임워크가 코드 일관성 및 팀 규모 확장에 기여한다는 반론이 다수 제기됨
Hacker News 의견들
프레임워크는 확장성과 구조를 주는데 그걸 원하는 게 아니라면 안 써도 되는 거 맞음. 근데 작가가 프레임워크 없이 짠 맞춤형 솔루션은 결국 미래 개발자들 위한 캔버스는 거의 비어있는 거임
까칠하게 말할 필요 없이도 같은 얘기 할 수 있음, 다들 선의로 일하는 사람들인데. 그리고 미니 솔루션 만드는 게 엔터프라이즈 멘탈로 접근하는 것보다 나을 때도 있음
웹 컴포넌트랑 바닐라 JS도 확장성 충분함, 나 이거 오래 해왔음
브라우저에서 타입스크립트 인터프리트해주는 use strict 같은 거 있었으면 좋겠다 싶은데
jsDoc으로 타입 다 잡을 수 있음, 빌드 스텝 없이도 타입스크립트 컴파일러가 체크해줌
LLM 뜨고 나서 JS 싫다는 글이 줄어든 거 같지 않냐, 근데 진짜 문제는 다들 자기 프레임워크 만들어서 사람들이 다른 걸 알게 되고 채용이 힘들어지는 거임
ES5 이후로 let/const, 모듈, async 이런 거 들어오면서 JS 자체가 훨씬 나아진 거고 프레임워크 churn도 최근 5년은 많이 줄었음
커스텀 문법 배워야 하는 프레임워크는 다 문제임, 브라우저 자체가 이미 강력한 프레임워크임
이거 완전 내 얘기다, 8개월간 프레임워크 없이 앱 만들었는데 결국 보일러플레이트가 하고싶은 거랑 안 맞아서 막힘. LLM이 API 정보 주고 코드 분석해주는 게 진짜 10x 기회고 프레임워크 필요성 점점 없어질 거라 봄
LLM은 비결정적이라 프레임워크가 주는 가드레일이 오히려 도움됨
클로드 4.6쓰면 리액트/타입스크립트 앱에도 잘 작동하던데
AngularJS 나오기 전부터 바닐라 JS 오래 썼던 사람인데 Vue는 복잡한 뷰에서 엄청난 편의성 줌. C 쓸 때 어셈블리 레지스터 직접 못 만지는 거 받아들이는 거처럼 DOM 직접 조작 못하는 것도 받아들일 수 있음
C가 어셈블리보다 나아진 건 복잡성을 진짜 추상화했기 때문인데, JS 프레임워크들은 복잡성을 없앤 게 아니라 새로운 복잡한 개념들을 잔뜩 들여온 거임
결국 이 사람도 자기만의 프레임워크 만들어놓고 프레임워크 반대하는 글 쓴 거라 요점이 이상함