최근 웹 환경에서 깃(Git) 저장소를 직접 제어할 수 있는 혁신적인 프로젝트 'zig-wasm-git'이 공개되어 주목받고 있습니다. 이 프로젝트는 파일 시스템(fs)이나 대규모 깃 라이브러리(libgit2) 없이도 웹어셈블리(WASM) 기반의 경량 클라이언트를 통해 HTTP 깃 프로토콜을 직접 구현합니다. 단 60KB에 불과한 작은 크기로 웹 브라우저, 클라우드플레어 워커(Cloudflare Workers), Node.js 등 다양한 자바스크립트(JavaScript) 런타임에서 깃 원격 저장소에 접근해 데이터를 읽고 쓸 수 있게 합니다.
'zig-wasm-git'은 순수 지그(Zig) 언어로 작성되었으며, SHA-1 해싱, Zlib 압축/압축 해제, 델타 인코딩/디코딩, 팩 파일 파싱, 그리고 전체 깃 스마트 HTTP 프로토콜을 외부 의존성 없이 모두 자체적으로 구현했습니다. 이 프로젝트는 개발 작업 공간(workdir)이나 병합(merge), 체크아웃(checkout) 기능 없이, 오직 원격 저장소를 버전 관리되는 데이터 저장소처럼 활용하는 데 초점을 맞춥니다. 즉, '읽기(read)', '쓰기(write)', '가져오기(fetch)', '푸시(push)'와 같은 핵심 기능만을 제공하여, 특정 브랜치를 하나의 키-값(key-value) 저장소처럼 다루고 커밋(commit)을 버전으로 관리하는 방식입니다.
이 기술은 웹 기반 애플리케이션 개발에 새로운 지평을 열 것으로 기대됩니다. 예를 들어, 웹 기반 코드 편집기나 문서 협업 도구에서 깃 기능을 직접 통합하여 사용자 경험을 개선할 수 있습니다. 또한, 클라우드 워커와 같은 서버리스(serverless) 환경에서 깃 저장소를 활용한 콘텐츠 배포나 자동화된 작업 처리에도 유용하게 사용될 수 있습니다. 경량화된 깃 클라이언트를 통해 개발자는 복잡한 백엔드 설정 없이도 웹 프런트엔드에서 직접 버전 관리 기능을 구현하여 개발 효율성을 높이고, 사용자에게 더 빠르고 유연한 서비스를 제공할 수 있게 될 것입니다.