[Korean FE Article] 로컬 우선 소프트웨어가 있다면 어떨까요?
글 링크: https://bit.ly/iflocalf
소개
오프라인 상황에서도 앱이 작동할 수 있도록 만드는 방법에 대해 고민해보신 적이 있으신가요? 이번 글은 오프라인 상황에서도 작동하는 로컬 중심 소프트웨어가 가져야 할 이상적인 모습을 제시하고, CouchDB/PouchDB
, CRDT
, Web3
와 같은 기술적인 해결 방법들도 제시합니다. 저도 최근 비슷한 고민을 한 적이 있었는데, Service Worker
, PWA
, IndexedDB
와 같은 키워드들 사이에서 뚜렷한 해결책을 찾지 못했던 경험이 있습니다 🙂. 비슷한 고민을 하고 계시다면 읽어보기 좋은 글입니다. 로컬 우선 소프트웨어에 대해 조금 더 깊이 알고 싶은 분들은 이 글이 소개된 https://localfirstweb.dev/도 함께 참고해보세요!
목차
비전 뒤에 숨은 원칙
클라우드 앱은 실시간 협업과 원격 근무를 가능하게 했지만 여러 가지 불편함과 보안 위협도 존재합니다. “로컬 우선 소프트웨어”라는 개념은 원격 서버보다 로컬 스토리지와 로컬 네트워크를 우선합니다. 또한 “로컬 우선 소프트웨어”는 7가지 이상을 추구해야 합니다.
이를 가능하게 하는 기술
CouchDB/PouchDB
및 충돌 없는 복제 데이터 유형(CRDT
)과 같은 기술을 통해 문제를 해결해나갈 수 있습니다.CRDT
는 다중 사용자 업데이트를 허용하고 모든 통신 채널을 통해 데이터를 동기화할 수 있는 데이터 구조입니다. 실시간 협업에 사용할 수 있으며Git
과 같은 버전 관리 시스템과 유사합니다.
몇 가지 개념 증명
협업 칸반 보드, 협업 드로잉 앱 등을 통해 결론과 한계를 도출합니다.
미래를 내다보며
"로컬 우선 소프트웨어”가 사용자 경험, 보안 및 개인 정보 보호를 개선할 수 있으며,
Web3 서비스
,libp2p
, 와이파이 오프로딩 및 메시 네트워크와 같은 기술들을 사용하여 이를 달성할 수 있습니다.