Brisa - 웹 플랫폼 프레임워크

5 hours ago 1

  • 각종 프레임워크의 좋은 부분을 가져와서 빠르고 간단하게 웹 앱을 만드는게 목표
    • JSX, TypeScript, 서버/웹 컴포넌트, Server Actions, SSR, 스트리밍, Suspense, Signals, 웹소켓, 미들웨어, 레이아웃,..
  • 매우 작음: 기본으로 0바이트(동적 서버렌더링 되는 JSX 컴포넌트로 기본적으로는 브라우저에 보내는 자바스크립트 없음)
    • 서버액션 사용시 2kb, 웹 컴포넌트 사용시 3kb
  • 풀 i18n 지원
  • Tauri와 연동되어 간단한 설정 변경으로 안드로이드, iOS, 데스크톱 용 앱 가능

Web Platform Framework의 의미

  • 서버와 클라이언트를 웹 플랫폼(Web Platform)으로 통합하려는 개념임
  • 서버에서 브라우저 이벤트(폼 전송, 클릭, Web Component 이벤트 등)를 직접 수신해 처리할 수 있게 하는 구조
  • HTTP를 통한 하이퍼미디어 스트리밍을 통해 탐색이나 서버 액션 요청 시, DOM 변경이 전송되어 클라이언트에서 즉각 반영됨
  • 웹의 고유 기능을 클라이언트와 서버 간에 원활히 사용하도록 돕는 플랫폼으로 설명 가능
  • Web Components와의 관계
    • Declarative Shadow DOM과 시그널(signals)을 통해 Web Components를 쉽게 사용 가능함
    • DOM 속성 업데이트, 시그널 반응 방식을 통해 클라이언트와 서버가 긴밀히 상호작용함
    • 꼭 Web Components를 사용하지 않아도 전통적 MPA와 유사한 방식으로 동작 가능함
    • 그러나 사용자 인터랙션이 클라이언트에서만 처리될 필요가 있을 때 Web Components로 대응할 수 있음
  • Brisa의 철학과 목표
    • 서버에서의 작업을 최소화하면서도, 필요한 경우 Web Components 같은 웹 네이티브 기능을 통합해 사용할 수 있도록 돕는 것을 지향함
    • 클라이언트 사이드 부담을 줄이고, 서버와 브라우저가 긴밀히 결합된 확장 가능한 앱을 구축하도록 안내함
    • 빠른 성능과 생산성을 위해 웹 표준 기술 활용을 중시하며, 개발자가 어떤 스택을 쓰든 간에 Brisa로 고급 인터랙티브 기능을 만들 수 있도록 돕는 비전을 갖춤

Read Entire Article