25P by xguru 16일전 | ★ favorite | 댓글 3개
  • 클라이언트 사이드 코드만으로 앱 전체 구축
    • 데이터베이스 배포, SQL 스키마 설계, 관계 설정 및 쿼리 작성이 필요 없음
    • TypeScript만 알면 Jazz를 이용해 앱 개발 및 배포 가능
  • 데이터는 먼저 로컬에 저장되고, 이후 서버로 동기화됨
    • 인터넷 연결이 불안정하거나 오프라인 상태에서도 원활히 작동하며, 연결이 복구되면 데이터가 자동 동기화됨
    • API 호출 없이 데이터 변경만으로 UI 즉각 반영
    • 동일 계정의 모든 기기가 항상 데이터 동기화 상태 유지
    • 간단히 데이터 공유만으로 멀티플레이어 환경 구축 가능. 사용자 존재감을 표현하는 UI(예: 커서 표시) 구현도 용이
  • 안전한 협업을 위한 역할 기반 권한 관리기능 내장
    • 데이터 생성 시 기본적으로 역할 기반 권한 설정
      • 권한 유형: 읽기(reader), 쓰기(writer), 관리자(admin)
    • Account 또는 Group을 통해 권한 관리
  • 앱에 필요한 기능들을 기본 내장
    • 파일 업로드
    • Progressive 이미지 로딩
    • Server Workers
    • 인증: Passkey(터치 ID, Face ID), Clerk, Auth0, Okta, NextAuth
    • Jazz Cloud : Jazz 앱을 수백만 사용자까지 확장 가능한 실시간 동기화 및 저장 인프라
  • 호환되는 스택 : Vanilla JS, React, React Native, Vue, Svelte, Node.js
    • Swift, Rust, Kotlin 추가 지원 예정
  • 곧 제공될 추가 기능들
    • 커서 및 캐럿 : 협업시 사용자 표시을 위한 UI 제공
      • 2D 캔버스 커서
      • 텍스트 캐럿
      • 요소 기반 포커스 표시
      • 스크롤 초과 상태 및 위치 도우미
    • 데이터베이스 양방향 동기화
      • 기존 앱에 Jazz 추가 가능:
      • Prisma, Drizzle, PostgreSQL 등 지원
    • 영상 및 음성 지원
      • 그룹 멤버 간 WebRTC 자동 연결
      • 음성/영상 스트리밍 및 녹화 기능 제공
    • CoPlainText 및 CoRichText
      • 협업용 일반 텍스트 및 리치 텍스트 지원
      • 대부분의 편집 충돌 방지
      • Markdown, HTML, JSX 등 다양한 형식으로 렌더링 가능

SuperSync 의 라이트 버전 같은 느낌이군요.
아직 유료 버전이 런칭도 안된 상태인데, 문제는 신뢰성일 것 같아요.
일단은 라이트하다는 건 좋아보이는데,
로컬 DB 를 신경쓸 필요 없다는 홍보가 좀 꺼림직합니다.
SQLite, IndexedDB 없이 Lo-Fi ?? 글쎄요...

Vanilla JS 지원 한다는데 Documentation은 없어요. React, Svelte 등을 변환해서 쓰는건가 싶어요.
복잡한 기능(실시간 채팅, 스트리밍)을 구현한 프레임워크인데 그만큼 복잡도가 높을겁니다. 커스터마이즈, 수정하기가 어려울거에요.
Local First 디자인은 마음에 듭니다.

Local-Fist -> Local-First