GN⁺: HTML 웹 컴포넌트
(blog.jim-nielsen.com)HTML 웹 컴포넌트의 이해
- 웹 컴포넌트는 리액트 컴포넌트와 다른 기능과 사용 형태를 우선시함.
- 웹 컴포넌트는 교체보다는 향상을 중시하는 설계를 가짐.
- 웹 컴포넌트는 자바스크립트 없이도 렌더링이 가능하며, 이는 리액트 컴포넌트와 차별화된 특징임.
웹에서의 증강의 승리
- 웹은 증강적 접근 방식을 장려하여 기존 기술을 향상시키고, 이는 웹의 회복력을 높임.
- 웹의 큰 변화는 점진적인 증강을 통해 이루어짐.
- XHTML,
XMLHttpRequest
, Sass, jQuery, 그리고 Typescript의 좋은 아이디어들이 웹 표준으로 통합되어 기존 기술을 향상시킴. - 웹 컴포넌트는 리액트의 컴포넌트 모델을 웹으로 가져오지만, 기존 웹 작동 방식을 향상시키는 방향으로 진행됨.
GN⁺의 의견
- 웹 컴포넌트는 기존 웹 기술을 대체하기보다는 향상시키는 방향으로 발전하고 있음이 중요함.
- 이 글은 웹 개발자들에게 웹 컴포넌트의 독특한 설계 철학과 장기적인 웹 기술의 발전 방향을 이해하는 데 흥미로울 수 있음.
Hacker News 의견
- 사용자 아바타에 대한 기능 설명이 부족함을 지적하며,
src
속성을 직접 사용하는 것이 더 효율적일 수 있음을 언급함. 프론트엔드 프레임워크가 HTML을 대체하기보다는 확장하는 것으로 보임. 웹 컴포넌트에 대한 실망감을 표현하며, 프레임워크가 제공하는 "배터리 포함" 접근법이 앱 개발에 더 유용함을 주장함. - 웹 컴포넌트에 대한 추가 정보를 제공하는 기사 링크를 공유함. 이들은 서버사이드 렌더링(SSR)을 통해 자바스크립트 실행 전에 렌더링이 가능하다는 점을 강조함.
- 프론트엔드 프레임워크 컴포넌트가 완전히 대체되지 않으며, 슬롯을 사용하여 쉽게 조합할 수 있음을 언급함. 반면, 웹 컴포넌트는 사용하기 어렵고 DOM API에 의존하게 됨을 비판함. XHTML이 실패한 이유는 HTML을 확장하지 않았기 때문이 아니라, 유효성 검사를 클라이언트 측에 두었기 때문임을 주장함.
- 웹 컴포넌트에 대한 긍정적인 경험을 공유하며, 복잡한 빌드 단계나 클라이언트사이드 라우터 없이 HTML/CSS를 주로 사용하는 접근법을 제시함.
- React가 HTML을 대체하기보다는 확장한다는 관점을 제시하며, 기본 브라우저 기능을 사용하는 경험을 공유함.
- 웹 컴포넌트가 단일 기능에 집중해야 하며, JS 프레임워크와 비교하여 전체 생태계를 제공한다는 점을 강조함. 자신의 비디오 플레이어 웹 컴포넌트 개발 경험을 공유함.
- 빌드 환경 없이 웹 컴포넌트를 사용하는 경험을 공유하며, HTML 모듈의 부재가 웹 컴포넌트의 발전을 저해하고 있음을 지적함.
- 웹 프로젝트의 장기적인 유지 관리와 의존성을 최소화하기 위해 기술적으로 HTML을 확장하고 강화하는 접근법을 선호함을 밝힘.
- 표준적인 웹 컴포넌트 사용 방식에 대한 예시를 제공하며,
is
속성을 사용하는 방법을 설명함.