00:00:00Notion, Miro, 그리고 개발 워크플로우의 절반을 오픈 소스 도구 하나로 대체한다고 상상해 보세요.
00:00:05문서와 아키텍처 다이어그램부터 작업 관리까지, 이 모든 게 하나의 무한한 캔버스에서 가능합니다.
00:00:10이것은 GitHub에서 엄청난 화제가 되고 있는 로컬 퍼스트 워크스페이스, Affine(어파인)입니다.
00:00:15완전한 오픈 소스이며, 로컬 퍼스트 방식이고, 셀프 호스팅도 가능하죠.
00:00:19설치 방법과 왜 많은 개발자가 이 도구에 열광하는지 보여드리겠습니다.
00:00:28Affine은 기본적으로 개발자를 위한 지식 운영 체제(Knowledge OS)입니다.
00:00:31대부분의 도구는 작업의 분리를 강요합니다.
00:00:34문서용 도구, 다이어그램용 도구, 기획용 도구가 다 따로 있죠.
00:00:37Affine은 이 모든 것을 하나로 통합합니다.
00:00:40풍부한 문서 편집, 관계형 데이터베이스, 그리고 무한한 화이트보드 캔버스를
00:00:44하나의 워크스페이스 안에서 모두 누릴 수 있습니다.
00:00:46그들은 이것을 “에지리스(edgeless) 모드”라고 부릅니다.
00:00:48이제 여러분이 실제로 궁금해하실 부분을 짚어보죠.
00:00:51앞서 말씀드렸듯이 Affine은 로컬 퍼스트 방식입니다.
00:00:53Y-Octo 기반의 CRDT 동기화와 OctoBase라는 Rust 백엔드를 사용합니다.
00:00:59즉, 오프라인에서 작업하다가 나중에 연결해도 충돌 없이,
00:01:03작업 내용을 잃어버릴 염려 없이 동기화할 수 있다는 뜻입니다.
00:01:04간단한 “Docker Compose up” 명령만으로 전체 스택을 실행할 수 있죠.
00:01:09또 다른 흥미로운 점은 Block Suite라는 에디터 프레임워크입니다.
00:01:13확장 가능한 블록 에디터로, 개발자가 웹 컴포넌트를 사용하여
00:01:17커스텀 블록과 플러그인을 직접 만들 수 있습니다.
00:01:18API 응답을 렌더링하는 블록이나 전용 다이어그램, 커스텀 데이터 뷰가 필요하다면
00:01:23Affine 내에서 직접 구축할 수 있습니다.
00:01:26일상적인 개발 업무를 위해 마크다운, 코드 블록, GitHub 임베드도 지원합니다.
00:01:30Figma 임베드는 물론, 아키텍처 다이어그램과 스티키 노트를
00:01:35즉시 칸반 보드나 데이터베이스로 전환할 수도 있습니다.
00:01:38최근 엄청난 인기에 힘입어 프로젝트가 매우 빠르게 발전하고 있으며,
00:01:43새로운 버전이 막 출시되었습니다.
00:01:44GitHub 스타가 63,000개가 넘었다는 사실이 많은 것을 대변해주죠.
00:01:47개발 워크플로우를 가속화하는 팁과 도구에 관심이 있다면
00:01:51Better Stack 채널을 구독해 주세요.
00:01:53자, 설명은 이쯤 하고요.
00:01:54얼마나 설정이 빠른지, 그리고 실제 워크플로우를 어떻게 사용하는지 보여드리겠습니다.
00:01:58레포를 클론하고 Docker 명령을 실행하면 바로 시작됩니다. 새 워크스페이스를 만들어 보죠.
00:02:04마크다운 블록으로 API 명세서를 뚝딱 만들고 코드 스니펫을 추가합니다.
00:02:10이제 페이지를 에지리스 모드로 전환하면, 문서가
00:02:15무한한 캔버스의 일부가 됩니다.
00:02:16이것만으로도 이미 충분히 멋지다고 생각합니다.
00:02:18하지만 여기서부터 더 흥미로워집니다.
00:02:21Miro 같은 별도의 화이트보드 앱을 켤 필요 없이,
00:02:25코드 바로 옆에서 아키텍처 스케치를 시작할 수 있습니다.
00:02:28여기에 API 게이트웨이를 놓고, 저기에 인증 서비스를 두고, 데이터베이스를
00:02:34저 멀리 배치할 수도 있죠.
00:02:35도형을 끌어다 놓고 화살표로 연결하고 위치를 옮기는 등,
00:02:40일반적인 화이트보드 도구에서 기대하는 흐름 그대로 사용 가능합니다.
00:02:42하지만 이제는 모든 것이 한곳에 있습니다.
00:02:43전부 Affine 안에 있죠.
00:02:45심지어 처음에 작성했던 실제 문서 바로 옆에 살아있습니다.
00:02:48따라서 명세서와 아키텍처 다이어그램이 항상 함께 유지됩니다.
00:02:52자, 이것도 한번 보세요.
00:02:54작업용 스티키 노트를 몇 개 붙인 뒤, 선택해서 데이터베이스로 변환할 수 있습니다.
00:02:59그러면 바로 칸반 보드가 됩니다.
00:03:00동일한 워크스페이스 안에 있으니 데이터를 내보내거나 앱을 바꿀 필요가 없습니다.
00:03:05다음으로 GitHub 이슈를 페이지에 직접 임베드하고,
00:03:11그 옆에 Figma 디자인을 바로 놓을 수도 있습니다.
00:03:12이제 문서, 아키텍처 다이어그램, 작업 리스트, 디자인 참고 자료가
00:03:17모두 한자리에 모이게 된 겁니다.
00:03:19오프라인에서도 작동하며, 원한다면 전체를 셀프 호스팅할 수도 있습니다.
00:03:23그렇다면 Affine은 우리가 쓰는 다른 도구들과 비교했을 때 어떤 위치일까요?
00:03:26가장 큰 경쟁자부터 살펴보죠.
00:03:27바로 Notion입니다.
00:03:29Notion은 세련됐지만 클라우드 전용이고 캔버스 기능이 제한적이며,
00:03:33데이터가 전적으로 그들의 서버에 저장됩니다.
00:03:37다음은 Obsidian 같은 도구인데, 로컬 마크다운 지식 베이스로는 훌륭합니다.
00:03:42하지만 다이어그램, 데이터베이스, 협업 기능이 필요하면
00:03:48결국 수많은 플러그인을 추가로 설치해야 하죠.
00:03:49Affine은 그런 기능 대부분을 이미 내장하고 있습니다.
00:03:53물론 Miro도 있죠.
00:03:54Miro는 정말 멋진 도구입니다, 그렇죠?
00:03:56하지만 시각적인 작업에만 특화된 화이트보드 도구입니다.
00:04:00그 안에서 구조화된 문서나 데이터베이스를 구축하기는 어렵습니다.
00:04:04그 외에도 AppFlowy나 Anytype 같은 유사한 도구들이 있지만,
00:04:09개발자 워크플로우 관점에서는 Affine의 캔버스 융합, Block Suite의 확장성,
00:04:15그리고 CRDT 동기화 기술이 확실히 앞서 있습니다.
00:04:17기술적인 차별화의 핵심은 바로 Block Suite에 있습니다.
00:04:21본질적으로 오픈 소스 기반의 Notion 스타일 에디터 프레임워크입니다.
00:04:25개발자들은 이를 포크해서 완전히 새로운 애플리케이션을 빌드할 수도 있죠.
00:04:29이미 커뮤니티 내에서 제3자 블록과 플러그인들이
00:04:33등장하기 시작했는데, 이는 아주 고무적인 현상입니다.
00:04:34이 프로젝트가 실제로 성장하고 있다는 증거니까요.
00:04:36많은 사람들이 이미 사용하고 있습니다.
00:04:38그럼 구체적으로 어떤 사람들이 Affine을 쓰고 있을까요?
00:04:42개발자, 아키텍트, 그리고 팀 단위 등 다양합니다.
00:04:46프론트엔드 엔지니어들은 이 도구가 매우 시각적이라 선호하는 듯합니다.
00:04:50정말 시각적인 도구니까요.
00:04:51비주얼을 중시하신다면 분명 좋아하실 겁니다.
00:04:52기술 및 시스템 아키텍트들은 한 페이지 안에서
00:04:56문서 작성과 아키텍처 설계를 동시에 할 수 있다는 점을 좋아합니다.
00:04:59실시간 협업 기능은 셀프 호스팅 인스턴스에서도 잘 작동합니다.
00:05:03이건 엄청난 장점이죠.
00:05:04특히 돋보이는 부분은 프라이버시입니다.
00:05:08보안이 중요한 독점 코드나 개인적인 자료를 저장할 때 말이죠.
00:05:11개인 정보 보호는 중요합니다.
00:05:12개인적인 자료를 남의 서버가 아닌 곳에 보관하고 싶으니까요.
00:05:15다음은 배포의 용이성입니다.
00:05:16공식 Docker Compose 설정이 제공됩니다.
00:05:18백엔드를 직접 띄워서 나만의 워크스페이스 플랫폼을 운영하는 거죠.
00:05:21마지막으로 개발 속도가 매우 빠릅니다.
00:05:25새로운 기능들이 빠르게 출시되고 있습니다.
00:05:26필요한 기능이 있다면 직접 기여할 수도 있고,
00:05:30Block Suite 위에 나만의 커스텀 블록을 직접 만들 수도 있습니다.
00:05:33계속 장점만 늘어놓은 것 같은데, 사실 모든 도구가 그렇듯
00:05:37이 정도 규모의 개발 도구에는 아쉬운 점도 있기 마련입니다.
00:05:41워크스페이스가 너무 커지면 가끔 버퍼링 문제가 발생할 수 있습니다.
00:05:45빠르게 개선되고는 있지만, 아직 Figma만큼 매끄럽지는 않습니다.
00:05:48즉, 퍼포먼스 측면에서
00:05:50아직 완벽하다고 할 수는 없습니다.
00:05:51괜찮은 수준이긴 합니다.
00:05:52나쁘지 않아요.
00:05:53하지만 아주 훌륭한 단계까지는 아닙니다.
00:05:54두 번째로, 데이터베이스 시스템은 탄탄하지만 아직 성장 중입니다.
00:05:57기본적인 테이블과 칸반 보드는 잘 작동하지만, 복잡한 관계 설정이나
00:06:03서브 태스크 기능은 아직 조금 부족합니다.
00:06:04이 부분은 곧 새로운 업데이트로 해결될 예정이라고 하네요.
00:06:06그리고 모바일 지원 문제입니다.
00:06:07현재는 태블릿이나 iPad의 브라우저에서 실행됩니다.
00:06:10생각보다 잘 작동하지만, 아직 완전한 네이티브 모바일 앱은 없습니다.
00:06:15마지막으로 셀프 호스팅 시 자잘한 문제가 있을 수 있습니다.
00:06:17이미지 프록시 설정이나 ARM 아키텍처 환경에서의 문제 등인데, 치명적인 건 아닙니다.
00:06:22다행히 문서화가 잘 되어 있고 관련 이슈들이 빠르게 처리되고 있습니다.
00:06:26솔직히 63,000개 이상의 스타를 받은 프로젝트답게, 이 정도 방대한 기능을
00:06:30이만큼 안정적으로 구현했다는 게 꽤 인상적입니다.
00:06:32자, 그래서 개발자로서 Affine을 쓸 가치가 있을까요?
00:06:36많은 분들에게 대답은 “예”가 될 것입니다.
00:06:39안 쓸 이유가 없죠.
00:06:40특히 데이터 소유권을 중요하게 생각하고 셀프 호스팅을 선호하신다면 말이죠.
00:06:44아키텍처 문서와 명세서를 자주 작성하시나요?
00:06:47아니면 직접 커스텀 기능을 확장해서 만들 수 있는
00:06:51워크스페이스를 원하시나요?
00:06:52Block Suite 하나만으로도 이 프로젝트는 살펴볼 가치가 충분합니다.
00:06:56다만 아주 뛰어난 UX가 필수적이거나 모바일 기기 의존도가
00:07:01매우 높은 워크플로우라면 아직은 완벽하지 않을 수 있습니다.
00:07:03이런 부분들을 잘 따져보시되, Affine이 현재 가장 흥미로운
00:07:08생산성 도구 중 하나임은 틀림없습니다.
00:07:10제 생각엔 개인 프로젝트에 먼저 써보시면, 결국
00:07:14팀 위키까지 이쪽으로 옮기게 될 가능성이 높습니다.
00:07:16Affine을 써보고 싶다면 설명란에 링크를 모두 걸어두었습니다.
00:07:18온라인 체험, 데스크톱 앱 다운로드, Docker 셀프 호스팅 모두 가능합니다.
00:07:23다 준비되어 있어요.
00:07:24워크플로우를 빠르게 해줄 오픈 소스와 AI 도구에 관심 있다면 구독 잊지 마세요.
00:07:29그럼 다음 영상에서 뵙겠습니다.