マイクロソフト、Progressive Web Apps(PWA)をWindows 10のデスクトップで実行可能に。Windows 10はWindows、Linux、PWA対応のプラットフォームへ
マイクロソフトはWeb技術を用いてネイティブアプリケーションのように動作するProgressive Web Apps(PWA)を、WebブラウザのEdgeにとどまらず、Windows10のデスクトップ環境でも実行可能にすることを明らかにした。
Windows 10は当然のことながらWindowsアプリケーションを実行可能なOSですが、Windows Subsystem for Linuxが新たに搭載されてLinuxアプリケーションのサポートも進められています。
そしてマイクロソフトはさらにWindows 10の守備範囲を広げようとしています。次はWeb技術を用いたアプリケーション、「Progressive Web Apps」(以下PWA)のWindows 10でのサポートです。
Microsoft Edgeの開発ブログに2月6日付でポストされた記事「Welcoming Progressive Web Apps to Microsoft Edge and Windows 10 - Microsoft Edge Dev Blog」でマイクロソフトは、PWAをWebブラウザのMicrosoft Edgeでサポートするだけでなく、Windows 10のデスクトップ上で通常のアプリケーションのように実行可能にすることを明確にしました。
On other platforms, PWAs primarily originate from inside the browser, and can escape the browser in response to various prompts or menu options. We’re taking things one step further on Windows! Because a PWA can be a first-class citizen in the Windows Store, a user will be able to engage fully with an installed PWA—from discovery, to installation, to execution—without ever opening the browser.
他のプラットフォームにおいては、PWAはブラウザ内で起動し、何らかの操作やメニューを選択することでブラウザから独立して実行されるようになる。しかし私たちはWindowsにおいてこれをさらに前進させていくつもりだ! というのもPWAはWindows Storeの一級市民になれることで、そこで発見されインストールされ、ブラウザを一度も立ち上げることなく実行することができるようになるのだ。
下記のツイートでは、この記事の筆者の一人がプレビュー版のWindows 10のデスクトップ上で、まるで通常のアプリケーションのようにPWAを実行する様子を紹介しています。
Just for kicks, here is @davatron5000's @godaytrip as a #PWA on a preview build of Windows 10! (inspired by: https://t.co/Flm63mmu6K) pic.twitter.com/t2Kr5MlTOX
— Kirupa (@kirupa) 2018年2月1日
なぜWindows 10で積極的にPWAをサポートするのか
PWAは、HTML、CSS、JavaScriptなどのWeb技術によって開発されるWebアプリケーションの一種です。Webサーバから配信されて実行されるだけでなく、アプリケーションの実行に必要なリソースをローカルに保存することでオフラインでの実行にも対応します。
Service Workerによるバックグラウンド処理やプッシュ通知なども可能で、ネイティブアプリケーションのように振る舞うことができるようになっています。
そしてPWAはWeb技術で開発されているため、マルチプラットフォーム対応でもあります。
現在のところ、PWAはモバイルを中心に新しいアプリケーションの姿として注目される傾向にありますが、モバイルに限定された技術ではないので、デスクトップアプリケーションの分野での注目度も高まってくるでしょう。
例えば、Web技術でデスクトップアプリケーションを開発するためのフレームワークのElectronやCordovaなどと基本的な技術は重なっているため、いずれこれらのフレームワークを用いているアプリケーションの一部がPWAに切り替わるかもしれませんし、もしかしたら、将来的には多くのアプリケーションが、PWAになっていくかもしれません。
こうしてマルチプラットフォーム対応であるPWAが普及、発展していくすると、そのプラットフォームは「PWAさえ動けばどれを選んでも似たようなもの」となっていく可能性があります。
こういう状況はWindowsの存在意義をおびやかすことになります。PWAさえ動けば別にプラットフォームはWindowsでなくともAndroidでもいいし、PCでなくてもタブレットでもよい、となってしまうかもしれないのです。
マイクロソフトはこうした状況を想定して先手を打ち、Windows 10をPWAにとってもっとも魅力的なプラットフォームへと進化させ、PWAが普及したとしても「やっぱりPWAを動かすのもWindows 10がいいよね」とするために、積極的な施策を打ち始めていると考えられます。
Windows 10、次の大型アップデートでPWAをサポート開始
マイクロソフトはWindows 10におけるPWAサポートに関して、大きく2つの施策を実行しています。
1つ目は、PWAを構成する最新のWeb技術に対する積極的な取り組みです。
マイクロソフトは半年ごとにWindows 10の大型アップデートを行っており、次は今年の3月か4月に行われる予定です。そして、その大型アップデートのプレビュー版Windows 10にはPWAを構成する重要な最新技術、Service Workerとプッシュ通知が組み込まれ、デフォルトで利用可能になっていることが明らかにされました。
ほぼ間違いなく、Windows 10の次の大型アップデートでPWAのサポートが実現するでしょう。
ただし、PWAを構成する技術はまだ初期段階にあり、今後さらに発展していくはずです。PWAのサポートもそれに沿って充実していくはずです。
そして2つ目は、Windows StoreでのPWAサポートです。先に引用したとおり、マイクロソフトはWindows Storaに優れたPWAをどんどん登録しようとしています。
これもWindows 10の次の大型アップデートのタイミングで開始される予定です。
つまり、来月か再来月に迫ったWindows 10の次の大型アップデートでは、Windows StoreからPWAをインストールし、Windowsデスクトップで実行するという、通常のアプリでできることがおそらくPWAでも実現されるのです。
かつてマイクロソフトは、WindowsデスクトップでWebアプリケーションをサポートする「Active Desktop」と呼ばれる技術をWindowsに組み込んだことがありました。1990年代後期のことです。
Netscapeとの激しいブラウザ戦争を戦うために鳴り物入りで発表されたActive Desktopですが、当時はまだHTMLもJavaScriptも貧弱な機能しか備えていなかったためにそれほどたいしたこともできずフェードアウトしていきます。
Windows 10によるデスクトップでのPWAサポートは、20年ぶりにActive Desktopのコンセプトが帰ってきたのかと思わせるものがあります。そうか、あれから20年もたったのですね。
※ 参考:JavaScriptのコードとService Workerをユーザーに近いCDNのエッジで実行可能。Cloudflareが「Cloudflare Workers」を提供開始
※ 参考:Angular 6が正式リリース。コンポーネントのDOMエレメント化、PWA対応など新機能。ng-conf 2018
関連記事
AppleもiOS/macOSでPWAのサポートを行おうとしています。
あわせて読みたい
ITエンジニアが投票した「ITエンジニア本大賞2018」ベスト10が発表。人工知能の教科書/アルゴリズム図鑑/退屈なことはPythonにやらせよう、などランクイン
≪前の記事
Googleが「大阪GCPリージョン」開設を発表、2019年から。東京GCPリージョンに次いで国内2カ所目