脱プラットフォーム依存! 「Windows 10」でアプリ実行環境と開発環境はこんなに変わる「Visual Studio 2015」で新世代アプリ開発を始めよう

「Windows 10」では、アプリの実行環境と開発環境が大きく変わり、1つのアプリでより幅広いユーザー層へリーチできるようになる。そのポイントを整理してお届けする。

» 2015年07月23日 10時00分 公開
PR
このエントリーをはてなブックマークに追加

Windows 10で整備される共通アプリプラットフォームに注目

 2015年7月29日、いよいよMicrosoftの新OS「Windows 10」がリリースされる。アプリ開発者にとっての注目は、従来のWindows OSと異なり、Windows 10世代のOSでは「Universal Windows Platform(UWP)」として共通のプラットフォームが整備されることだ。

 これにより、PCやタブレットだけでなく、スマートフォン(Windows 10 Mobile)からゲーム機(Xbox One)、AR機能をサポートした新型ヘッドマウントディスプレイ「HoloLens」、大画面デバイスの「Surface Hub」、果ては組み込みの小型機器(IoT)まで、Windowsファミリー全体を横断して1つのアプリが共通動作できるようになっている。

 つまり、一度UWP向けにアプリを記述さえすれば、さまざまな種類のデバイスでそのまま動作するというわけだ。これは、従来のスマートフォンやPC向けOSには見られなかった大きな特徴だ。

「Windows 10」がカバーするデバイスの世界は広大。これだけ広い範囲のデバイスで共通のアプリが動作する環境が整っているのは、Windows 10ならではだ

 これはアプリ拡販のための「ビジネスチャンス」であり、異なるデバイスで同一アプリを動作させられることで業務効率の向上や管理運用面でのメリットも期待できる。あるいは「UWPならではのユニークなものを作り出す」ことで、自分の実力を試す場と捉えるのもいいだろう。Windows 10とUWPアプリを開発する環境がそろった今このタイミングで、ぜひ可能性を模索していただきたい。

デバイスを横断して共通のアプリが動作する「UWP」とは?

 UWPの大きな特徴としては、「さまざまなプログラミング手法をカバーすること」が挙げられる。例えば、Windowsで標準的なC++やC#などのプログラミング言語だけでなく、HTML+CSS+JavaScriptによるWebプログラミング手法をサポートしているのだ。

 このほか、Windows 7以前の「クラシック(Classic)」と呼ばれる従来型のデスクトップアプリケーションをUWPアプリとして動作させる「Project Centennial」、Webページをそのままアプリ化する「Project Westminster」、JavaやC++で記述されたAndroidアプリをそのままUWPアプリとして変換する「Project Astoria」、Objective Cで記述されたiOSアプリをUWPアプリへと移植可能な「Project Islandwood」などを用意する。

 UWP以外の世界でアプリ開発に親しんでいた開発者に対してもWindows 10の世界への門戸を開くべく、さまざまな仕掛けが用意されているのは重要なポイントだ。

「Universal Windows Platform(UWP)」では、あらゆる開発者に門戸を広げる。他の競合プラットフォーム開発者がWindows 10にアプリを移植しやすくするための入口もあるのがポイントだ

 もう1つの特徴は前述の通り、「一度作成されたアプリはプラットフォームを横断してさまざまなデバイスで共通動作すること」となる。この仕組みについて、米Microsoftのサティア・ナデラCEOは「One Core」という表現をよく用いている。

 One Coreとは「(プラットフォームを横断して)共通のOSコア、(アプリを利用する窓口となる)共通のアプリストア、(そしてそれを実現するための)共通のプラットフォーム」というように、Windows 8.1以前まではプラットフォームやデバイスごとに個別に存在していたものを、「Windows 10」と「UWP」をキーワードに1つへとまとめたことで実現したものだ。

UWPがカバーするデバイス群に対し、共通のUI、共通のアプリストア、共通の開発ツール、クラウドサービスを用意することで、開発者に一元的な開発環境を提供する

 もちろん、デバイスによって画面サイズや解像度は異なり、キーボードやタッチスクリーンなど搭載する入出力装置の違い、ハイエンドPCから小型の組み込み機器までマシンスペックの差は大きい。これら違いをアプリで吸収していくのは簡単な作業ではないが、一方でMicrosoft側も各種ツールの提供でその労力が最小限となるよう工夫している。アプリ開発者の腕の見せ所と言える。

 ビジネス的な視点な点では、Windows 10のスマートフォン/小型タブレット向けOSである「Windows 10 Mobile」の登場により、OEMメーカー各社ではWindowsスマートフォン事業再参入の気運が高まっており、チャンスが広がりつつある。

 Windows Phone 8/8.1の時代には参入メーカーが減少し、Microsoftが買収したNokiaの「Lumia」シリーズがシェアのほとんど握るという状況になり、日本に至ってはデバイスそのものが発売されずにいた。しかし今、日本ではマウスコンピューターのWindows Phone端末「MADOSMA」が発売され、今年後半をめどに各社がWindows Phone 8.1ならびにWindows 10 Mobile端末を世界の各市場へと投入しようとしている。

 もちろん、現状のスマートフォン世界シェアで言えばAndroidやiOSが圧倒的であり、現状でWindows Phoneのシェアは数%程度だ。しかし、人々の注目がWindows 10へと集まり、Windows 10 Mobileの可能性が見直される中、これを機会にプラットフォームの先駆者として活躍できるチャンスとも言える。スマートフォンだけでなく、PCユーザーを主要なターゲットに据えるのもいいだろう。

 いずれにせよ、間口が広がったことでアプリが対象とする潜在的なユーザーの数は増え、さまざまな開発者を受け入れる余地も広がったのが「Windows 10」と「UWP」の世界だ。

