AI 요약
'JSON Formatter'의 개발자 Callum Locke는 더 포괄적인 프리미엄 기능을 갖춘 API 브라우징 도구를 구축하기 위해 기존 오픈 소스 프로젝트를 중단하고 폐쇄형 상업 모델로의 전환을 선언했습니다. 이에 따라 기존 GitHub 저장소는 아카이브(Archived) 처리되었으며, 소스 코드 변경 없이 로컬 중심의 단순한 기능을 원하는 사용자들을 위해 'JSON Formatter Classic' 버전을 크롬 웹 스토어에 별도로 출시했습니다. 이 확장 프로그램은 구문 강조, 다크 모드, 접이식 트리 구조 등 개발자에게 필수적인 시각화 기능을 제공하며, 특히 비 JSON 페이지 로딩 시 성능 영향이 1밀리초(ms) 미만일 정도로 최적화되어 있습니다. 또한 파싱된 데이터를 브라우저 콘솔에서 전역 변수 json으로 즉시 검사할 수 있는 편의 기능을 갖추고 있습니다.
핵심 인사이트
- 상업화 전환: 개발자 Callum Locke는 수익화를 통한 전문적인 도구 개발을 위해 오픈 소스 개발을 중단하고 상업용 모델로 전환함.
- 클래식 버전 배포: 업데이트를 원치 않는 오픈 소스 지지자들을 위해 'JSON Formatter Classic'을 출시하여 기존 기능을 유지할 수 있도록 조치함.
- JavaScript 기술적 한계: V8 엔진의 제한으로 인해
Number.MAX_SAFE_INTEGER(9,007,199,254,740,991)를 초과하는 숫자는 정확한 표시가 불가능하며, 부동 소수점은 16자리에서 반올림됨. - 성능 최적화: JSON이 포함되지 않은 일반 웹 페이지 탐색 시 브라우저 성능에 미치는 영향은 1ms 미만으로 극히 미미함.
주요 디테일
- JSON 탐지 로직: 기본적으로 'Content-Type' 헤더를 통해 판단하지만, 정확도를 높이기 위해 페이지 구조를 직접 검사하는 복합적인 방식을 사용함.
- 개발 환경: 해당 프로젝트는 패키지 매니저로
bun을 사용하며,bun run build명령을 통해 로컬에서 직접 빌드 및 설치가 가능함. - V8 엔진 정렬 방식: 객체의 키 순서는 JavaScript V8 엔진의 표준에 따라 숫자형 키가 최상단에 배치되는 등
Object.keys()의 처리 순서를 따름. - 데이터 접근성: 파싱 완료된 JSON 데이터는 전역 변수
json으로 내보내져 개발자 도구 콘솔에서 즉시 분석할 수 있음. - 주요 기능: 다크 모드, 인덴트 가이드가 포함된 접이식 트리, 클릭 가능한 URL 링크, 원본(Raw)과 파싱(Parsed) 데이터 간의 전환 버튼 제공.
향후 전망
- 업데이트 중단: 'JSON Formatter Classic'은 로컬 전용으로 더 이상의 기능 업데이트가 제공되지 않으므로 최신 브라우저 환경과의 호환성 문제가 발생할 수 있음.
- 유료 모델 시장 진입: 폐쇄형 소스로 전환된 새로운 API 브라우징 툴이 기존 무료 사용자층을 얼마나 유료 고객으로 전환할 수 있을지가 관건임.
- 보안 및 신뢰성: 소스 폐쇄에 따른 투명성 감소로 인해 보안에 민감한 개발자들 사이에서 오픈 소스 포크(Fork) 버전이나 대체 프로그램에 대한 수요가 증가할 것으로 예상됨.
출처:hackernews
