2020年5月26日 4:18 AM

10 億台の Windows 10 デバイスに向けた開発とその先

※ 本ブログは、米国時間 5/19 に公開された “Developing for all 1 billion Windows 10 devices and beyond” の抄訳です。

今年の Microsoft Build 2020 はデジタル イベントとして開催され、皆様にはご自宅から体験していただくことができます。皆様にとって特に関心のある新機能やテクノロジについて学んでいただく機会となれば幸いです。今回は、開発者の皆様が Microsoft 365 と Windows プラットフォームを使用して今日の働き方に合ったアプリを開発する方法をお知らせすると共に、以下の 4 つの主要な分野における Windows プラットフォームの強化について重点的にご紹介します。

    1. 10 億台の Windows 10 デバイスに向けた既存および今後のすべてのアプリ開発を統合する
    2. クラウドを利用して Windows アプリの新しいシナリオを実現する
    3. Windows エクスペリエンス内での Microsoft 365 との統合を使用して接続アプリを開発する新たな機会を創出する
    4. Windows における開発者の生産性を向上させる

10 億台の Windows 10 デバイスに向けたアプリ開発を統合する

このたび、マイクロソフトは Project Reunion を発表します。Project Reunion は、Windows 開発者プラットフォームを統合、進化させ、人々が使用する Windows 10 のすべてのバージョンとデバイスで動作する優れたアプリを容易に開発できるようにするというマイクロソフトのビジョンです。

この数年間、マイクロソフトは Win32 (別名 Windows API) とユニバーサル Windows プラットフォーム (UWP) API の障壁を解消するべく取り組んできました。Project Reunion では、この取り組みを拡大して Windows アプリの開発を容易にします。そのため、既存の Win32 および UWP API へのアクセスを統合し、各 API を OS から切り離して NuGet などのツールを通じて利用できるようにします。これにより、新規アプリのプラットフォームが共通化されます。さらに、C++、.NET (WPF、Windows フォーム、UWP を含む) または React Native のどの開発フレームワークを使用していても、既存のアプリを最新の機能を追加して更新したりモダン化する際にも役立ちます。既存の API を切り離して新しい API を追加する中で、必要に応じてポリフィルの作業も行っているため、サポートされるすべてのバージョンの Windows において API は下位レベルでも機能します。

Animation showing Project Reunion text.

Project Reunion の 最初のコンポーネントの一つは、高パフォーマンスで Fluent Design に最適化された Windows のネイティブ UI フレームワークである WinUI 3 Preview 1 (英語) です。WinUI (英語) を使用すると、新規のプロジェクトを開始する場合にも、既存のアプリをモダン化する場合にも、あらゆるデバイスに適応し、拡張できる優れたユーザー エクスペリエンスを構築できます。

Screenshot of Engaging UI powered by WinUI in Alarms & Clock app

画像 1: アラーム & クロック アプリで WinUI を利用した魅力的な UI

また、ネイティブ アプリに Web コンテンツを統合して、各種プラットフォームやブラウザーとコードを共有したいという場合もあると思います。そこで今回、WebView2 (Project Reunion のもう 1 つのコンポーネント) を拡張し、新たな .NET のプレビューを開始しました。これにより、Microsoft Edge と Chromium を活用して、あらゆる Windows アプリに Web コンテンツを埋め込むことができます。WebView2 により、Windows アプリで Web のフル機能を利用することができます。さらに、OS から切り離されているため、特定のバージョンの Windows のみに制限されることもありません。

An example of a PDF inline using WebView2

画像 2: WebView2 を使用した PDF のインラインの例

この初期段階から Project Reunion GitHub リポジトリ (英語) で詳細をご確認いただき、ぜひご意見をお聞かせください。このビジョンを実現するにあたり、進捗状況を共有し、皆様からのフィードバックを参考にさせていただきます。WinUI の詳細についてはこちらのページ (英語)、WebView2 の詳細についてはこちらのページもご参照ください。

クラウドを利用して新しいシナリオを実現する

組織がリモート ワークへの移行を進める中で、Azure上に構築されている Windows Virtual Desktop では、今までよりも迅速に仮想デスクトップおよびアプリをプロビジョニングし、スケーリングが可能です。これにより、組織側はデバイスの数が増加しても既存のアプリを提供することができ、ユーザー側は Windows、macOS/iOS、Android 向けの Windows Virtual Desktop クライアントを使用してアプリにアクセスすることができます。

スケーラビリティが非常に重要であることから、マイクロソフトは MSIX App Attach という機能を導入しました。MSIX App Attach Preview では、組織がクラウドにデプロイする OS イメージと、ユーザーがアクセスする必要のあるアプリを切り離すことにより、ユーザー エクスペリエンスを最適化します。これは、Windows デスクトップ用の MSIX を導入すると、Azure 上の Windows Virtual Desktop でアプリを実行する場合に、同じ投資によってさらに多くのメリットが速やかにもたらされるということを意味します。

