Windows에 소프트웨어를 설치하는 일은 생각보다 번거롭습니다. Mac App Store나 Linux 패키지 관리자처럼 중앙화된 설치 방식을 갖춘 다른 운영체제에 비해, Windows는 Ninite 같은 대량 설치 도구에 의존할 수밖에 없었죠. 하지만 앞으로 몇 년 안에 이런 상황이 달라질 수 있습니다.
Windows 사용자라면 지금부터 기존의 개별 설치 파일 다운로드 방식 대신 Microsoft Store(구 Windows Store)를 통해 앱을 설치하는 습관을 들여볼 좋은 시점입니다. 처음에는 거부감이 들 수 있지만, 끝까지 들어보세요. 분명 고려할 가치가 있는 장점들이 있습니다.
데스크톱 앱 vs UWP 앱
데스크톱 앱은 Windows PC 플랫폼 전용으로 작성·컴파일된 독립 실행형 프로그램입니다. PC 버전 운영체제(OS)에서만 제공되는 Windows API에 의존하기 때문에 높은 제어력과 유연성을 갖추는 대신, 이식성과 보안성이 떨어집니다. UAC(사용자 계정 컨트롤) 보호가 있어도 데스크톱 앱이 가끔 불필요하거나 수상한 동작을 수행하는 경우가 있습니다.
또한 데스크톱 앱은 독립 실행형이기 때문에 반드시 설치 파일(installer)을 통해 설치해야 합니다.
Windows 8.1 시절 마이크로소프트는 '유니버설 Windows 앱(UWA)'을 선보였는데, 흔히 'Metro 앱' 또는 'Modern 앱'이라고 불렸습니다. UWA는 세 가지 핵심 문제, 즉 일관성, 이식성, 보안성을 해결하기 위해 설계되었습니다. 모든 UWA는 동일한 Metro/Modern 디자인 언어를 따랐고, 데스크톱과 모바일 버전의 Windows 모두에서 실행 가능했으며, 샌드박스 환경에서 작동해 멀웨어 감염 시 피해를 최소화했습니다.
Windows 10에서는 한 걸음 더 나아가 UWP(Universal Windows Platform)를 도입했습니다. UWP를 활용하면 개발자가 단 하나의 앱으로 여러 플랫폼에서 실행되도록 만들 수 있습니다. Windows 10을 구동할 수 있는 모든 기기는 UWP를 지원하므로, UWP 앱 역시 실행할 수 있습니다.
그렇다면 UWA와 UWP 앱의 차이는 무엇일까요?
개발자 관점에서 보면, UWA는 플랫폼별 프로젝트(예: Windows PC용과 Windows Mobile용)를 각각 만들고 별도의 '공유 코드' 프로젝트를 기반으로 삼아야 하는 반면, UWP 앱은 단일 프로젝트만으로 UWP를 지원하는 모든 기기(Xbox One 등)에서 실행됩니다.
반면 최종 사용자 입장에서는 사실상 차이가 없습니다. UWA와 UWP 앱 모두 Microsoft Store를 통해서만 받을 수 있으며, Windows 10 사용자에게는 UWP 앱만 해당된다고 보면 됩니다.
참고로 마이크로소프트는 2016년 'Desktop Bridge'라는 도구를 공개했습니다. Desktop Bridge는 기존 데스크톱 앱과 데스크톱 게임을 UWP 앱으로 손쉽게 변환할 수 있게 해주는 도구입니다. 변환된 앱은 이전과 완전히 동일하게 작동하지만, 라이브 타일(Live Tiles) 같은 일부 UWP 기능에 접근할 수 있게 됩니다.
대부분의 경우 코드를 거의 수정하지 않아도 변환이 가능하기 때문에, 점점 더 많은 데스크톱 앱이 UWP 버전으로 출시되고 있습니다. iTunes, Spotify, WhatsApp, Krita, Kodi 등이 대표적인 예입니다.
변환된 데스크톱 앱이 UWP 앱과 거의 같다면, 굳이 UWP 버전으로 옮겨야 할 이유가 있을까요? 크게 세 가지 이유가 있습니다.
1. 편리한 설치
중앙화된 창구를 통해 앱을 설치할 수 있다는 점이 사소한 장점으로 느껴질 수 있습니다. 하지만 겉보기엔 평범해 보여도 매일 사용하면 그 유용함을 실감하게 되는 기능입니다.
Mac, Linux, Android, iOS를 써본 적이 있다면 무슨 말인지 바로 이해할 겁니다. 새 앱이 필요하면 App Store, Play Store 또는 패키지 관리자를 열고, 검색하고, 선택해서 설치하면 끝입니다!
'그냥 구글에서 검색해서 내려받는 것과 뭐가 다른가?'라고 반문할 수도 있지만, 분명한 차이가 있습니다. 더 이상 가짜 사이트에 노출될 위험이 없고, 오래된 버전이 올라간 잘못된 URL에 방문할 걱정도 필요 없습니다. 게다가 설치 파일을 따로 모아 저장할 필요가 없어져 디스크 공간도 절약됩니다.
2. 자동 업데이트
UWP 앱의 큰 장점 중 하나는 Microsoft Store와 연동된다는 점입니다. 스토어의 앱 목록이 새 버전으로 업데이트되면 설치된 앱도 자동으로 함께 업데이트됩니다. 스토어가 알아서 처리해 주는 거죠.
물론 상당수 독립형 데스크톱 앱도 자체 자동 업데이트 기능을 갖추고 있어서 큰 문제가 아닐 수 있습니다. 하지만 그렇지 않은 앱들도 많고, 특히 보안 취약점이 패치되었는데도 앱 웹사이트를 직접 방문하기 전까지는 알 길이 없다면 곤란한 상황이 됩니다.
3. 향상된 보안
아마도 가장 실질적인 장점은 UWP 앱이 샌드박스(sandbox) 환경에서 실행된다는 점입니다. 각 앱에는 명확한 경계가 있으며, 권한이 허용되지 않으면 시스템 리소스에 접근할 수 없습니다. 덕분에 드라이버 조작, 하드웨어 직접 제어, 시스템 수준 파일 변경 같은 수상한 행위를 원천적으로 막을 수 있습니다.
UWP 앱은 또한 마이크로소프트의 심사를 통과해야 합니다. 완벽하지는 않지만(악성 앱이 난무했던 시절을 기억하시나요?), 상황은 크게 개선되어 2014년 당시보다 Microsoft Store가 훨씬 깨끗해졌습니다. 요즘은 위험한 앱을 만날 가능성이 훨씬 낮습니다. 소프트웨어 다운로드 사이트에서는 말할 수 없는 이야기죠.
아직도 UWP 앱을 쓰지 않는 이유는?
UWP 앱 사용에는 두세 가지 단점이 있습니다. 첫째, 마이크로소프트가 유통업체 역할에 대한 대가로 스토어 수익의 일부를 가져갑니다. 둘째, UWP 앱은 시스템과 얼마나 깊이 연동해야 하는지에 따라 기능이 제한될 수 있습니다. 셋째, 설계가 아쉽고 버그가 많은 Microsoft Store를 사용해야 한다는 점입니다.
아직 확신이 서지 않는다면, 시도해 볼 만한 유용한 UWP 앱들을 살펴보세요. 당장 전환하지 않더라도 UWP 앱을 주목 목록에 두는 것이 좋습니다. 앞으로도 데스크톱 앱들이 계속 UWP로 전환될 것이므로 결코 무시할 수 없는 흐름입니다.
설득당하셨나요? 그렇지 않다면 UWP 앱 사용을 망설이는 이유가 무엇인가요? 우리가 놓친 장점이나 단점이 있다면 댓글로 알려주세요!