원문 캡처 · hypereffect.dev
원문 캡처 · hypereffect.dev

hypereffect는 서버가 화면 구성과 상태를 보내고, 각 플랫폼의 렌더러가 이를 자체 위젯으로 표시하는 하이퍼미디어 프로토콜이다. 텍스트·입력란·버튼·목록 중심의 간단한 인터페이스를 여러 환경에서 구현하려는 개발자를 대상으로 한다.

데모 체험하기에서 예시 인터페이스를 살펴보고, 프로토콜 명세를 확인할 수 있다. 렌더러는 세션을 시작할 때 서버에 hello를 보내고, 서버는 신호와 요소를 전달한다. 사용자의 동작은 클라이언트 상태를 바꾸거나 서버에 액션을 보내는 방식으로 처리한다. 서버는 요소를 추가·교체·삭제하거나 신호를 갱신할 수 있다. 전송 방식은 정해져 있지 않으며, 명세에는 자식 프로세스의 표준 입출력, 유닉스 소켓, 직렬 회선, SSE와 HTTP POST, iroh, WASM 모듈을 이용하는 방식이 제시돼 있다.

프로토콜은 18개의 고정 컴포넌트를 두며, 색상이나 여백 같은 스타일 대신 h2, warning 같은 의미 정보를 전달한다. 렌더러가 표시 방식을 정하고, 사용자 정의 컴포넌트나 스크립트는 지원하지 않는다. 제작자는 이런 제한이 렌더러 간 호환성을 위한 설계라고 설명한다. 다만 시각적으로 복잡하거나 상호작용이 많은 화면, 대시보드처럼 정보가 빽빽한 앱, 독립 실행형 앱에는 적합하지 않다고 명시한다.

제작자는 서버가 임의 코드를 렌더러에서 실행할 수 없어 안전성을 높이고, 의미 정보를 각 플랫폼 위젯에 연결해 접근성을 지원한다고 설명한다. 이는 프로젝트가 제시하는 설계상의 특성이며, 자료에는 독립적인 보안·접근성 검증 결과가 포함돼 있지 않다.