Blog

project

작은 웹 도구를 브라우저 안에서 끝내는 이유

작은 웹 도구를 만들 때 서버를 붙이면 있어 보인다. 로그인, 저장, 히스토리, 공유 링크 같은 기능도 쉽게 떠오른다. 하지만 모든 도구에 서버가 필요한 건 아니다. 오히려 서버가 들어가면서 도구의 목적이 흐려지는 경우가 많다.

zozincanvas와 TEXT_TO_IMG는 브라우저 안에서 끝내는 쪽이 맞다. 사용자가 넣는 건 이미지나 문구다. 둘 다 개인 정보가 섞일 수 있다. 이 값을 서버로 보내지 않아도 기능을 만들 수 있다면, 굳이 보내지 않는 쪽이 단순하고 낫다.

브라우저 전용 도구의 장점은 입력과 결과가 바로 이어진다는 점이다. 이미지를 올리고 가린 뒤 다운로드한다. 문구를 입력하고 이미지로 저장한다. 이 사이에 계정을 만들거나 프로젝트를 저장하거나 서버 응답을 기다릴 필요가 없다.

운영도 가벼워진다. 정적 파일로 배포하면 서버 로그, 데이터베이스, 인증, 백업, 저장소 권한 같은 것들을 크게 신경 쓰지 않아도 된다. 개인 프로젝트로 오래 유지하려면 이 단순함이 꽤 중요하다. 기능보다 유지 가능성이 먼저일 때가 있다.

물론 한계도 있다. 여러 기기에서 같은 작업을 이어서 편집하거나, 팀원이 같은 템플릿을 공유하거나, 서버에서 대량 처리해야 한다면 브라우저 전용 구조는 부족하다. 그런 요구가 분명해졌을 때 서버를 붙이면 된다.

처음부터 모든 가능성을 열어두면 작은 도구가 금방 복잡해진다. 사용자가 실제로 필요한 건 대개 한두 단계다. 캡처를 가린다. 문구를 이미지로 만든다. 메뉴 후보를 하나 뽑는다. 이 정도 일은 서버 없이도 충분히 처리할 수 있다.

그래서 이 사이트의 프로젝트는 정적 도구를 먼저 본다. 서버를 안 쓰겠다는 고집이 아니라, 필요한 만큼만 만드는 방식이다. 기능이 작을수록 사용자는 빠르게 이해하고, 만든 사람은 오래 유지할 수 있다.