今回はまもなく発売される Windows 10 と、そのアプリ開発がどのように変わるのかを紹介したいと思います。
Windows 10 について
次のWindowsのメジャーバージョンはWindows 10です。
今まではWindows 8がメジャーバージョンの最新版でしたが、次は9ではなくて10です。なぜ次がWindows9ではないのかという質問に対し、記者会見では「seven ate nine (7が9を食べちゃった)」という冗談で返していました。
実際には7, 8とは大きくことなり、連番としての9を使うのが躊躇われたので飛躍の意味も込めて10にしたと語っています。
Windows 10の発売日やエディションについては以下のようになっています。
- 発売日: 2015 年 7 月 29 日
- エディション
- Home
- Mobile
- Pro
- Enterprize
- Educatioin
- Mobile Enterprize
- IoT Core
Windows 10はWindowsの最後のバージョンだと発表されています。アップデートを繰り返し、名前が変わるような大きなバージョンアップはしないとのことです。
また、Windows 7, 8, 8.1ユーザーに期間限定でWindows 10 へのアップグレードが無料で提供されます。すでに予約が開始されており、以下の画像の様にWindowsのタスクバーにWindowsのマークのアイコンが表示されています。このアイコンをクリックすることで手続きを開始することができます。
Windows10アプリ
8 / 8.1のときとのユニバーサルアプリの違い
Windows 8 / 8.1時代のユニバーサルアプリといえば、コードを各プラットフォーム向けのプロジェクト間で共有することができるものでした。 あくまでも全プラットフォーム共有のアプリを作成するわけではなく、アプリのバイナリは各アプリごとに存在し、それらをストアで紐付けることにより、エンドユーザからはユニバーサルなアプリとして見えるというものです。
以下の画像はWindows8.1向けで作成したユニバーサルアプリのプロジェクト作成で自動で生成されたものです。 .Windows、.WindowsPhone、.Sharedという3つのプロジェクトが生成されています。 この.Sharedプロジェクトに、共有したいコードを置いておくことで、各プロジェクト間でコードの共有をすることができます。これに対して、Windows 10におけるユニバーサルアプリは単一のプロジェクトでアプリを作成することができ、作成されるアプリのバイナリは1つです。そしてこのアプリがPC、スマートフォン、XBOX等で動作することになります。
Visual Sutdio 2015 RCで作成したWindows 10のユニバーサルアプリのプロジェクトの中身は以下の画像のとおり1プロジェクトになっているのがわかります。8 / 8.1のWindowsストアアプリとの違い
ここでは8 / 8.1時代のストアアプリとの違いの中でも大きな変更2点についてご紹介したいと思います。
- Windows 10ではアプリのウインドウサイズを自由にリサイズと配置ができるようになっています。以前のWindows 8 / 8.1時代のストアアプリは自由にサイズを変更できず、アプリを重ねることすらできませんでした。このおかげで今まで違和感のあったデスクトップアプリとの併用が違和感なくおこなえるようになっています。
- Windows10ではチャームがなくなっており、以下のようにアクションセンターと呼ばれるものがかわりに表示される。そのため、以前チャームにあった設定等を呼ぶにはアプリ内にボタン等を設置する必要があります。
Android/iOSアプリ等をWindows 10アプリに変換
Windows10では様々なアプリを「プラットフォーム ブリッジ」という仕組みを使うことでWindows10アプリに変換することができます。
Windows 10では4つのアプリのブリッジが用意されています。
- Web
- Win32/.NET
- Android
- iOS
ただし、これらのサービスが提供されるのは夏以降となっており、いつから利用できるのかはまだ確定していません。
Web – Project WestMinster
CordovaとオープンソースであるmanifoldJSを使って、Webアプリをネイティブアプリ化することができます。 WebアプリからWindows 10, Android, iOSアプリ等を作成することができます。
Win32/.NET – Project Centennial
Windows8以降のストアに登録する携帯のアプリであるWindows Store Appではなく、従来のDesktopアプリと呼ばれていたようなアプリをストアに登録できるように変換してくれます。
Android – Project Astria
apkを変換してWindows 10 アプリを作成することができます。そのためソースコードは必要ありません。
また、変換の際にGoogle Mapが使われていればBing Mapに、Google Playの課金サービスが使われていればWindows Store の課金サービスに変換したりと自動でサービスの変換も行われます。
iOS – Project Islandwood
Android(Project Astria)と違い、iOSではXCodeのプロジェクトをVisual Studioで読み込めるようになります。そのままVisual Studioでコンパイルすることにより、Windows10アプリの作成を行うことが出来ます。