CrownyBrowser 통합 종합 — 4색 런처·앱생태계·네비·Windows·경쟁비교·로드맵
날짜: 2026-06-28
대상: /Users/ef/CrownyBrowser (데일리드라이버, macOS WebKit 래퍼 + crowny://app 네이티브 앱탭)
개요
5개 병렬 작업(A~F)을 하나로 통합·검증했다. 핵심: 런처를 4색 카드로,
앱을 8개로 확장, 앱탭 네비게이션 히스토리(뒤로/앞으로) 결선, Windows 빌드 점검,
그리고 5대 브라우저 대비 포지셔닝 + 기능 갭 로드맵까지 정리.
- 빌드:
make CrownyBrowser 클린 리빌드 무경고, 232KB, 회귀 0
- 앱: 5개 → 9개(런처 + 메모·계산기·시계·할일 + 신규 북마크·설정·파일·날씨)
- 네비: 앱탭 화면스택 back/fwd 동작 검증(런처↔앱↔상세 뒤로)
1. 통합 작동표 (검증 완료)
| 항목 | 상태 | 근거 |
|---|
| 클린 빌드(make) 회귀0 | ✅ | rm CrownyBrowser && make 무경고, 232KB |
| 4색 런처(8앱) | ✅ | /tmp/통합1_런처_view.png — 메모=하늘/계산기=코랄/시계=네이비/할일=에메랄드, 기타=딥인디고 |
| 신규 앱 동작(날씨) | ✅ | /tmp/통합2_날씨_view.png — 부산 날씨+5일예보+도시버튼 렌더 |
| 신규 앱 동작(계산기) | ✅ | /tmp/통합3_계산기_view.png |
| 앱 네비 back | ✅ | 계산기(back2)→back→날씨(back1 fwd1), /tmp/통합4_back_view.png |
| 앱 네비 detail back | ✅ | 메모(back2)→상세(back3)→back→목록(back2 fwd1), /tmp/통합5_메모상세_view.png·통합6_메모목록_view.png |
| 무크래시 | ✅ | 13단계 autonav 시퀀스 완주, 크래시 0 |
네비 히스토리 정확 추적(런처0→날씨1→계산기2→back→날씨1/fwd1; 메모2→상세3→back→목록2/fwd1).
스크린샷 (검증용)
/tmp/통합1_런처_view.png — 4색 런처(8앱)
/tmp/통합2_날씨_view.png — 신규 날씨앱
/tmp/통합3_계산기_view.png — 계산기
/tmp/통합4_back_view.png — 뒤로 결과(날씨)
/tmp/통합5_메모상세_view.png / /tmp/통합6_메모목록_view.png — 메모 상세↔목록 back
2. 작업별 산출 요약
A — 런처 4색 + 앱 네비 히스토리 (native/crowny-browser.m, .m 전부 소유)
launcherAccentForApp() 매핑 테이블(.m 내 SSOT, PSV 컬럼 의존성 무변경)
drawRect 런처모드 앱별 액센트 카드(r14 라운드 + 액센트 스트로크)
CrownyTab.appBackStack/appFwdStack, 토큰 crowny://app/<svc>[#상세:N]
loadNativeAppURL 재작성: 프래그먼트 파싱 + 전진만 기록(_suppressAppHistory)
- 메모 화면상태 파일전달(
/tmp/앱상태.psv, 한글값=파일 → VM함정⑨ NFD 회피)
goBack/goForward/chromeCanGoBack(Forward) 앱탭 분기, 검증 하니스 CROWNY_AUTONAV
B — 네이티브 한선씨 앱 4종 추가
src/{북마크,설정,파일,날씨}앱.한선 컴파일(338~368KB)
native/{북마크,설정,파일,날씨}{렌더,액션}.sh (실행권한)
src/앱목록.psv 5→9행
- 액션 검증: 북마크추가→PSV 8줄 / 설정토글 / 파일상위이동 / 날씨도시:부산 교체
D — Windows 빌드 점검 (native/win/)
- Mac 단위검증:
test_win.c 티어 14/14 + test_app_view_win.c PPM 27/27 PASS
- 버그 2건 수정:
crowny_browser_win.c CP_ACP→CP_UTF8 / crowny_tier_win.c wcsncat(31)→_snwprintf_s
- 신규
ci-windows.bat(CI-0~4 파이프라인)
- 실기 선행: x64 VS2022 cl, NuGet WebView2, crownyc.exe+hanseonc_high.exe(Windows 빌드), python3, bundle\ 복사
3. 경쟁 비교 종합 (5대 브라우저 + CrownyBrowser)
용량 (설치 크기)
| 브라우저 | 설치 | 비고 |
|---|
| CrownyBrowser | 232KB 바이너리, ~1MB 미만 | 독자 엔진 번들 0, 시스템 WebKit 차용 |
| Safari | 시스템 내장 | WebKit OS 동봉 |
| Firefox | ~250-300MB | |
| Brave | ~300-400MB | Chromium |
| Edge | ~350-450MB | Chromium |
| Chrome | ~500MB~ (실사용 2-24GB+) | 구버전·캐시 누적 |
RAM (10탭 전후, 공개 측정)
Safari ~1.5GB < Brave 787MB < Edge 861MB < Firefox 1031MB < Chrome 3GB+.
CrownyBrowser는 공식 측정 없음 — 웹탭=WKWebView 공유풀(Safari급 추정), 앱탭=직접렌더(저메모리).
속도
- JS 벤치(Speedometer 3.1): Chrome 49.0 ≥ Edge 48.5 ≥ Brave 46.2 ≥ Safari 45.5 ≥ Firefox 38.2.
CrownyBrowser 웹탭=Safari Nitro 동급, 앱탭=JS 미사용(.toau 직접실행).
- 콜드스타트: CrownyBrowser ~0.2-0.5s 추정(232KB+시스템 WebKit 캐시) vs Firefox 1.4s/Safari 1.5-1.8s/Chrome 1.8s.
- 앱탭 렌더(한선씨 PPM 직접): 0.8-1.8s(경량앱 하한, 목록드로우 상한).
안정성 (정직 평가)
Chrome/Safari/Firefox/Edge/Brave = 멀티프로세스 샌드박스·CVE 패치 체계 성숙.
CrownyBrowser = 신생, 크래시가드는 있으나 샌드박스·메모리보호·CVE 패치 체계 미보유 — 명확 열위.
포지셔닝 요약
- 이긴다: 설치용량(1000배), 콜드스타트, 전용 앱생태계(crowny://app), 3진 네이티브(ISA729/TOAU), 두벌식 IME 내장, 0 텔레메트리, 저대역 적합
- 진다: 웹 호환성 기여(웹탭=사실상 Safari), 확장 생태계 부재, 보안 성숙도, 모바일 미지원
- 결론: "크라우니OS 전용 경량 런타임". 범용 5대 대체 권장 단계 아님, 저대역/전용기기/크라우니 데일리드라이버에서 정당.
4. 기능 갭 + 우선순위 로드맵
보유 현황 (필수 확장기능)
보유9(탭·북마크·방문기록·주소창·시작페이지/테마·7티어게이트 등) / 부분4(PDF·동기화·방문기록검색) / 미보유8 / 대체1(crowny://app).
즉시 체감 갭 = 찾기·줌·다운로드매니저·시크릿모드.웹 호환 (2엔진)
WebKit 경로(웹탭): HTML5/CSS3/ES2023/WASM/WebRTC/미디어 ✅ 완비.
한선씨 순수엔진(전용 경량): JS 미실행(정적렌더, 의도된 한계), CIF폰트 고유 ✅.
로드맵
| 우선 | 기능 | 난이도 | 크라우니식 접근 |
|---|
| P1 | 찾기(⌘F) | 낮음 | WKWebView findString + 크롬 검색바, 기본 ON |
| P1 | 줌 | 낮음 | pageZoom/magnification + ⌘+/-/0 |
| P1 | 다운로드 매니저 | 중간 | WKDownloadDelegate → crowny://app/다운로드 앱탭, 셀DB 영속 |
| P1 | 시크릿 모드 | 낮음 | nonPersistentDataStore 새창, ⌘⇧N |
| P2 | 광고차단 | 중간 | WKContentRuleList+라이트모드 연계, 차단룰.psv SSOT(3진 허용/차단/모름) |
| P2 | 비밀번호 관리자 | 중간 | 셀코어 볼트 + 7티어 게이트, celdb 암호화 |
| P2 | 방문기록 검색 | 낮음 | History 창 검색필드(셀DB 필터) + 주소창 자동완성 |
| P3 | 번역 | 높음 | 한선씨 SLM/크라우니 백엔드(외부의존 회피) |
| P3 | 동기화 | 중간 | 북마크/히스토리 celdb → 멤버계정 셀저장소, 티어기반 |
| P3 | PDF 뷰어 | 중간 | 1차 WebKit 내장, 추후 한선씨 PDF→PPM |
| P4 | 개발자도구 | 낮음 | _developerExtrasEnabled(티어5+ 한정) |
| P4 | 확장 API | 높음 | 표준 미채택, crowny://app 생태계 + 앱목록.psv 등록규약 갈음 |
권장 착수: P1 4종(찾기·줌·다운로드·시크릿) = 사용성 갭 80%를 저난이도로 해소.
이후 P2 광고차단·비번관리가 "크라우니다움"(프로토콜 차등·티어·셀코어) 차별화 지점.
5. 잔여 이슈 / 다음 단계
- P1 4종 미구현 — 찾기·줌·다운로드매니저·시크릿모드(데일리드라이버 직결).
- 앱탭 RAM 측정 부재 — 앱 인스턴스 스택 누적 시 메모리 실측 필요.
- Windows 실기 빌드 미실행 — Mac 단위검증만 완료. crownyc.exe+hanseonc_high.exe Windows 빌드 + bundle\ 배치 후
ci-windows.bat 1회 필요.
- 순수모드 JS 부재 — 전용 콘텐츠 의도된 한계(범용 호환 비목표).
- 보안 성숙도 — 샌드박스·CVE 패치 체계 부재(신생 한계, 장기 과제).
- PSV에 추가된 북마크/설정/파일/날씨는 런처에서 딥인디고 폴백 → 원하면
launcherAccentForApp()에 색 추가.
관련 파일
/Users/ef/CrownyBrowser/native/crowny-browser.m — 런처 4색 + 앱 네비 히스토리
/Users/ef/CrownyBrowser/native/Makefile — make CrownyBrowser
/Users/ef/CrownyBrowser/src/앱목록.psv — 9앱 레지스트리
/Users/ef/CrownyBrowser/src/{북마크,설정,파일,날씨}앱.한선
/Users/ef/CrownyBrowser/native/{북마크,설정,파일,날씨}{렌더,액션}.sh
/Users/ef/CrownyBrowser/native/win/{crowny_browser_win.c,crowny_tier_win.c,ci-windows.bat,build.bat}
/Users/ef/CrownyBrowser/native/crowny_tier.{h,m}