브라우저, Node.js, React Native, Electron에서 실행되며 자체 백엔드와 복제할 수 있는 JavaScript 앱용 로컬 우선 반응형 NoSQL 데이터베이스입니다.
- 스타
- 19,149
- 포크
- 1,241
- 열린 이슈
- 317
- 마지막 커밋
- 7일 전
어떤 프로젝트인가요?
GUN은 커뮤니티가 운영하는 암호화 애플리케이션을 만들기 위한 도구 생태계로, Firebase 같은 백엔드의 오픈 소스 대안입니다. 데이터를 문서, 테이블 및 기타 구조로 표현할 수 있는 키/값 노드의 그래프로 저장하며, 중앙 마스터 서버 없이 피어 간 변경 사항을 실시간으로 동기화합니다.
애플리케이션은 브라우저 또는 Node.js에서 실행되며, 라이브러리는 오프라인에서도 동작하고 기기가 다시 연결되면 업데이트를 병합합니다. 생태계에는 사용자 인증과 암호화를 위한 SEA, Docker, Heroku 또는 Linux 설치 스크립트로 배포할 수 있는 릴레이 피어, React, Vue, Svelte, Electron 등의 프레임워크용 바인딩과 예제가 포함됩니다.
이 프로젝트는 CRDT 기반 충돌 해결을 중심으로 설계되었으며, README에서는 핵심 라이브러리를 gzip 압축 시 약 9KB인 경량 임베디드 엔진으로 설명합니다.
핵심 기능
- 01클라이언트 간 실시간 피어 투 피어 상태 동기화를 지원합니다.
- 02키/값, 테이블, 문서를 지원하는 그래프 데이터 모델을 제공합니다.
- 03오프라인 우선으로 동작하며 다시 연결되면 자동으로 데이터를 병합합니다.
- 04SEA 모듈을 통해 종단 간 암호화와 사용자 인증을 제공합니다.
- 05Docker, Heroku 또는 Linux 설치 스크립트로 릴레이 피어를 배포할 수 있습니다.
활용 사례
- 오프라인에서도 계속 동작하는 협업 또는 멀티플레이어 웹 앱을 구축합니다.
- JavaScript로 서버리스 또는 분산형 백엔드를 프로토타이핑합니다.
- 개인용 또는 커뮤니티 앱을 위해 암호화된 사용자 소유 데이터 저장소를 만듭니다.
- 개발팀을 위해 자체 호스팅 릴레이 피어를 운영합니다.
빠른 시작
- 1
npm으로 패키지를 설치합니다
npm install gun - 2
패키지 폴더에서 포함된 예제를 실행합니다
cd node_modules/gun && npm start
사용 전 알아둘 점
- 라이선스가 NOASSERTION으로 표시되어 있으므로 사용하기 전에 저장소의 라이선스 조건을 확인하세요.
- README에 안정화 버전이 명시되어 있지 않으므로 버전 간 변경이 발생할 수 있습니다.
토픽
자주 묻는 질문
- gun은(는) 무엇인가요?
- 피어 간 동기화를 지원하는 분산형 오프라인 우선 앱을 만들기 위한 JavaScript 그래프 동기화 엔진 및 툴킷입니다. GUN은 커뮤니티가 운영하는 암호화 애플리케이션을 만들기 위한 도구 생태계로, Firebase 같은 백엔드의 오픈 소스 대안입니다. 데이터를 문서, 테이블 및 기타 구조로 표현할 수 있는 키/값 노드의 그래프로 저장하며, 중앙 마스터 서버 없이 피어 간 변경 사항을 실시간으로 동기화합니다.
- gun은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- gun은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- gun은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. gun의 마지막 커밋은 2026년 10월 15일입니다.
- gun은(는) 어디에 사용할 수 있나요?
- 오프라인에서도 계속 동작하는 협업 또는 멀티플레이어 웹 앱을 구축합니다. JavaScript로 서버리스 또는 분산형 백엔드를 프로토타이핑합니다. 개인용 또는 커뮤니티 앱을 위해 암호화된 사용자 소유 데이터 저장소를 만듭니다. 개발팀을 위해 자체 호스팅 릴레이 피어를 운영합니다.
- gun는 어떻게 설치하나요?
- npm으로 패키지를 설치합니다: npm install gun 패키지 폴더에서 포함된 예제를 실행합니다: cd node_modules/gun && npm start
- gun은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/amark/gun
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
자체 서버 없이 브라우저끼리 WebRTC로 P2P 연결하는 멀티플레이어 웹 앱용 JavaScript 라이브러리입니다.
Firebase의 대안으로, 인증, 자동 생성 API, 스토리지 및 실시간 기능을 제공하는 호스팅 Postgres 데이터베이스 기반 개발 플랫폼입니다.
다양한 SQL 및 NoSQL 데이터베이스를 지원하고 Active Record와 Data Mapper 패턴을 모두 사용할 수 있는 Node.js 및 기타 JS 플랫폼용 TypeScript·JavaScript ORM입니다.
문서, 그래프, 관계형, 시계열, 키-값 데이터를 실시간 쿼리 및 내장 접근 제어와 결합한 Rust 기반 멀티모델 데이터베이스입니다.
Node.js용 MongoDB 객체 모델링 라이브러리로, 비동기 애플리케이션에 스키마, 모델, 유효성 검사, 쿼리 헬퍼를 제공합니다.