全ての開発者が押さえておくべきマイクロソフトの最新技術動向:特集:Build 2015(1/5 ページ)
2015年夏に予定されているWindows 10/Visual Studio 2015のリリースとともに、マイクロソフトはどこに向かうのか。その最新動向をキャッチアップしよう!
「Build 2015」が米国サンフランシスコで2015年4月29日〜5月1日(現地時間)にかけて開催された。「Build」は、マイクロソフトが開発者向けに最新情報を提供するイベントであり、近い将来(一年程度のスパン)にリリースされる予定の最新技術が発表される。その内容は多岐にわたり非常に膨大なものであるが、Build 2015の中から全ての開発者が押さえておくべきポイントを本稿では紹介しよう。
Build 2015のセッション内容はその録画とスライド資料がChannel 9で公開されている。また、国内では「de:code 2015」において詳しく紹介される予定だ。
【コラム】de:code 2015とは?
5月26日(火)〜5月27日(水)に日本マイクロソフトが主催するカンファレンス「de:code 2015」で、開発者向けの最新技術情報だけでなく、ITプロ向けの情報も提供される予定だ。このため日本マイクロソフト自らが、このカンファレンスを「TechEdの再来」と呼んでいる。
セッション一覧には当初、Windows 10関連のタイトルが含まれていなかったが、Build 2015開催に合わせ4月30日に「Windows&デバイス」トラックのセッション情報が追加された。また、Surface 3でドローンを操作する話題や、デジタルクライムユニットの紹介といった特別プログラムもある。参加を検討している人は、今一度de:code 2015サイトをご覧いただきたい。
クロスプラットフォーム開発
Build 2015全体を通して感じることは、マイクロソフトがクロスプラットフォーム/マルチプラットフォームの開発にますます力を入れてきたということだ(次の画像)。これは今に始まったことではない(例えば「Microsoft Build 2014 参加レポート」参照)。
マイクロソフトとは縁がないと思っている開発者も、Build 2015の発表内容をチェックしておくべきなのである。本稿の中でも、クロスプラットフォーム開発の新技術を随所で紹介していくが、最初に特筆させていただいた。
![iOS用のソースをコンバートしてWindows 10で実行するデモ(2日目キーノート)](https://image.itmedia.co.jp/ait/articles/1505/12/dt-01.gif)
iOS用のソースをコンバートしてWindows 10で実行するデモ(2日目キーノート)
クロスプラットフォーム開発の一例として、iOS用のソースコードをコンバートし、Visual Studio 2015(以下、VS 2015)に読み込んでビルドし、デバッグ実行している様子。このデモでは、ソースコードを1行も変更することなくこのように動作した。
なお、この画像は2日目のキーノートのWebページで再生している動画をキャプチャしたものだ。ちなみに、表示に使っているブラウザーはWindows 10 Insider Preview(ビルド10074)のMicrosoft Edge(旧称「Project Spartan」)である。
クライアント開発
Windows 10のユニバーサルWindowsプラットフォーム
クライアントの実行環境として、マイクロソフトはユニバーサルWindowsプラットフォームを推していく。Windows 10が2015年夏のPC向けバージョンを皮切りとして、Phone/Xbox/IoTなどに向けても順次リリースされていくが、それら全てのWindows 10搭載デバイスで統一してアプリを動かすための環境がユニバーサルWindowsプラットフォームである。端的にいえば、アプリを動かす共通のサンドボックスを全てのデバイスに提供するということだ。
「ユニバーサルアプリ」というと、Windows 8.1/Windows Phone 8.1用のユニバーサルWindowsアプリ(=ストアアプリ)が思い浮かぶだろう。Windows 10でももちろんストアアプリは動作するが、その詳細については「徹底予習! Windows 10のユニバーサルアプリ開発」をご覧いただきたい*1。
Windows 10のユニバーサルWindowsプラットフォームはストアアプリだけのものではない。WPFなどのデスクトップアプリも、驚いたことにAndroid用のコードさえも、そのサンドボックス上で動かそうというのだ。Build 2015で発表されたのは、次の4プロジェクトである。
- Project Astoria: Android用のコードを、わずかな手直しだけでWindows 10 for phones用にできる(次の画像、なおPCやIoTでは動作しないようだ)
- Project Islandwood: XcodeプロジェクトをVS 2015用にコンバートし、そのObjective-Cのコードを編集/デバッグできる(前出の画像)
- Project Centennial: WPFやWindowsフォームなど、従来のWin32アプリを再パッケージしてWindows 10のユニバーサルWindowsプラットフォームで動かす(PCのみ、あるいは後述するHoloLensでも動くかもしれない)。デスクトップアプリもマイクロソフトのストアで安全に配布できるようになるのだ(Device GuardでロックダウンしたPC=特定のベンダーのアプリやストアからダウンロードしたアプリなどしかインストールできないように設定したPCにも配布できるだろう)。詳しくはBuild 2015セッション2-692/2-617を参照
- Project Westminster: Webサイトをストアアプリに変換する。JavaScriptからWindowsランタイムを利用できる
以上の4プロジェクトは、いずれも今夏に詳細を明らかにするという。登録者には先行してプレビュー版などが提供されるもようだ。詳細は「Introducing the Universal Windows Platform Bridges」を参照してほしい。
なお、Windows 10とユニバーサルWindowsプラットフォームについての多数のセッションがde:code 2015で予定されている。
![Project Astoria](https://image.itmedia.co.jp/ait/articles/1505/12/dt-20.gif)
Project Astoria
上: Project AstoriaのWebページではProject Astoriaの紹介動画が公開されている。この画像では、動画の左側にAndroid/右側にWindows 10 for phonesが写っていて、同じコードが動いている。
中: その動画より。apkパッケージをストアにアップロードし、ストア側で分析される様子が紹介されている。この動画では、タイル画像の不足やグーグルのサービスを置き換えるべきといった分析結果が出ていた。実際には、次のProject Astoriaサブシステムのセキュリティモデルによる制限に引っ掛かることも多いだろうと予想される。
下: Build 2015のセッション2-702「PROJECT ASTORIA:Build Great Windows Apps with Your Android Code」の資料より。Project Astoriaでは、Android用パッケージapkをストアプリのパッケージappxで包み、それをProject Astoriaサブシステムの管理下で実行する。Project Astoriaサブシステムのセキュリティモデルにより、ファイルやネットワークアクセスなどは仮想化されるものと推測される。バックグラウンド実行モデルもWindows 10 for phonesと同様であろう(基本的にバックグラウンドではフリーズ状態にされると思われる)。
*1 Windows 10でストアアプリを開発するには、OSの開発者モードを有効にしなければならなくなった(有効にしていなくてもビルドまではできる)。その設定は「設定」アプリからできることになっているのだが、Windows 10 Insider Previewのビルド10074(4月29日公開)ではまだ実装されていない。その場合は、MSDN「Enable your device for development(英語)」の記述に従って、グループポリシーエディターなどで直接書き換える必要がある。
Copyright© Digital Advantage Corp. All Rights Reserved.