GXSOFT
모든 노트
약 2분#Rust#Desktop#TasteDev

WebView 없는 데스크톱 도구를 만드는 이유

개발자용 데스크톱 도구를 만든다고 하면 요즘의 기본 선택지는 Electron이나 WebView 기반 프레임워크입니다. 웹 기술로 화면을 만들 수 있으니 빠르고, 크로스 플랫폼도 쉽습니다. TasteDev 제품군(TASTESSH, TASTEFTP, TASTEZIP, TASTEFILES, TASTECAD, TASTEMAIL)은 그 기본값을 따르지 않고 WebView 없이 Rust로 그린 네이티브 화면을 선택했습니다.

도구는 배경에 있어야 한다

SSH 클라이언트, FTP 클라이언트, 압축 도구는 하루에도 수십 번 열고 닫는 프로그램입니다. 이런 도구의 품질은 기능 목록이 아니라 다음 질문으로 결정됩니다.

  • 실행하는 데 얼마나 걸리는가
  • 떠 있는 동안 메모리를 얼마나 차지하는가
  • 키 입력에 얼마나 즉각적으로 반응하는가

브라우저 런타임을 통째로 실어 나르는 구조는 이 세 가지 모두에서 불리한 출발점에 섭니다. 도구가 작업의 주인공이 아니라 배경이 되려면, 가볍게 뜨고 조용히 있어야 합니다.

보안 기본값을 타협하지 않기 위해

TasteDev 제품들이 다루는 것은 서버 접속 정보, 파일, 메일 — 전부 민감한 자산입니다. 네이티브 구현을 선택하면 보안 기본값을 플랫폼과 가장 가까운 곳에서 정할 수 있습니다.

  • 엄격한 호스트 키 검증 — 처음 보는 서버 키는 명시적으로 신뢰하기 전까지 연결하지 않고, 저장된 키와 다르면 연결을 차단합니다.
  • 운영체제 자격 증명 저장소 — 비밀번호와 키 암호는 OS 키링에만 저장하고 설정 파일에 남기지 않습니다.
  • 원본 비파괴 — TASTECAD는 도면 원본을 건드리지 않고 열람합니다. 확인하는 도구가 데이터를 바꾸면 안 됩니다.

이 원칙들은 기능이 아니라 기본값입니다. 사용자가 설정을 찾아 들어가서 켜는 것이 아니라, 처음부터 그렇게 동작합니다.

웹이 더 잘하는 일은 웹에 남긴다

네이티브를 선택했다고 웹을 버린 것은 아닙니다. 제품 소개, 다운로드, 문서, 커뮤니티는 tastedev.net에서 Next.js 기반 웹으로 운영합니다. 릴리스 버전, 아티팩트 검증, 코드 서명 상태는 릴리스 계약(release contract)으로 관리되어 웹 사이트와 제품이 같은 릴리스 데이터를 바라봅니다.

도구는 네이티브로, 배포와 소통은 웹으로 — 각자가 잘하는 자리에 두는 것이 TasteDev의 구조입니다.

더 보기

제품군 전체의 구성과 기술 스택은 TasteDev 프로젝트 페이지에 정리되어 있습니다.

관련 프로젝트TasteDevSSH, FTP, Zip, Files, CAD, Mail 데스크톱 도구와 제품 사이트, 빌더 커뮤니티를 하나의 브랜드로 운영하는 개발자 도구 제품군입니다.