GN⁺: Bruno - 빠르고 Git 친화적인 오픈소스 API 클라이언트(Postman 대체제)
(usebruno.com)- Postman, Insomnia 등 기존 도구들을 혁신하고자 하는 빠르고 Git 친화적인 오픈소스 API 클라이언트
- 사용자의 파일 시스템에 직접 폴더로 컬렉션을 저장하며, API 요청 정보를 저장하기 위해 Bru라는 일반 텍스트 마크업 언어를 사용
- Git이나 선택한 버전 관리 시스템을 사용하여 API 컬렉션을 협업할 수 있음
- 오프라인 전용이며, 클라우드 동기화 기능을 추가할 계획이 전혀 없음
- 데이터 프라이버시를 중시하며 사용자의 장치에 데이터가 머물러야 한다고 믿음
- 데스크탑 앱, CLI, VSCode 확장등에서 실행 가능
- Git 또는 선택한 버전 관리 시스템을 통해 협업할 수 있음
- 기능이 별도로 추가된 Golden Edition이 $19에서 $9에 사전 주문 가능
- 내장된 Bru 파일 탐색기
- Visual Git (VSCode용 GitLens 와 비슷)
- GRPC, Websocket, SocketIO, MQTT
- 컬렉션 실행을 위해 파일에서 데이터 로딩
- 성능/로드 테스팅
- 개발자 도구
- OpenAPI 디자이너
- 내장 터미널
- 커스텀 테마
GN⁺의 의견
- Bruno API 클라이언트는 개발자들에게 데이터 프라이버시를 중시하는 오프라인 환경에서 작업할 수 있는 새로운 대안을 제공함. 이는 특히 인터넷 연결이 불안정하거나 보안이 중요한 환경에서 유용할 수 있음.
- Git과의 통합은 버전 관리와 협업을 중시하는 현대 개발 문화에 잘 부합하며, API 컬렉션의 변경 사항을 추적하고 공유하는 데 도움이 될 것임.
- Bruno가 클라우드 동기화를 제공하지 않는 것은 일부 사용자에게는 단점이 될 수 있으나, 이는 동시에 데이터 보안과 프라이버시를 강화하는 장점으로 작용할 수 있음.
- Bruno와 유사한 기능을 제공하는 다른 오픈소스 프로젝트로는 Postwoman(Hoppscotch)이 있으며, 사용자들은 자신의 필요에 맞는 도구를 선택할 수 있음.
- Bruno를 도입하기 전에는 오프라인 작업 환경의 장단점을 고려하고, 현재 팀이 사용 중인 도구와의 호환성 및 전환 비용을 평가해야 함. Bruno의 선택은 개발 효율성 향상과 데이터 보안 강화라는 두 가지 주요 이점을 가져올 수 있음.
Hacker News 의견
- Postman이 로그인을 요구하자마자 삭제하고 텍스트 파일에서 curl을 사용하게 됨. 젊은 동료들은 여전히 Postman을 고수하고 있으나, 이 정보가 그들의 전환을 도울 수 있기를 바람.
- Bruno의 골든 복사본을 구매함. 이는 소프트웨어를 올바르게 하는 방법이며, Bru DSL과 git 기반 공유를 통한 "모든 것을 코드로" 모델 때문임.
- iPad Pro에서 키보드와 트랙패드를 사용하여 개발하며, Postman이나 Insomnia 대신 HTTPBot을 사용하는 것을 즐김. HTTPBot은 Postman 컬렉션과 환경을 지원하며, GraphQL, Websockets, 응답 메트릭스도 지원함.
- Git 친화적인 텍스트 형식으로 요청을 직렬화하는 아이디어를 매우 좋아함. Git 친화적인 텍스트 형식을 원한다면, 가능한 한 HTTP/1.1 요청 구문을 모방하는 것이 좋음. 메타데이터를 위한 Jekyll 스타일의 YAML front matter를 사용할 수도 있음.
- Postman이 클라우드 계정을 거부한 후 로컬 데이터를 삭제하자, 자체 도구 개발을 시작함. 파일 시스템을 권위 있는 소스로 취급하고, 로컬에서 실행하며, 소스 컨트롤을 통해 팀원들과 컬렉션을 공유함. Lua를 사용하여 필요한 도구를 제공하는 경량 스크립팅 계층을 추가함. 이를 통해 모든 API 테스트와 개발을 대체하고, 더 복잡한 마이그레이션과 대시보드 같은 작업을 수행함.
- Insomnia에 실망한 후 두 주 전에 Bruno를 발견하고 사랑에 빠짐. 처음 Postman과 Insomnia가 시작했을 때처럼 단순하고 명확함. 몇 가지 작은 기능이 누락되었지만 전반적으로 매우 추천함.
- Insomnia가 Postman 전략을 따르고 클라우드 우선으로 전환한 후, 업데이트 후 모든 로컬 프로젝트를 일시적으로 잃어버림. Bruno를 사용한 지 얼마 되지 않았지만, 오프라인 우선 및 git 협업 측면을 매우 좋아함. 현재는 Websockets 기능만 누락됨.
- 이러한 종류의 도구를 최대한 활용하는 데 도움이 되는 좋은 가이드를 아는 사람이 있는지 궁금함. 주로 Postman에 관심이 있으며, 요청을 만들고 컬렉션으로 정리하며 JWT 처리를 위한 변수를 사용하는 정도임. 이 도구들이 제공하는 것보다 더 많은 기능을 사용하고 있지 않음을 알고 있음.
- Postman은 VC 자금을 위해 자신을 팔아넘김으로써 스스로 무덤을 팜. ZIRP 이후 VC 자금 세계에서 우리가 지지해야 할 방향은 "파일 우선 앱" 철학임.
- Postman 서버를 호스트 파일에서 차단하고 여전히 오프라인/익명 모드를 허용하는 구버전을 실행함. 필요에 완벽하게 부합함.
- MacOS에 네이티브인 Paw를 사용하지만, SaaS 비즈니스에 의해 지원되고 있어 그 지속 가능성에 대해 약간 걱정함. 그러나 지금까지 개인 프로젝트의 API 문서화에 매우 유용함.