---
title: "나는 앱 안 깔아, 웹이면 충분한데 왜 자꾸 강요하는 건데"
published: 2026-04-06T14:31:29.000Z
canonical: https://jeff.news/article/1578
---
# 나는 앱 안 깔아, 웹이면 충분한데 왜 자꾸 강요하는 건데

웹에서 잘 되는 서비스를 굳이 앱으로 써야 하는 현실에 대한 개발자의 비판. 대부분의 앱은 JSON 렌더링하는 씬 클라이언트일 뿐인데 100MB+ 설치와 권한을 요구하고, 크로스플랫폼 프레임워크로 만든 앱 퀄리티도 네이티브에 못 미침. 웹 사용자를 앱으로 몰아넣는 엔시티피케이션 루프의 구조적 문제를 지적함.

- **"앱 깔아주세요"에 질린 한 개발자의 반격** — 브라우저에서 잘만 되는 서비스를 왜 굳이 앱으로 써야 하는지에 대한 날카로운 비판
  - 소셜 미디어는 물론이고 주차, 음식 주문 같은 기본적인 서비스까지 앱 설치를 강요하는 추세
  - 화면 절반을 덮는 "앱 다운로드" 모달, 스크롤하면 뜨는 팝업, "앱이 10배 낫다"는 헤더 — 수법도 점점 노골적

- **브라우저에서는 사용자가 왕인데, 앱에서는 포로가 됨**
  - 다크모드 없는 서비스? 유저스크립트 하나면 해결. 레딧 사이드바에 게임 섹션 생겼다고? 확장 프로그램으로 2초 만에 제거
  - 유저스크립트, 광고 차단기, 커스텀 확장 — 브라우저에서는 사용자가 UI를 통제할 수 있음
  - 반면 앱은 다크패턴의 블랙홀. 푸시 알림 남발, 침습적 텔레메트리 수집, 월드가든에 가두기 — 이 모든 게 "더 나은 UX"라는 포장 아래 진행됨

- **대부분의 앱은 그냥 텍스트와 미디어를 보여주는 씬 클라이언트에 불과함**
  - 3D 게임이나 LiDAR 같은 하드웨어 깊은 통합이 필요한 경우를 빼면, 결국 API에서 JSON 받아서 네이티브 뷰에 렌더링하는 게 전부
  - 레스토랑 메뉴 보려고 100MB+ 앱 깔고, 위치 권한 주고, 백그라운드 프로세스 돌리는 게 말이 되나?

- **그렇게 강요하는 앱이 좋기라도 하면 모를까, 퀄리티도 별로임**
  - 초기 Flutter 앱의 iOS 셰이더 컴파일 버벅임을 겪어본 사람은 알 거임 — Skia 엔진에서 Impeller로 교체되기 전까지 첫 애니메이션에서 UI가 끊기는 문제가 있었음 (2023년쯤 수정)
  - 프리컴파일된 셰이더를 앱에 번들로 넣어서 배포해야 했을 정도
  - 스크롤 속도가 OS와 미묘하게 다르고, 스와이프 백 제스처가 몇 밀리초 망설이는 그 "언캐니 밸리" 느낌
  - 인간의 뇌는 타이밍이 어긋나는 걸 기가 막히게 감지함 — XZ 백도어도 SSH 로그인이 아주 살짝 느려진 걸 엔지니어가 알아채서 발견된 거고, FPS 게이머들은 한 발 쏴보면 서버 리전을 구별한다고

> [!IMPORTANT]
> 대부분의 앱은 API에서 JSON 받아서 렌더링하는 씬 클라이언트일 뿐인데, 100MB+ 설치와 각종 권한을 요구함. 웹으로 충분한 서비스까지 앱을 강요하는 건 사용자 경험이 아니라 사용자 가두기가 목적.

### 엔시티피케이션(Enshittification) 루프

- **웹에서 사용자 모으고 → 앱으로 몰고 → 광고로 수익화하는 3단계 패턴**
  - 처음에는 오픈 웹에서 마찰 없이 사용자를 끌어모음 (검색 노출도 되고 링크 공유도 쉬우니까)
  - 사용자가 충분히 모이면 웹 버전을 의도적으로 망가뜨려서 앱 설치를 유도
  - 앱에 갇힌 순간 광고 차단기가 안 먹히는 피드 광고의 포로가 됨

- **PM 입장에서 웹 고수하는 유저는 "허용 가능한 손실"**
  - 웹 버전 열화시켜서 80%를 앱스토어로 보내면 그 PM은 승진하고 연봉 올라감
  - 인센티브 구조가 이렇게 돌아가니 웹 경험에 투자할 이유가 없음
  - 브라우저는 한때 위대한 범용 플랫폼이었는데, 이제는 앱스토어를 위한 마케팅 퍼널 입구로 전락하는 중

> [!NOTE]
> 엔시티피케이션(Enshittification)은 코리 닥터로우가 만든 용어로, 플랫폼이 처음엔 사용자에게 좋다가 점점 광고주와 주주 이익을 위해 사용자 경험을 희생하는 패턴을 뜻함.

## 핵심 포인트

- 브라우저에서는 유저스크립트·광고차단 등으로 사용자가 UI를 통제 가능하지만, 앱은 다크패턴의 온상
- 대부분 앱은 API에서 JSON 받아 렌더링하는 씬 클라이언트에 불과한데 과도한 권한과 용량을 요구
- Flutter 등 크로스플랫폼 앱의 미묘한 네이티브 불일치가 사용자 경험을 해침
- 웹에서 사용자 모은 뒤 의도적으로 웹 버전을 망가뜨려 앱으로 유도하는 엔시티피케이션 루프

## 인사이트

프론트엔드 개발자라면 '우리 서비스도 이러고 있진 않나' 돌아볼 만한 글. 웹 퍼스트 전략이 사용자 신뢰를 지키는 길이라는 메시지가 강력함.