接続アプリを開発する新たな機会を創出する

また、接続アプリを開発する方法も拡充します。Microsoft Search や Microsoft Graph といった Microsoft 365 との統合により、さらに多くの機会が創出されます。私たちは非常に多くのツールやアプリを使用しているため、必要なものを探すのに手間がかかる場合があります。Microsoft Search と Microsoft Graph により、ユーザー、ファイル、ツールを独自の方法で関連付けることができ、探しているものを簡単に見つけられます。この 2 つの統合は、開発者やユーザーの効率性を向上させるためのごく一部の方法にすぎず、Microsoft 365 プラットフォームでは他にも多数の機能を利用できます。さらに、開発者の皆様はプレビュー中の Graph コネクタをご利用になれます。今年中には Microsoft Search が Windows に追加される予定です。

Screenshot example of looking up a coworker and finding pertinent information and shared files and apps

画像 3: 同僚を検索して関連情報や共有ファイルおよびアプリを確認

Windows における開発者の生産性を向上させる

生産性を維持することは重要であり、その実現のためにフィードバックを寄せてくださった皆様に感謝します。Windows Terminal および Windows Subsystem for Linux の強化により、最新、高速、そして強力なツールをご利用いただけるようになりました。

企業での使用に向け提供を開始した Windows Terminal 1.0 (英語) は、WSL ディストリビューションや Azure Cloud Shell を含むコマンド ライン実行可能ファイルを複数のタブやウィンドウ内で実行できるようになりました。また、Unicode や UTF-8 文字を使用したり、GPU アクセラレーションを活用したテキスト レンダリング エンジンを利用したり、テーマ、スタイル、構成をカスタマイズしたりすることもできます。Windows Terminal は、Microsoft Store から入手可能なほか、Terminal GitHub リポジトリ (英語) からも手動でダウンロードいただけます。

Windows Subsystem for Linux (WSL、英語) の機能強化により、ハードウェア アクセラレーションを有効化したり、Linux GUI アプリを直接実行したり、Windows で Linux アプリの使用を簡単に開始したりできるようになりました。いくつか詳細をご紹介します。

  • GPU (グラフィックス処理装置) 計算ワークフローのサポートが追加されたことで、Linux ツールで GPU を活用してハードウェア アクセラレーションを有効化し、並列計算や ML (機械学習) および AI (人工知能) モデルのトレーニングをはじめとする多数の開発シナリオで利用できます。
  • Linux GUI (グラフィカル ユーザー インターフェイス) アプリのサポートにより、サードパーティの X サーバーを使用しなくても、WSL インスタンスを開いて Linux GUI アプリを直接実行できます。これにより、IDE (統合開発環境) などの使い慣れたアプリを Linux 環境で実行することができます。
  • 近日中に、「wsl.exe–install」コマンドの実行による WSL のインストール エクスペリエンスの簡素化がサポートされる予定です。これにより、これまでで最も簡単に Windows で Linux アプリの使用を開始できるようになります。

さらに、Windows Package Manager や Microsoft PowerToys といったプレビュー版のツールとユーティリティをご利用になると、Windows エクスペリエンスが効率化され開発の生産性がさらに向上します。

開発環境のセットアップ方法を簡単にできるようにしてほしいという声にお応えして、Windows Package Manager Preview (英語) を公開しました。これにより、コマンド ライン インターフェイスを利用して、お気に入りのツールをすばやく簡単にインストールできます。パッケージのリポジトリ (英語) はオープン ソースですので、皆様が次のレベルの機能強化に向け手助けしてくれることを心より待ち望んでいます。

Microsoft PowerToys (バージョン 0.18、英語) では、個人のワークフローに合わせて Windows 10 シェルをカスタマイズすることができます。今回の更新では、Keyboard Remapper と PowerToys Run という 2 つの新しいユーティリティが追加されました。Keyboard Remapper を使用すると、キーとショートカットの対応関係をマッピングし直すことができます。また、アプリ起動ユーティリティの PowerToys Run を使用すると、Alt キーを押しながら Space キーを押して入力するだけで、すばやくプログラムを起動できます。

開発者の皆様とオープン ソース プロジェクトで協力し、それぞれの取り組みを発展させ、生産性の高い快適なエクスペリエンスを構築できるようにご支援したいと考えています。ぜひ皆様の開発作業に WinUI (英語)WebView2Terminal (英語)Windows Package Manager Preview (英語)Project Reunion (英語) をご活用ください。Buildでご提供するコンテンツ以外にも、Microsoft 365 デベロッパー センター (英語) で WSL、Terminal、React Native for Windows、WebView2、Windows AI をはじめとする多数のトピックについて情報をご提供しております。ぜひご参照ください。

Join the conversation