Computer >> 컴퓨터 >  >> 소프트웨어 >> 브라우저

확장 프로그램 vs 플러그인 vs 애드온: 헷갈리기 쉬운 세 가지 용어의 차이 완벽 정리

문법 검사기를 설치하고 DAW(디지털 오디오 워크스테이션)에 어울리는 리버브 이펙트를 찾아 다니던 어느 순간, 문득 깨달았습니다. 나는 그동안 확장 프로그램, 플러그인, 애드온이라는 말을 마치 같은 것을 가리키는 서로 다른 이름처럼 섞어 써왔다는 사실을요. 비슷하니까 괜찮겠지 싶었지만, 사실은 전혀 그렇지 않습니다.

셋의 차이는 미묘합니다. 그래서 대부분의 사람들이 굳이 파고들지 않는 것이기도 하죠. 물론 기술 업계 자체도 도움이 되지 못했습니다. 유명 앱들조차 이 경계를 흐리게 만들고 있으니까요. 하지만 그렇기 때문에 한 번 제대로 짚고 넘어갈 가치가 있습니다.

확장 프로그램은 자기 역할 범위 안에 머무르도록 설계되었다

브라우저의 언어를 빌려 동작한다

예전에 누군가 확장 프로그램이 뭐냐고 물었다면 '브라우저용 플러그인'이라고 답했을 겁니다. 그런데 이건 정확히 맞는 말이 아닙니다.

확장 프로그램(Extension)은 기존 애플리케이션, 주로 브라우저를 수정하거나 기능을 보강하기 위해 만들어진 가볍고 작은 소프트웨어입니다. 핵심 특징은 호스트 애플리케이션이 이미 이해하는 언어로 작성된다는 점입니다. 예를 들어 크롬 확장 프로그램은 HTML, CSS, JavaScript, 즉 웹 자체의 기본 언어로 빌드됩니다.

이러한 설계 방식은 확장 프로그램의 동작 방식을 결정합니다. 구글이 Manifest V3로 전환하면서 확장 프로그램은 항상 실행되는 백그라운드 페이지 대신 이벤트 기반 서비스 워커(Service Worker) 방식으로 바뀌었고, 덕분에 리소스 소모가 줄고 시스템에 덜 간섭하게 되었습니다. 더 중요한 것은 샌드박스 안에서 실행된다는 점입니다. 샌드박싱이 온라인에서 사용자를 어떻게 보호하는지 살펴보면, 이것이 실질적인 역할을 한다는 것을 알 수 있습니다. 확장 프로그램은 명확하게 정의된 권한만 부여받아 엄격하게 통제됩니다. 사용자가 명시적으로 허용한 것에만 접근할 수 있고, 시스템 전체를 마음대로 돌아다닐 수 없습니다. 그럼에도 불구하고 크롬 확장 프로그램의 권한 설정을 점검해서 필요 이상으로 넓은 접근 권한을 요구하지 않는지 확인하는 습관은 여전히 중요합니다.

이런 구조적 격리 덕분에 확장 프로그램은 상대적으로 안전하다고 평가받습니다. 시스템 깊숙이 침투하거나 멋대로 움직이지 않고, 브라우저 위에서 사용자 경험을 재구성하면서도 지나치게 침입적이지 않습니다.

플러그인은 처음부터 더 깊이 들어가도록 만들어졌다

상당한 권한을 가진 네이티브 코드

저도 한동안은 강력해 보이는 것이라면 뭐든 '플러그인'이라고 불렀습니다. 어느 정도 감은 맞았지만 정확하지는 않았죠.

전통적으로 플러그인은 바이너리 실행 파일, 즉 미리 컴파일된 코드 덩어리였고, 대개 C++로 작성되어 NPAPI(넷스케이프 플러그인 API) 표준을 통해 실행되었습니다. 확장 프로그램과 달리 플러그인은 브라우저 샌드박스 바깥에서 동작했으며, 종종 브라우저 자체의 시스템 수준 권한에 필적하는 접근 권한을 가졌습니다.

가장 대표적인 예가 어도비 플래시 플레이어입니다. 플래시는 브라우저에 내장된 것이 아니라 별도로 설치하는 독립 소프트웨어였고, 브라우저가 스스로 처리할 수 없는 콘텐츠를 만나면 호출해 실행했습니다. 하지만 그 강력함에는 대가가 따랐습니다. 잘 알려진 취약점과 익스플로잇 때문에 플래시는 악성코드의 주요 공격 대상이 되었습니다. 그 수준의 접근 권한으로 네이티브 코드를 실행하는 것은 심각한 보안 문제로 이어졌고, 결국 플래시는 물러나고 더 안전한 웹 표준이 그 자리를 차지해야 했습니다. 2020년까지 플래시 지원은 사실상 종료되었고, 더 안전하고 제약된 모델이 그 뒤를 이었습니다.

