프로그레시브 웹 앱을 지원하는 Windows 10은 좋지만 이것이 Microsoft의 앱 전략에 의미하는 바는 무엇입니까?
이제 Windows 10 2018년 4월 업데이트를 다운로드할 수 있으므로 모든 사람이 곧 Progressive Web Apps 라는 새로운 유형의 Windows 10 앱을 발견할 수 있을 것입니다. PWA는 네이티브 앱처럼 보이고 작동하는 스테로이드 기반 웹 앱입니다. 이는 Windows 10 버전 1803에서 지원되는 푸시 알림 및 서비스 워커와 같은 표준 기반 기술 덕분에 가능합니다.
어떤 면에서 PWA는 꽤 오래된 논쟁을 불러일으키고 있습니다. 개발자가 가장 인기 있는 컴퓨팅 플랫폼을 위한 기본 앱을 계속 개발해야 합니까, 아니면 크로스 플랫폼 PWA가 대부분의 사용 사례에 충분할 수 있습니까? 이것은 여전히 대답하기 어려운 질문이지만 PWA가 Microsoft Store와 회사의 앱 전략에 큰 영향을 미칠 수 있다는 것은 이미 분명합니다.
PWA에는 부인할 수 없는 몇 가지 장점이 있습니다.
서비스 워커, 캐시 및 푸시 API 덕분에 PWA는 푸시 알림, 백그라운드 작업 및 제한된 오프라인 기능까지 지원할 수 있습니다. 현재 Windows 10에서 사용할 수 있는 최고의 PWA인 새로운 Twitter 앱에서 보았듯이 개발자는 라이브 타일, 점프 목록 및 새로 고침에 대한 지원을 추가할 수도 있습니다.

트위터 pwa.
Microsoft에서 설명했듯이 PWA에 대한 문서 , 이러한 앱은 표준 UWP 앱처럼 작동하며 브라우저에서 실행하는 것보다 다음 기능을 활용할 수 있습니다.
Windows 10에 설치된 PWA는 유니버설 Windows 플랫폼 앱으로 실행되며 브라우저에서 실행하는 것보다 다음과 같은 기술적 이점을 얻습니다.
- 독립 실행형 창
- 브라우저에서 독립적인 프로세스(격리된 캐시, 적은 오버헤드)
- 스토리지 할당량 없음(IndexedDB, 로컬 스토리지 등의 경우)
- 오프라인 및 백그라운드 프로세스
- JavaScript를 통해 네이티브 Windows 런타임(WinRT) API에 액세스
- Windows 시작 메뉴 및 Cortana 검색 결과와 같은 '앱' 컨텍스트의 표시
PWA는 웹 기술을 기반으로 하기 때문에 항상 최신 상태여야 합니다. 일반적으로 Windows 10 사용자는 새로운 기능을 즐기기 위해 새 버전을 다운로드할 필요가 없지만 일부는 앱 업데이트가 계속 발생할 수 있습니다. 특히 잘 구축된 PWA는 여러 브라우저에서 동일하게 작동해야 하고 다르게 작동해야 하기 때문에 개발자에게는 많은 이점이 있습니다. 플랫폼. Twitter의 웹 엔지니어인 Charlie Croom은 최근 PWA를 지원하는 것이 앱 개발자에게 훨씬 적은 작업이라고 지적했습니다.
강력한 핵심 앱은 모든 플랫폼에 대해 각 기능을 만드는 노력을 복제하지 않는다는 것을 의미합니다. 플랫폼별 PWA 지원을 활용한다는 것은 앱을 설치할 때 추가 기능 향상을 의미합니다. Twitter의 웹 팀이 얼마나 작은지 놀라게 될 것입니다. PWA는 효율성 + 도달 범위를 배가합니다.
— 찰리 크룸(@CharlieCroom) 2018년 5월 1일
Microsoft는 PWA를 Microsoft Store에 게시할 권리가 있습니까?
2012년 Windows 8 출시 이후 Microsoft는 개발자가 Windows 스토어를 지원하도록 하기 위해 고군분투했습니다. 공정하게 말하면, Apple은 Mac App Store에도 자체적인 문제가 있지만 지금까지 Cupertino의 거물은 품질보다 양을 우선시하는 것을 거부했습니다.
Microsoft가 자체적으로 Microsoft Store에 PWA를 게시할 계획이라는 사실은 몇 가지 이유로 문제가 있는 것 같습니다. 그 회사 2월에 계획을 자세히 설명했습니다. :
우리는 거의 1년 동안 Bing Crawler를 사용하여 웹에서 PWA를 식별해 왔으며 거의 150만 개의 후보를 검토하면서 인덱싱할 작은 초기 Progressive Web App 경험 세트를 식별했습니다. Windows 10 고객이 앞으로 몇 주 동안 회전할 수 있도록 ... 이 프로세스를 통해 PWA에 대한 품질 측정을 계속해서 검토하여 상호 고객에게 가치 있고 신뢰할 수 있으며 즐거운 경험을 제공할 것입니다. Windows 장치... 스토어에 들어오면 게시자는 앱에 대해 스토어 존재를 완전히 제어할 수 있는 권한을 요청할 수 있습니다.
우리는 Microsoft에서 게시한 이러한 PWA를 시험해 보았고 새로운 Twitter 앱과 다를 바가 없습니다. 간단히 말해서 서비스 워커 및 기타 PWA 기능을 활용하지 않는 기본 웹 래퍼인 것 같습니다. 그리고 Microsoft에서 PWA에 Windows 10 2018년 4월 업데이트가 필요하다고 밝혔음에도 불구하고 이러한 모든 앱에는 Windows 10 버전 1507 이상이 필요하며 Windows 10 Mobile에서도 작동합니다. 그러나 Android 앱을 다운로드하라는 팝업이 표시되면 실제로는 좋지 않습니다.
결국 이러한 PWA는 많은 가치를 제공하지 않으며 언급할 가치가 있는 몇 가지 UI/UX 문제도 있습니다.
https://twitter.com/Daniel_Rubino/status/982676003553185792
Microsoft가 이러한 저품질 앱을 계속해서 Microsoft에 푸시하는 것이 이치에 맞는지 확신할 수 없습니다. 전혀 좋아 보이지 않으며 Microsoft에서 게시자가 이러한 앱을 제어하여 개선할 수 있다고 말했음에도 불구하고 많은 사람들이 관심을 가질지 의심스럽습니다.
이것이 네이티브 앱에 의미하는 바는 무엇입니까?
기본 앱은 일반적으로 금속에 가까운 코드의 이점을 갖지만 이는 일반적으로 Win32 앱에 해당되지만 모든 UWP 앱에 적용되는 것은 아닙니다. 실제로 Microsoft의 자체 UWP 앱 중 일부는 OneDrive 또는 Xbox 앱과 같은 성능이 좋지 않으므로 일부 사용 사례에서는 PWA가 확실히 의미가 있습니다.
그러나 PWA가 Microsoft Store에 추가된다는 것은 사용자가 이제 세 가지 유형의 앱을 찾을 수 있음을 의미합니다. 브리지된 데스크톱 앱(예: Spotify 또는 iTunes), UWP 앱 및 PWA. Microsoft는 여전히 UWP 플랫폼에 투자하고 있지만 개발자가 이를 크게 수용하는 것을 보기는 어렵습니다.

