비트윈 PC 버전 개발기
두줄요약
웹 기술과 CEF를 결합해 브라우저 엔진 내장형 PC 애플리케이션을 개발했습니다. 서버에는 WebSocket을 추가하고 React·Webpack으로 웹 앱 복잡도를 관리했습니다.
구조와 흐름
- HTML·JavaScript 웹 앱과 Chromium 브라우저 엔진·플랫폼 API 제공 셸의 이중 구조
- Thrift·Netty 기반 Alfred 서버 라이브러리에 WebSocket 지원 추가
- CEF Message Router 기반 렌더 프로세스 JavaScript와 브라우저 프로세스 C++ 간 비동기 통신
선택 이유
- 팀의 웹 기술 경험과 빠른 UI 이터레이션을 고려한 웹 기반 네이티브 애플리케이션 선택
- 브라우저 엔진 내장으로 브라우저 호환성 대응 축소 및 시스템 기능 확장
- 복잡한 UI 상태 관리와 컴포넌트 조합을 위한 React 채택
트레이드오프
- CEF 문서화 부족으로 소스 코드 분석 필요
- 일반 브라우저 API의 미지원·버그에 따른 대체 구현 부담
- CEF 노출 API 범위로 제한된 Chromium 플랫폼 추상화 레이어 활용
성능/운영 포인트
- CommonJS 모듈과 Webpack 기반 JavaScript·CSS·이미지·JSON 의존성 번들링
- JSX·LESS·미래 JavaScript 문법의 변환 파이프라인 구성
- Promise 기반 비동기 로직과 FormatJS 기반 국제화 처리