다만 브라우저 바깥의 세계에서는 '플러그인'이라는 개념이 여전히 건강하게 살아 있습니다. 특히 창작 소프트웨어 분야에서는 사실상 기본 용어입니다. Ableton이나 FL Studio 같은 DAW를 써본 적이 있다면, 음악인이라면 꼭 갖춰야 할 VST 플러그인을 다뤄봤을 겁니다. 이 플러그인들은 호스트 프로그램 혼자서는 할 수 없는 일을 해냅니다. 하드웨어 신시사이저를 에뮬레이트하거나, 복잡한 리버브 알고리즘으로 오디오를 처리하거나, 믹스를 실시간으로 압축하는 식이죠. 플러그인은 CPU에서 직접 구동되기 때문에 낮은 지연 시간과 높은 성능을 유지할 수 있습니다.

VST 표준 자체도 역사가 깊습니다. 슈타인버그(Steinberg)가 1996년에 선보였고, VST3 형태로 지금까지도 널리 쓰이고 있습니다. 포토샵 같은 도구에서도 마찬가지입니다. 서드파티 플러그인을 활용하면 사진 편집 실력을 한 단계 끌어올릴 수 있습니다.

정리하면 이 맥락에서 '플러그인'은 더 무겁고, 더 긴밀하게 통합되며, 성능 중심적인 무언가를 암시합니다. 데이터 파이프라인 깊숙이 들어가 원시 데이터를 고속으로 처리하는 소프트웨어죠. 브라우저 세계는 보안을 위해 이 모델에서 벗어났지만, 창작 도구들은 격리보다 성능과 정밀도가 더 중요하기에 여전히 이 방식에 의존합니다.

'애드온'은 모두가 즐겨 쓰는 포괄 용어

모질라가 시작했고, 우리 모두 따라 쓰게 되었다

'애드온(Add-on)'은 조금 더 느슨한 개념입니다. 엄격한 기술 용어라기보다는 포괄적인 총칭에 가깝죠. 기본적으로 '메인 애플리케이션에 붙일 수 있는 추가 요소'를 뜻합니다. 모질라(Mozilla)는 확장 프로그램, 플러그인, 테마, 심지어 검색 엔진까지 하나의 메뉴로 묶기 위해 이 단어를 포괄 라벨로 대중화했습니다. 구글 워크스페이스도 같은 용어를 채택해 Docs와 Sheets의 서드파티 연동 기능을 '애드온'이라고 부릅니다.

마이크로소프트답게 마이크로소프트는 '애드인(Add-in)'이라는 표현을 선택했습니다. 대체로 같은 개념이지만 뉘앙스가 살짝 다른데, 기업 환경에서는 이 용어 구분이 실제로 의미를 갖습니다. 전통적으로 애드인은 COM이나 VSTO로 만들어져 Office의 내부 객체 모델에 직접 연결되는 깊은 통합 제품을 가리켰습니다. 지금은 마이크로소프트가 웹 기반 애드인으로 이동했지만, 이 이름은 브라우저 확장 프로그램이나 일반적인 OS 수준 애드온과 구분하는 역할로 계속 남아 있습니다. 한편 게임 커뮤니티에서도 '애드온'이라는 말이 회자되는데, 종종 '모드(Mod)'와 혼용되며 추가 콘텐츠나 UI 조정을 가리킵니다. 정확한 아키텍처가 중요하지 않을 때 유연하게 쓸 수 있는, 일종의 만능망 같은 용어입니다.

좀 더 단순하게 정리하면 이렇습니다. 누군가 '애드온'이라고 하면 폭넓게 말하는 것이고, 어떤 것이 앱을 확장한다는 뜻일 겁니다. '확장 프로그램'이라고 하면 웹 기술로 만들어진 가볍고 주로 브라우저 기반인 무언가를 암시합니다. '플러그인'이라고 하면 기능 자체를 짚는 것으로, 대개 전문화되어 있고 더 깊고 성능 집약적인 통합을 의미합니다.

이 구분이 다소 애매해지는 좋은 예가 그래머리(Grammarly)입니다. 크롬에는 Grammarly 확장 프로그램을 설치해 웹 전반의 글쓰기를 검사할 수 있고, 마이크로소프트 워드에는 Grammarly 애드인을 설치해 문서를 직접 교정할 수 있습니다. 같은 회사, 같은 핵심 아이디어인데도 용어는 어디에서 실행되고 어떻게 소프트웨어에 연결되느냐에 따라 달라집니다.

마무리하며

물론 이런 내용 때문에 일상 대화에서 사람들의 말을 일일이 교정해야 하는 것은 아닙니다. 언어는 사용 속에서 진화하고, 이 단어들은 수십 년간 서로 영향을 주고받으며 섞여 왔습니다. 그래도 다음에 누군가 브라우저용 '플러그인'을 추천해 줄 때는 뭔가 살짝 어긋났다는 것을 알아차릴 수 있을 겁니다. 그리고 DAW에 빈티지 신시사이저 플러그인을 설치할 때도, 왜 확장 프로그램이 아니라 플러그인이라 불렸는지 정확히 이해하게 될 것입니다.