UWPアプリの開発に必要な「Visual Studio 2015」

 このUWPアプリを開発するために使うツールが「Visual Studio」だ。Windows 10の世代では「Visual Studio 2015」となり、Windows 10に先行する形で2015年7月20日に正式版の提供が開始された。

Windows 10リリース直前に、開発ツールの「Visual Studio」も最新版の「Visual Studio 2015」となった

 これまでのVisual Studioでは、開発規模やライセンス形態に応じて「Community」「Professional」「Premium」「Ultimate」の大きく分けて4つのエディションが存在していた。これがVisual Studio 2015の世代になると「Community」「Professional」「Enterprise」の3つへと統合され、これに付随するMSDNサブスクリプションのライセンス形態も変化する。

 Communityは昨年2014年秋に発表されたばかりの新しいエディションで、個人開発者や小規模な開発チームでの利用を想定した無償版のVisual Studioだ。従来まで無償版開発ツールとして「Visual Studio Express」が提供されていたが、Communityはその上位版にあたるProfessionalに近い形で機能強化が行われており、より使いやすくなった。

 基本的にCommunityとProfessionalでの機能面での差はないが、Professional版では利用にあたってのライセンス制限がないのに対し、Community版は商用利用で制限がついている点で異なる。また従来まで、Professionalの上位版としてテスト系機能を強化したPremiumと、フルセット版にあたるUltimateの2種類が用意されていたが、これはVisual Studio 2015世代ではEnterpriseという1つのエディションに統合される。

 位置付けとしては、入門や個人での開発にはCommunity、標準的な小中規模の開発にはProfessional、より大規模な開発にはEnterpriseという切り分けとなる。

Visual Studio 2015のエディションは「Community」「Professional」「Enterprise」の3つへと統合された

 そしてUWPアプリの開発には「Windows 10開発者ツール(developer tools)」が必要となる。「Windows 10 SDK」と「Windows 10モバイルエミュレーター」の2つで構成されており、これをVisual Studio 2015と組み合わせることで、UWPアプリの開発およびテストが可能になる。

 現在はプレビュー版での提供となっているが、Windows 10が正式リリースされる7月29日以降に開発者ツールも正式版へとアップデートが行われる見込みで、引き続きチェックしておくといいだろう。

MSDNと上手に付き合うことが、Windows 10アプリ開発のポイント

 Visual Studioの説明を読んでいると、「Visual Studio Professional with MSDN」や「Visual Studio Enterprise with MSDN」のように製品名に「MSDN」の名称を冠しているのを見かけるだろう。

 「MSDN(MicroSoft Developer Network)」は有償のサブスクリプションサービスであり、契約することで開発に必要なドキュメントや資料、そしてMicrosoftのソフトウェア利用権を得られる。特に後者が重要で、MSDNの各エディションで許可された範囲のWindows OSやOffice、各種サーバソフトウェアをインストールして利用できる。

 MSDNは個別契約も可能だが、基本的にはVisual Studio 2015とのセットで利用するのが一般的だ。ただし、ProfessionalとEnterpriseのエディションで、MSDNサブスクリプションの適用範囲が異なっており、例えばProfessionalに標準で付属するMSDNでは「Microsoft Office」のインストール権がないなどの違いがある。逆にEnterpriseはフルセット版であり、すべてのMicrosoftソフトウェアが対象だ。

 MSDNライセンスの特徴としては、開発者1人に1ライセンスが必要になることが挙げられる。1つのライセンスを複数の開発者で使い回すことは不可能なため、基本的に開発チーム全体でライセンス契約を行う仕様だ。

 サブスクリプション料金については、複数年一括契約や指定期間内(90日以内など)での更新を行うことで、通常に比べて半額近くに料金が下がったりと、継続し続けることで安くなるメリットがある。そのため、計画的にライセンスを維持して全体のコストを抑えることも可能だ。

 これからWindows 10のアプリ開発を始める場合の作戦としては、Visual Studio CommunityでWindows 10やUWPの世界に触れつつ、アプリ開発の可能性を探り、実際に本格的なアプリ開発の参入にあたってはMSDNサブスクリプションの付属したProfessional版を契約していくというのが自然な流れだろう。そして必要があれば、上位エディションのEnterpriseを検討してみるのも手だ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2015年8月12日