Microsoft에서 게시한 'pwas' 중 일부입니다.
이라는 제목의 블로그 게시물에서 Microsoft와 UWP Enterprise Delusion, 최근 Google의 Flutter 대안으로 전환한 전 Xamarin 개발자인 Dean Chalk는 Microsoft UWP 플랫폼의 모든 문제를 다음과 같이 요약했습니다.
UWP는 모바일 우선 플랫폼입니다. 소시지 모양의 손가락으로 화면을 터치하는 사람들이 사용하는 소형 장치용으로 설계되었습니다. 예, 앱이 다양한 화면 크기에 맞게 조정되도록 할 수 있지만 여전히 동일한 문제(정보 밀도가 낮고 무력하고 단순화됨)가 필요한 전부라면 어쨌든 대신 웹 앱을 구축하게 될 것입니다.
Chalk는 심각한 PWA가 개발되는 것을 보게 될 것이라고 확신하지 않습니다. 웹 앱은 필요한 곳에서 수행되었으며 PWA는 엔터프라이즈 로드맵에 포함되어 있지 않으며 Microsoft는 데스크톱 소프트웨어라는 강점에 집중해야 한다고 덧붙였습니다.
개발자가 PWA 밴드왜건에 뛰어들 것인지 말하기에는 너무 이르지만 Microsoft가 이 주제에 대해 많은 Build 2018 세션을 할애했다는 것은 이미 알고 있습니다. 그들 중 하나 트위터 팀이 이전 UWP 버전을 남겨두고 Windows 앱을 PWA로 재구축한 방법을 설명합니다.
어떤 면에서는 Microsoft가 새로운 Twitter PWA와 드디어 마이크로소프트 스토어에 아이튠즈 등장 지난 며칠간. iTunes는 꽤 오래전에 웹 앱이 될 수 있었던 유형의 앱이지만, 어떤 이유에서인지 Apple은 여전히 Windows용 데스크톱 앱이 여전히 가치가 있다고 생각합니다. 웹 앱과 기본 앱 간의 논쟁은 여전히 진행 중이며 지금까지 Microsoft는 스토어에서 모든 유형의 앱을 환영하기를 원합니다. 이로 인해 더 많은 개발자와 Windows 10 사용자가 Microsoft Store를 수용할 수 있는지 여부는 두고 봐야 합니다.