<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>Visual Studio &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/visual-studio/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>PCからIoTまで! Web技術を使ったユニバーサルWindowsプラットフォーム (UWP) アプリの開発</title>
		<link>/osamum_ms/20545/</link>
		<pubDate>Thu, 08 Sep 2016 01:00:45 +0000</pubDate>
		<dc:creator><![CDATA[物江 修]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows 10]]></category>
		<category><![CDATA[Windows Store]]></category>
		<category><![CDATA[uwp]]></category>
		<category><![CDATA[ハイブリッド]]></category>

		<guid isPermaLink="false">/?p=20545</guid>
		<description><![CDATA[連載： Web技術でアプリ開発2016 (3)「Web技術でアプリ開発2016」ということで、この記事ではPCからIoT機器まで、Windows 10プラットフォームであればデバイスを問わず動作する ユニバーサルWind...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/web-based-apps-2016/" class="series-391" title="Web技術でアプリ開発2016" data-wpel-link="internal">Web技術でアプリ開発2016</a> (3)</div><p>「Web技術でアプリ開発2016」ということで、この記事ではPCからIoT機器まで、Windows 10プラットフォームであればデバイスを問わず動作する ユニバーサルWindowsプラットフォーム (以下、UWPと記述) 上で動作するアプリについて紹介します。</p>

<p>このアプリはもちろんHTML、CSS + JavaScriptといったWeb開発者が慣れ親しんだ技術で開発することができます。また、インターネットでホストされているWebページをラップしてアプリ化することができます。</p>

<p>UWPをターゲットとしたアプリ開発では、新規開発はもちろん、既存のWeb資産を利用してアプリを開発し、さまざまな Windows 10デバイスに横断的に機能を提供することができます。</p>

<p>この記事では、UWPがどのようものであるか、UWP上で動作するアプリの開発方法と公開方法について紹介します。</p>

<h1>ユニバーサルWindowsプラットフォーム (UWP)アプリ とは</h1>

<p>Windows 10では、<a title="最新のWindows PC、ノートPC、タブレットのご紹介 | Microsoft Windows 10" href="https://www.microsoft.com/ja-jp/windows/view-all" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>PC</strong></a>、<a title="Windows 10 Mobileにアップグレードする方法 - マイクロソフト" href="https://www.microsoft.com/ja-jp/windows/windows-10-mobile-upgrade" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>モバイル</strong></a>、<a title="Xbox | Official Site" href="http://www.xbox.com/ja-JP/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>XBOX</strong></a>、<a title="Microsoft Surface Hub | コラボレーション デバイス" href="https://www.microsoft.com/microsoft-surface-hub/ja-jp" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Surface Hub</strong></a>、<a title="Microsoft HoloLens | Official Site" href="https://www.microsoft.com/microsoft-surface-hub/ja-jp" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>HoloLens</strong></a>、<a title="Raspberry Pi 3とArduinoでのWindows 10 IoTアプリの開発 - Windows IoT" href="https://developer.microsoft.com/ja-jp/windows/iot" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>IoT</strong></a> 機器といったデバイスファミリーで共通のカーネルを採用しており、これによりアプリケーションのプラットフォームが統合されました。</p>

<div style="width: 400px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/08/image7.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="/wp-content/uploads/2016/08/image_thumb7.png"
      width="450" height="174"></a>
</div>

<p><br /></p>

<p>このWindows 10デバイスファミリーで統合されたプラットフォームをユニバーサルWindowsプラットフォーム (Universal Windows Platform : UWP)と呼びます。</p>

<div style="width: 500px;margin: 0px auto">
  <br>
  <a href="https://html5experts.jp/wp-content/uploads/2016/08/image8.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;float: none;padding-top: 0px;padding-left: 0px;margin-left: auto;padding-right: 0px;border-top-width: 0px;margin-right: auto" border="0" alt="image" src="/wp-content/uploads/2016/08/image_thumb8.png"
      width="500" height="273">
    <br>
  </a>
  <br>
</div>

<p>UWP用のアプリは、OSのバージョンではなくデバイスファミリーを対象としますが、UWPのコアAPIはすべてのWindowsデバイス ファミリーに共通であり、アプリにコアAPIのみを使う場合は、そのアプリはいずれのWindows 10デバイスでも動作します。</p>

<p>つまり、固有のデバイスに縛られることなく、目的のデバイスファミリーをターゲットして再コンパイルすることでPCから IOT基板まで、さまざまな機器に配置し、動作させることができるのです。</p>

<p>Webの開発者からみればハードルが高そうなIoT機器用のアプリもHTML、CSS + JavaScriptで開発することができます。</p>

<p>たとえば、以下の記事では、Raspberry Piとディスプレイをマジックミラーの裏に配置し、洗面台の鏡の中に情報を表示するアプリを紹介していますが、この上表を表示するアプリはHTML、CSS + JavaScriptを使用したUWPアプリです。</p>

<ul>
  <li><a href="https://blogs.windows.com/msedgedev/2016/05/31/magic-mirror-hosted-web-app/#ZA4Bz3egXpR7RBJS.99" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Building an IoT Magic Mirror with Hosted Web Apps and Windows 10</strong></a> </li>
</ul>

<p>また逆に、拡張機能SDKにより特殊なデバイス用のアプリも開発することもできます。</p>

<h1>UWPアプリのメリット</h1>

<p>UWPアプリのメリットは、前述したようにデバイスファミリーを横断したアプリの開発が容易であるということもありますが、それ以外でも、複数の言語で開発することができることや、UWPが公開する豊富なAPIを直接使用できるということがあるでしょう。</p>

<p>UWPアプリのロジック部分はC#、Visual Basic、C、C++、JavaScriptといった開発言語で記述することができ、UI部分は XAML (C#、VB、C、C++)、DirectX (C、C++)と、HTML/CSS (JavaScript)で記述することができます。</p>

<div style="width: 600px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/09/image1.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="/wp-content/uploads/2016/09/image_thumb1.png"
      width="600" height="338"></a>
</div>

<p><br /></p>

<p>UWPのリソースにアクセスするためのWindowsランタイム(WinRT) APIには、各言語ともWindows名前空間を空間を介して接続することができます。</p>

<p>WinRT APIは Windows 10の予定表や連絡先、タイルといったOSが持つソフト的なリソースからBluetoothやWi-Fi、USBといったハード的リソースへのアクセスなど、幅広く機能を提供します。そしてこれらのAPIはUWPでサポートされている言語であれば、言語を問わず利用することができます。</p>

<p>Windowsランタイムがアプリ向けに公開しているAPIのついての詳細は以下のドキュメントをご参照ください。</p>

<ul>
  <li><a title="WindowsランタイムアプリのWindows APIリファレンス - Windows app development" href="https://msdn.microsoft.com/ja-jp/library/windows/apps/br211377.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Windows ランタイム アプリのWindows APIリファレンス</strong></a> </li>
</ul>

<h1>開発環境</h1>

<p>UWPアプリの開発はWindows 10と<a title="Visual Studio - Microsoft Developer Tools" href="https://www.visualstudio.com/ja-jp/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Visual Studio 2015</a>もしくは、<a title="Apache Cordova" href="https://cordova.apache.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Apache Cordova</a>を使用して行うことができます。</p>

<h2>Visual Studio 2015とApache Cordovaの使い分け</h2>

<p>Visual Studio 2015では、それ単体によるUWPアプリの開発はもちろん、<a title="Visual Studio Tools for Apache Cordova" href="https://www.visualstudio.com/ja-jp/features/cordova-vs.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Visual Studio Tools for Apache Cordova</strong></a> を使用してiOS、Android、UWPアプリの開発が行えます。</p>

<p>つまり、Visual Studio 2015ではそれ単体とApache Cordovaのどちらかを使用してUWPアプリを開発することができますが、これは単に機能が重複しているということではなく、以下のように状況や目的に合わせて使い分けるためにあります。</p>

<div style="width: 600px;margin: 0px auto">
  <table cellspacing="0" cellpadding="2" width="600" border="1">
    <tbody>
      <tr>
        <td style="text-align: center;background-color: lightskyblue" valign="middle" width="200">開発環境</td>
        <td style="text-align: center;background-color: lightskyblue" valign="middle">用途</td>
      </tr>
      <tr>
        <td valign="middle" width="200">Visual Studio 単体</td>
        <td valign="middle">特殊デバイス向けの開発など、UWP固有の機能を使用した実装を行う場合</td>
      </tr>
      <tr>
        <td valign="middle" width="200">Apache Cordova</td>
        <td valign="middle">共通のソースで、UWP以外のiOSやAndroidにもアプリを提供する場合</td>
      </tr>
    </tbody>
  </table>
</div>

<p>なお、Visual Studio 2015は有償製品ですが、非営利目的やオープンソースソフトウェアの開発であれば、無償の<strong> </strong><a title="Visual Studio Community - Visual Studio" href="https://www.microsoft.com/ja-jp/dev/products/community.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Visual Studio Community</strong></a><strong>　</strong>を使用することができます。</p>

<p>Visual Studio Communityは、機能的にはVisual Studio Professionalと同等であり、クロスプラットフォーム開発をサポートしています。</p>

<h1>開発できるアプリの形式</h1>

<p>HTML、CSS + JavaScriptで開発できるUWPアプリの形式は、大まかにUI部分をクライアントサイドにインストールするパッケージ型と、ネットワークにホストされているコンテンツをラップしたホスト型の2つのタイプに大別されます。</p>

<div style="width: 500px;margin: 0px auto">
  <table cellspacing="0" cellpadding="2" width="500" border="1">
    <tbody>
      <tr>
        <td style="text-align: center;background-color: lightskyblue" valign="middle" width="150">アプリの型式</td>
        <td style="text-align: center;background-color: lightskyblue" valign="middle">状態</td>
      </tr>
      <tr>
        <td valign="middle" width="150">パッケージ型</td>
        <td valign="middle">UI部分をクライアントサイドにインストールするもの
          <br>一部 WebViewコントロールで覆ったものもプロジェクトテンプレート上はこれにあたる</td>
      </tr>
      <tr>
        <td valign="middle" width="150">ホスト型</td>
        <td valign="middle">ネットワークにホストされている
          <br>Webコンテンツをラップしたもの</td>
      </tr>
    </tbody>
  </table>
</div>

<p>一部をWebViewコントロールで覆ったものもVisual Studioのプロジェクトテンプレート上はパッケージ型に含まれます。</p>

<div style="width: 500px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/08/image9.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="/wp-content/uploads/2016/08/image_thumb9.png"
      width="500" height="331"></a>
</div>

<p>パッケージ型、ホスト型アプリにはそれぞれ特徴とメリットがあります。</p>

<p>パッケージ型アプリは、動作に必要なリソースをクライアントサイドにインストールできるので、アプリの作りによっては、動作にサーバーサイドのリソースを必要としない完全にオフラインのアプリを作ることも可能です。</p>

<p>ホスト型のアプリの場合は、ネットワーク上に公開されているコンテンツを表示しているので、画面や機能を変更する際でも再インストールの必要はなく、常に最新の情報を提供することができます。また、Webサイト向けのコンテンツの開発と作業が一元化できます。
  <br>ホスト型のアプリはその性質上オンラインでの使用が大前提となりますが <a href="https://developers.google.com/web/progressive-web-apps/" target="_brank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Progressive Web Apps</strong> </a>の実装が可能になればこういった制限も大幅に緩和され、パッケージ型よりもホスト型が選択されるケースが増えることでしょう。</p>

<div style="width: 300px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/08/image10.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="/wp-content/uploads/2016/08/image_thumb10.png"
      width="400" height="302"></a>
</div>

<p><br />&nbsp;</p>

<p>パッケージ型のアプリはもちろん、ホスト型のアプリも、適切なセキュリティ設定を行うことにより、Windowsランタイム API にアクセスできます。</p>

<p>たとえば、以下の記事では、Webサイトに公開されているページに記述されているJavaScirptからNFCデバイスにアクセスする方法について紹介しています。</p>

<ul>
  <li><a title="UWPのHosted WebアプリからのNFCデバイスへのアクセス" href="https://blogs.msdn.microsoft.com/osamum/2016/06/02/uwp-%e3%81%ae-hosted-web-%e3%82%a2%e3%83%97%e3%83%aa%e3%81%8b%e3%82%89%e3%81%ae-nfc-デバイス%e3%81%b8%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>UWPのHosted WebアプリからのNFCデバイスへのアクセス</strong></a></li>
</ul>

<h1>開発方法</h1>

<p>Visual Studio 2015に用意されたプロジェクトテンプレートを使用してプロジェクトを作成し、コーディングしていきます。</p>

<p>HTML、CSS + JavaScriptで開発するUWPアプリに用意されているプロジェクトテンプレートの種類は以下のとおりです。(2016年9月現在)</p>

<div style="width: 600px;margin: 0px auto">
  <table cellspacing="0" cellpadding="2" width="600" border="1">
    <tbody>
      <tr>
        <td style="text-align: center;background-color: lightskyblue" valign="middle" width="230">プロジェクトテンプレートの種類</td>
        <td style="text-align: center;background-color: lightskyblue" valign="middle">説明</td>
      </tr>
      <tr>
        <td valign="middle" width="230">空白のアプリ</td>
        <td valign="middle">事前定義されたコントロールやレイアウトのないユニバーサルWindowsアプリのためのプロジェクト。コンテンツセキュリティポリシー(CSP)を適用します。すべてのユニバーサルWindows APIに直接アクセスします。</td>
      </tr>
      <tr>
        <td valign="middle" width="230">WinJSアプリ</td>
        <td valign="middle">WinJS を使用しているユニバーサルWindowsアプリのプロジェクトです。すべてのユニバーサルWindows APIに直接アクセスできます。</td>
      </tr>
      <tr>
        <td valign="middle" width="230">ホストされるWebアプリ</td>
        <td valign="middle">リモートの開始ページを含むユニバーサルWindowsアプリのプロジェクトです。すべてのユニバーサル Windows APIにアクセスするには、URLをアプリケーション コンテンツURI規則に追加する必要があります。</td>
      </tr>
      <tr>
        <td valign="middle" width="230">空のアプリ-Webコンテキスト</td>
        <td valign="middle">ローカルコンテンツをWebからのものとして処理します。既定のアプリケーションコンテンツポリシー(CSP)はありません。ユニバーサルWindows APIにアクセスするには、URIがアプリケーション コンテンツURI規則で宣言されている必要があります。</td>
      </tr>
    </tbody>
  </table>
</div>

<p>開発を開始するための具体的な手順について、以下のチュートリアルを参照してください。</p>

<ul>
  <li><a title="Hello, worldアプリを作成する (JS)" href="https://msdn.microsoft.com/windows/uwp/get-started/create-a-hello-world-app-js-universal" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>JavaScript とHTMLのチュートリアル</strong></a>
    <li><a title="Hello, worldアプリを作成する (XAML)" href="https://msdn.microsoft.com/windows/uwp/get-started/create-a-hello-world-app-xaml-universal" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>C#とXAMLのチュートリアル</strong></a>
      <li><a title="C++ を使った&quot;hello world&quot;アプリの作成(Windows 10)" href="https://msdn.microsoft.com//windows/uwp/get-started/create-a-basic-windows-10-app-in-cpp" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>C++とXAMLのチュートリアル</strong></a></li>
</ul>

<h1>配布方法</h1>

<p>UWPアプリの公開は、一般的にはWindowsストアを介して行われます。</p>

<div style="width: 200px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/09/image2.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;padding-top: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px" border="0" alt="image" src="/wp-content/uploads/2016/09/image_thumb2.png"
      width="200"></a>
</div>

<p><br /></p>

<p>Windowsストアにアプリを公開するには、Windowsデベロッパーセンターのダッシュボードから、<a title="UWPアプリのパッケージ化" href="https://msdn.microsoft.com/ja-jp/windows/uwp/packaging/packaging-uwp-apps" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">appx形式にパッケージングした</a>アプリを提出します。Windowsストア側で安全性を含め様々な審査が実施され、合格すると公開されます。</p>

<p>UWPアプリをWindowsストアに公開するまでの、開発者アカウントの作成からパッケージの提出、支払いの受け取り (販売した場合) までの具体的な方法については以下のドキュメントを参照してください。</p>

<ul>
  <li><a title="Windowsアプリの公開 | MSDN" href="https://msdn.microsoft.com/ja-jp/windows/uwp/publish/index" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Windowsアプリの公開</strong></a></li>
</ul>

<p>会社組織のみの利用を想定した場合など、Windowsストアで公開を希望しない場合にはサイドローディングという方法を使用して、管理化にあるデバイスにUWPアプリを直接インストールすることができます。</p>

<p>サイドローディングの具体的な方法については以下のドキュメントを参照してください。</p>

<ul>
  <li><a title="DISMを使ったアプリのサイドローディング" href="https://msdn.microsoft.com/ja-jp/library/windows/hardware/dn938326(v=vs.85).aspx#UnderstandingConcepts" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>DISM を使ったアプリのサイドローディング</strong></a></li>
</ul>

<h1>収益モデル</h1>

<p>Windowsストアでは提出したアプリを販売することができます。また、アプリ内の課金も可能です。開発者Windowsストアが用意するさまざまな仕組を利用して収益を上げることができます。</p>

<p>現在Windowsストアで収益を上げるには、以下の3つの方法があります。</p>

<ol>
  <li><strong>アプリそのものの販売</strong>
    <li><strong>アプリ内課金(In-App purchase : IAP)</strong>
      <li><strong>アプリ内広告</strong></li>
</ol>

<p>これら収益に関する詳しい内容は、以下のドキュメントを参照してください。</p>

<ul>
  <li><a title="アプリの価格と使用可能状況の設定" href="https://msdn.microsoft.com/ja-jp/windows/uwp/publish/set-app-pricing-and-availability" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>アプリの価格と使用可能状況の設定</strong></a>
    <li><a title="IAPの申請" href="https://msdn.microsoft.com/ja-jp/windows/uwp/publish/iap-submissions" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>IAPの申請</strong></a>
      <li><a title="広告による収益獲得" href="https://msdn.microsoft.com/ja-jp/windows/uwp/publish/monetize-with-ads" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>広告による収益獲得</strong></a></li>
</ul>

<h1>まとめ</h1>

<p>この記事ではWindows 10から採用されたユニバーサルWindowsプラットフォーム用のアプリ(UWPアプリ) について紹介しました。</p>

<p>UWPアプリは Window 10デバイスファミリーに対し横断的にアプリを開発できます。そのためPC、スマートフォンはもちろん、Web開発者からは技術的に遠いIoTデバイス向けのアプリも使い慣れた HTML,CSS + JavaScriptで開発することができます。</p>

<p>Continuumにも対応しているため、対応スマートフォンをテレビやディスプレイに接続した際にユーザーにデスクトップエクスペリエンスを提供することもできます。</p>

<div style="width: 500px;margin: 0px auto">
  <a href="https://html5experts.jp/wp-content/uploads/2016/09/image3.png" data-wpel-link="internal"><img title="image" style="border-left-width: 0px;border-right-width: 0px;border-bottom-width: 0px;float: none;padding-top: 0px;padding-left: 0px;margin-left: auto;padding-right: 0px;border-top-width: 0px;margin-right: auto" border="0" alt="image" src="/wp-content/uploads/2016/09/image_thumb3.png"
      width="500" height="250"></a>
</div>

<p>Webブラウザー上で動作するアプリはもちろん、他のハイブリット アプリ用フレームワーク向けのコンテンツでも、HTML、CSS + JavaScriptを使用して作られているのであれば、特別なことをしていない限りはUWPアプリへの移植はそれほど難しくはありません。</p>

<p>新規での開発はもちろん、既存のアプリの新たな市場獲得のための移植先としても検討してもいいかもしれません。</p>

<p>UWP開発についてのより詳しい情報は以下をぜひご覧ください。</p>

<ul>
  <li><a title="ユニバーサルWindowsプラットフォーム (UWP) 向けアプリの開発" href="https://msdn.microsoft.com/ja-jp/library/dn975273.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>ユニバーサル Windowsプラットフォーム(UWP)向けアプリの開発</strong></a></li>
  <li><a title="ユニバーサルWindowsアプリの開発 - Windowsアプリの開発" href="https://developer.microsoft.com/ja-jp/windows/develop" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>ユニバーサル Windowsアプリの開発 &#8211; Windowsアプリの開発</strong></a></li>
  <li><a title="ユニバーサルWindowsプラットフォーム アプリ(UWP)のデザイン - Windowsアプリ開発" href="https://developer.microsoft.com/ja-jp/windows/design" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>ユニバーサルWindows プラットフォームアプリ(UWP)のデザイン &#8211; Windowsアプリ開発</strong></a></li>
</ul>
]]></content:encoded>
		
		<series:name><![CDATA[Web技術でアプリ開発2016]]></series:name>
	</item>
		<item>
		<title>Visual Studio 2013 を使った楽ちんCordovaプログラミング</title>
		<link>/osamum_ms/7941/</link>
		<pubDate>Wed, 09 Jul 2014 01:00:14 +0000</pubDate>
		<dc:creator><![CDATA[物江 修]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Cordova]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[ハイブリッド]]></category>

		<guid isPermaLink="false">/?p=7941</guid>
		<description><![CDATA[連載： ハイブリッドアプリ開発最前線 (6)Visual Studioの開発機能は、これまでWindowsプラットフォーム向けのものでしたが、Visial Studio 2013 Update 2からは、Multi-De...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/hybrid-special/" class="series-181" title="ハイブリッドアプリ開発最前線" data-wpel-link="internal">ハイブリッドアプリ開発最前線</a> (6)</div><p>Visual Studioの開発機能は、これまでWindowsプラットフォーム向けのものでしたが、Visial Studio 2013 Update 2からは、<a title="Multi-Device Hybrid Apps" href="http://msdn.microsoft.com/ja-jp/vstudio/dn722381" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Multi-Device Hybrid Apps</a>というアドインをインストールすることにより <a title="Apache CORDOVA" href="http://cordova.apache.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Apache CORDOVA</a> を使用したAndroid、iOS用アプリを開発することができます。 </p>

<p>今回は<a title="Visual Studio 2013 Update 2" href="http://www.microsoft.com/ja-JP/download/details.aspx?id=42666" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Visual Studio 2013 Update 2</a>用のアドイン <a title="Multi-Device Hybrid Apps" href="http://msdn.microsoft.com/ja-jp/vstudio/dn722381" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Multi-Device Hybrid Apps</a>について紹介します。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb69.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="430" height="206" title="image_thumb69" style="border: 0px currentcolor" alt="image_thumb69" src="/wp-content/uploads/2014/07/image_thumb69_thumb.png" border="0"></a> 

  <br>(Multi-Device Hybrid Appsの構成)</p>

<p><br></p>

<h1>Multi-Device Hybrid Appsとは</h1>

<p>Multi-Device Hybrid Appsは<a title="Professional" href="http://www.visualstudio.com/products/visual-studio-professional-with-msdn-vs" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Professional</a>以上のエディションのVisual Studio 2013でApache CORDOVAを使用してAndroid、iOSアプリの開発を可能とするためのアドインです。</p>

<p>Visual Studio 2013の提供する強力なコード補完機能、デバッグ機能を使用して、Android、iOS (およびWindows 8とWindows Phone 8.0) のアプリを開発することができます。</p>

<p>Multi-Device Hybrid Appsが提供する機能は以下の図のとおりです。</p>

<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb72.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="500" height="217" title="image_thumb72" style="border: 0px currentcolor" alt="image_thumb72" src="/wp-content/uploads/2014/07/image_thumb72_thumb.png" border="0"></a> 

  <br>(Multi-Device Hybrid Appsが提供する機能) 

  <br>※Windows 8、Windows Phone 8.1については割愛</p>

<h3>開発のターゲットとなるプラットフォーム</h3>

<ul>
  <li>Android 4+ (4.4 にもっとも最適な開発エクスペリエンスが提供されます)</li>

  <li>iOS 6 &amp; 7</li>

  <li>Windows 8.0 (ストアアプリ)</li>

  <li>Windows Phone 8.0</li>
</ul>

<h3>ビルド</h3>

<ul>
  <li>Android : 〇</li>

  <li>iOS : × </li>

  <li>Windows 8 : 〇</li>

  <li>Windows Phone 8.0 : 〇</li>
</ul>

<dl><dt><strong>[Mac OS用アプリのビルドについて]</strong><br />現状、iOS用アプリはWindows上でビルドすることはできません。Multi-Device Hybrid Appsで開発したソースをビルドしてApp Storeに公開するには、Mac OS X Mavericks上のXcode 5.1でコンパイルするか、Mac OS上にインストールしたリモートビルド用のエージェントを使用してビルドを行う必要があります。iOSアプリのリモートビルドの詳細な方法については、以下のドキュメントを参照してください。 <dl><dt><strong>Documentation Multi-Device Hybrid Apps for Visual Studio</strong> 

  <br><a title="Documentation Multi-Device Hybrid Apps for Visual Studio" href="http://go.microsoft.com/fwlink/?LinkID=397716" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">http://go.microsoft.com/fwlink/?LinkID=397716</a></dt></dl>



</dt></dl>

<h3>デバッグ</h3>

<p>Cordovaアプリの開発にVisual Studioがもたらす利点のひとつは、アプリの種類およびデバイス、 プラットフォーム全体を横断するシームレスかつ共通化されたツール類です。しかしながら現リリース (CTP1.1) の Multi-Device Hybrid Appsでは、すべてのデバイス、プラットフォームで同じVisual Studioデバッガ機能を利用することができません。</p>

<p>現在のデバッガのサポート状況は以下の通りです。</p>

<p><strong>Visual Studio デバッガサポート</strong>

<ul>
  <li>Android 4.4 : 〇 </li>

  <li>Android &lt; 4.4 : ×</li>

  <li>iOS 6 &amp; 7 : ×</li>

  <li>Windows 8 (ストア アプリ) : 〇</li>

  <li>Windows Phone 8.0 : ×</li>
</ul></p>

<p>(※)Visual Studio&nbsp;デバッガーはRippleやAndroid 4.4 エミュレーターまたはデバイスでの最初のページの読み込み前に発生するブレークポイントでは停止されません。ただし、ブラウザー&nbsp; (Ripple)を更新またはJavaScriptコンソールから &#8220;window.location.reload()&#8221; を実行したあとではこれらのブレークポイントにヒットします。</p>

<p><strong>アウトプット ウインドウでのJS コンソール メッセージ</strong></p>

<ul>
  <li>Android 4.4 : 〇</li>

  <li>Android &lt; 4.4 : 〇</li>

  <li>iOS 6 &amp; 7 : ×</li>

  <li>Windows 8 (ストア アプリ) : 〇</li>

  <li>Windows Phone 8.0 : ×</li>
</ul>

<h3>エミュレーター</h3>

<p>Multi-Device Hybrid Appsには、エミュレーターとしてApache Rippleがインストールされます。<a title="Apache Ripple" href="http://ripple.incubator.apache.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Apache Ripple</a> エミュレーターはChromeのようなWebKitブラウザー内部の Webアプリケーションとして実行されます。CORDOVA環境では、複数のデバイスとプラットフォームをシミュレートし、位置情報やデバイスの向きのような、CORDOVAプラグイン コアの基本的な機能をサポートします。</p>

<fieldset><legend><strong>Android OSのWeb viewについて</strong></legend>ご存じのとおり、WebkitはApple Safari、Google Chromeのレンダリングエンジンとして使用されていたので、iOS、Androidアプリのテストに使用するには理にかなっているのですが、現在ではChromeのレンダリングエンジンはBlinkに代わっています。BlinkはWebkitをフォームして作ったものなので、ある程度の挙動は同じかもしれませんが、完全に同じではないということを意識したほうがよいでしょう。 

  <br>ちなみにAndroid OSの既定のWebブラウザはChromeではなくてAndroidブラウザですが、4.3からはChromiumベースだそうですのでChrome と同じと考えよいと思います。 

 <br />&nbsp;<br /> <dl><dt>&lt;参考&gt; 
    <br>Migrating to WebView in Android 4.4 

    <br><a title="Migrating to WebView in Android 4.4" href="http://developer.android.com/guide/webapps/migrating.html" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">http://developer.android.com/guide/webapps/migrating.html</a></p>
</fieldset>

<p></dt></dl>Apache Rippleは、AndroidとiOS上で動作するアプリのオーサリングと検証の第一歩を簡単かつ迅速に提供しますが、Rippleは、iOS シミュレータのように、そのエミュレーションにおいて決して完全ではありません。「Web View (WebKit)での動作検証 + 基本的なCORDOVAコアAPIのテスト」くらいにとらえておくがよいでしょう。よって、完全な検証は実機で、少なくともネイティブのエミュレーターで行うことをお勧めします。</p></p>

<h1>Multi-Device Hybrid Appsのインストール</h1>

<p>Multi-Device Hybrid Appsを使用するメリットのもうひとつに、Cordova開発環境構築にかかる工数が圧倒的に少なくてすむということがあげられます。</p>

<p><a title="VisualStudio 2013 Update2" href="http://www.microsoft.com/ja-JP/download/details.aspx?id=42666" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">VisualStudio 2013 Update2</a> + Multi-Device Hybrid Appsを使用しない、従来の方法で Windows OSにCordoveの開発環境を構築するには、大まかに以下のステップが必要となります。</p>

<ol>
  <li><a title="Node.js" href="http://nodejs.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Node.js</a>のインストール</li>

  <li>Node.jsのnpmコマンドを使用した<a title="Apache Cordove" href="http://cordova.apache.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Apache Cordove</a>のインストール</li>

  <li><a title="Apache Ant" href="http://ant.apache.org/" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Apache Ant</a>のインストール</li>

  <li><a title="Java SE Development Kit 7 Downloads" href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Java(JDK)</a>のインストール</li>

  <li>Android SDKのダウンロードと展開</li>

  <li>Android SDK&nbsp;のパスを通すための作業</li>

  <li>Androud SDKにあるSDK Managerを使用して必要なツールと拡張をインストールする</li>

  <li>ひな形となるCordoveプロジェクトの作成</li>

  <li>Cordoveプロジェクトから、目的のプラットフォーム用のプロジェクトを作成</li>
</ol>

<p>この手順は、インストールはもちろん、プロジェクトの作成まで、すべてコマンドラインで行う必要があります。</p>

<p>こう書くと、手順が多く操作も煩雑で、なんだかとても大変そうですが、実際のところとても大変です。Multi-Device Hybrid Appsを使用する場合は、Windows&nbsp; 8.1に&nbsp; Visual Studio 2013 Update 2がインストールされた環境で、Multi-Device Hybrid Appsのセットアップウィザードを実行するだけです。</p>

<p>また、Cordove開発環境が使用している各モジュールに更新が行われた場合には、VisualStudioが通知してくれるので、安心して使い続けることができます。</p>

<h1>インストールの前提条件</h1>

<p><a title="Multi-Device Hybrid Apps" href="http://msdn.microsoft.com/ja-jp/vstudio/dn722381" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Multi-Device Hybrid Apps</a>アドインをインストールする前に、以下のソフトウェアと各オプションをインストールし、正常に動作するようにしておく必要があります。   <ul>
  <li>Windows 8.1</li>

  <li>Visual Studio 2013のProfessional,、Ultimateもしくは、Premiumエディション<br />&nbsp;&nbsp;&nbsp;以下の機能がインストールされている必要があります。  <ul>  <li>Tools for Maintaining Store apps for Windows 8</li>   <li>Windows Phone 8.0 SDK (Windows Phone 8.0 アプリを開発するのであれば)</li>  </ul> </li>   <li><a title="Visual Studio 2013 Update 2" href="http://www.microsoft.com/ja-JP/download/details.aspx?id=42666" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Visual Studio 2013 Update 2</a> </li>
</ul> </p>

<h2>Multi-Device Hybrid Appsのインストール手順</h2>

<p>Muiti-Device Hybrid Appsアドインのインストールは。インストールをイメージを入手して実行し、セットアップウィザードのボタンをクリックしていくだけです。</p>

<p>具体的な手順は以下のとおりです。</p>

<ol>    <li><a title="Multi-Device Hybrid Apps (Preview)" href="http://msdn.microsoft.com/ja-jp/vstudio/dn722381" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Multi-Device Hybrid Apps (Preview)</a> の配布ページで「Download」リンクをクリックします。  <br /><br /> <dl style="margin-left:30px"><dt><strong>Multi-Device Hybrid Apps (Preview)</strong> 

    <br><a title="Multi-Device Hybrid Apps (Preview)" href="http://msdn.microsoft.com/ja-jp/vstudio/dn722381" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">http://msdn.microsoft.com/ja-jp/vstudio/dn722381</a></dt></dl>   </li>    <li>Download Center に遷移するので、ページ内の [Download] ボタンをクリックします。 
<br>&nbsp;</li>

  <li>「Choose the download you want」のパネルが表示されるので、vs2013mda_0.1.1.exe と Documentation for Multi-Device Hybrid Apps for Visual Studio CTP1.1.pdf&nbsp; にチェックをつけ [Next] ボタンをクリックします。 
<br />&nbsp;    <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb57.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"> <img width="502" height="194" title="image_thumb57" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb57" src="/wp-content/uploads/2014/07/image_thumb57_thumb.png" border="0"></a>

</p>  exeファイルは Multi-Device Hybrid Appsのインストールイメージ、pdf は Multi-Device Hybrid Appsの詳細なドキュメント(英語)です。このドキュメントは、Multi-Device Hybrid Appsについての非常に詳細な情報が書かれているので一読されるのをおすすめします。       <br>&nbsp;</li>

  <li>exe ファイルとpdfファイルは別々にダウンロードされるので、「download.microsoft.comからvs2013mda.exeを実行または保存しますか?」ダイアログで [実行] ボタンをクリックしします。<br />&nbsp;   <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb188.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="500" height="28" title="image_thumb188" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb188" src="/wp-content/uploads/2014/07/image_thumb188_thumb.png" border="0"></a>

    </p> </li>

  <li>インストールウィザードが起動してくるので、[Select All] にチェックが付いた状態で [INSTALL] ボタンをクリックし、インストールを行ってください。 
    <br />&nbsp;<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb187.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="300" height="421" title="image_thumb187" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb187" src="/wp-content/uploads/2014/07/image_thumb187_thumb.png" border="0"></a></p> あとはウィザードの内容に従って作業を進めてください。 

    <br>なお、インストール作業は、必ずコンピューターをネットワークに接続した状態でインストールを行ってください。&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br></li>

  <h2>Muiti-Device Hybrid Appsがインストールするもの</h2>

  <p>Muiti-Device Hybrid Appsアドインのセットアップウィザードは、以下のサードパーティー製のものも同時にインストールします。</p>

  <ul>      <li><a title="Joyent Node.js" href="http://go.microsoft.com/fwlink/?LinkID=396867" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Joyent Node.js</strong></a> &#8212; Apache CordovaのコマンドラインインターフェースとApache RipperエミュレーターをVisual Studioに統合します。</li>

    <li><a title="Git CLI" href="http://go.microsoft.com/fwlink/?LinkID=396870" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Git CLI</strong></a> &#8212; プラグイン用にgitのURLを手動で追加する場合にのみ必要です。</li>

    <li><strong>Google Chrome</strong> &#8212; Apache Ripperエミュレーターを動作させるのに必要です。</li>

    <li><a title="Apache Ant 1.8.0+" href="http://go.microsoft.com/fwlink/?LinkID=396869" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Apache Ant 1.8.0+</strong></a> &#8212; Android ビルドプロセスの依存関係として必要です。</li>

    <li><a title="Oracle Java JDK 7" href="http://go.microsoft.com/fwlink/?LinkID=396871" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Oracle Java JDK 7</strong></a><strong> </strong>&#8212; 〃</li>

    <li><a title="Android SDK" href="http://go.microsoft.com/fwlink/?LinkID=396873" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Android SDK</strong></a> &#8212; 〃</li>

    <li><a title="SQLLite for Windows Runtime" href="http://go.microsoft.com/fwlink/?LinkID=397310" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>SQLite for Windows Runtime</strong></a> &#8212; SQL接続をWindowsアプリに追加するのに必要です。(WebSQLのポリフィルプラグイン)</li>

    <li><a title="Apple iTunes" href="http://go.microsoft.com/fwlink/?LinkID=397715" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><strong>Apple iTunes</strong></a> &#8212; Windows PCに接続されたiOSデバイスにアプリを展開するのに必要</li>
  </ul>

  <p>アンインストールする際、Muiti-Device Hybrid Appsのインストーラーは、これれらのすべてを削除してはくれませんので、残ったものに関しては、それぞれ個別にアンインストールする必要がありますので、ご注意ください。</p>      <h1>Muiti-Device Hybrid Appsを使った Android、iOSアプリの開発</h1>   <p>Visual Studio 2013 で Cordoveを使用した開発を行うMuiti-Device Hybrid Appsプロジェクトを作成するには以下の手順を実行します。</p>     <ol>  <li>
Visual Studio 2013のメニュー [ファイル] – [新規作成] – [プロジェクト] を選択します。</li>       <li> [新しいプロジェクト] ダイアログボックスが表示されるので、同ダイアログボックス左のテンプレートツリーより[テンプレート] – [JavaScript] – [Muiti-Device Hybrid Apps ] を選択します。 <br />&nbsp; <p align="center">    <a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb60.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="450" height="274" title="image_thumb60" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb60" src="/wp-content/uploads/2014/07/image_thumb60_thumb.png" border="0"></a> <br />

(作成するプロジェクトを選択するダイアログボックス)</p>
 </li>    <li> 同ダイアログ中央のリストより、「Blank App(Apache Cordova)」を選択します。 <br />&nbsp; <p align="center"> <a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb68.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="430" height="57" title="image_thumb68" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb68" src="/wp-content/uploads/2014/07/image_thumb68_thumb.png" border="0"></a>

<br />(Apache Cordova用プロジェクト)</p>
</li>        <li>
ダイアログボックス下部の [参照] ボタンをクリックし、プロジェクトを保存する場所のパスをスペースや日本語を含まないものに変更し、[OK] ボタンをクリックします。</li>   <li> Visual Studio 2013 の IDEにプロジェクトがロードされるので、ウィンドウ右の [ソリューションエクスプローラー] からindex.htmlをダブルクリックします。   <br />&nbsp;       <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb73.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="384" height="198" title="image_thumb73" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb73" src="/wp-content/uploads/2014/07/image_thumb73_thumb.png" border="0">

</a><br />(ソリューションエクスプローラーでの index.html の選択)</p>
</li>    <li>
IDE のエディタにindex.htmlの内容が展開されるので、&lt;/body&gt;の上に一行あけます。 <br /> 「h1」とタイプし、[Tab] キーを押下するとdivタグが挿入されるので、同タグ内に 「Hello World」と記述します。 
<br /> <p align="center"> <a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb261.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="200" height="23" title="image_thumb261" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb261" src="/wp-content/uploads/2014/07/image_thumb261_thumb.png" border="0"></a></p> </li>   <li> ツールバーの実行ボタン横のリストから「Ripple – Nexus (Galaxy)」が選択されていることを確認し、クリックします。  <br />&nbsp; <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb83.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="240" height="158" title="image_thumb83" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb83" src="/wp-content/uploads/2014/07/image_thumb83_thumb.png" border="0"></a>

 

<br />(実行ボタンのデバイスリスト)</p>
</li>       <li>
Google Chromeが起動し、ウィンドウ内のRippleエミュレーターに実行結果が表示されます。 <br />&nbsp;  <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb141.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="504" height="312" title="image_thumb141" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb141" src="/wp-content/uploads/2014/07/image_thumb141_thumb.png" border="0">   </a><br />(アプリの実行結果)</p>
</li>    <li>
実行を終了するにはVisual Studio 2013のツールバー上の [デバッグの停止] ボタンをクリックします。 <p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb151.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="180" height="80" title="image_thumb151" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb151" src="/wp-content/uploads/2014/07/image_thumb151_thumb.png" border="0">

</a>
<br />([デバッグの停止]ボタン)</p>
</li> </ol>        <h2>対象プラットフォームの切り替え</h2>   <p>Muiti-Device Hybrid Apps プロジェクトの既定の対象プラットフォームは Android OS となっています。</p>   <p>ここでは、対象のプラットフォームをiOSに変更する手順を例に紹介します。</p>         <ol>  <li>
Visual Studio 2013 のメニュー [ビルド] – [構成マネージャー] をクリックします。</li>   <li>
[構成マネージャー]&nbsp; ダイアログボックスが表示されるので、[アクティブ ソリューション プラットフォーム]ドロップダウンリストから「iOS」を選択し、[閉じる] ボタンをクリックします。<br />&nbsp;<p align="center"><a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb204.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="350" height="174" title="image_thumb204" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb204" src="/wp-content/uploads/2014/07/image_thumb204_thumb.png" border="0"></a>

<br />(開発対象プラットフォームの一覧)</p>
</li>   <li>
設定が完了するとツールバーの実行ボタン横のリストにiOSデバイスが表示されるので、任意のデバイスをクリックして実行します。<p align="center"> <a href="https://html5experts.jp/wp-content/uploads/2014/07/image_thumb246.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img width="240" height="185" title="image_thumb246" style="border: 0px currentcolor;margin-right: auto;margin-left: auto;float: none" alt="image_thumb246" src="/wp-content/uploads/2014/07/image_thumb246_thumb.png" border="0">

</a>

<br />(テスト可能なiOSデバイス一覧) </p>   </li>  Google Chrome が起動し、ウィンドウ内の Rippleシミュレーターに実行結果が表示されます。           <br>なお、Rippleエミュレーターは、Mac OS上で動作する iOSシミュレーターほど正確ではありませんので、アプリを提出する前には必ずMac OS上のiOSエミュレーターか、できれば実機でテストすることをお勧めします。 

        <br>Visual Studio 2013から、Mac OS上の iOSシミュレーターにアプリを転送してリモート実行する方法については、以下のドキュメントの <strong>Remote Build &amp; Simulation Agent for iOS [Optional]</strong>をご覧ください。<br></ol>         <dl><dt><strong>Document for Multi-Device Hybrid Apps for Visual Studio</strong> 

        <br><a title="Document for Multi-Device Hybrid Apps for Visual Studio" href="http://go.microsoft.com/fwlink/?LinkID=39771" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">http://go.microsoft.com/fwlink/?LinkID=39771</a></dt></dl>         
  </ol>

<h1>まとめ</h1>

<p>Multi-Device Hybrid Appsアドインをインストールすると、Visual Studio 2013でCordovaを使用したAndroid、iOS、Windows 8、Windows Pnone 8.0のアプリを開発できるようになります。</p>

<p>Visual Studio 2013のエディションはProfessionalである必要がありますが、試してみたい、という方は<a title="Visual Studio 2013" href="https://app.vssps.visualstudio.com/profile/review?context=eyJwZSI6MSwicGMiOjEsImljIjoxLCJhbyI6MSwiYW0iOjAsIm9wIjpudWxsLCJhZCI6bnVsbCwiZmEiOjMsImF1IjpudWxsLCJjdiI6MTM5NjE5MDI3NywiZnMiOjAsInN1IjowLCJlciI6MH01&amp;download=true&amp;family=VisualStudio&amp;edition=Professional&amp;release=VisualStudio2013Upd2&amp;type=web&amp;slcid=0x411&amp;mkt=ja-JP" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">90日間有効の試用版</a>を使用してみるとよいでしょう。また、Macユーザーだけど Visual Studio 2013を使ってみたい、という方には<a title="Windows 8.1 - 無償ダウンロード、ISO、サポート、ガイド、ヘルプ | TechNet" href="http://technet.microsoft.com/ja-jp/windows/windows-8.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">Windows 8.1 の試用版</a>とあわせ、以下のドキュメントをご参照ください。</p>

<dl><dt><strong>Mac に Windows 8と開発者ツールをインストールする</strong></dt><dt>
<a title="Macに Windows 8と開発者ツールをインストールする" href="http://msdn.microsoft.com/ja-jp/library/windows/apps/jj680133" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer">http://msdn.microsoft.com/ja-jp/library/windows/apps/jj680133</a></dt></dl>

<dl> <dt>&lt;備考&gt;</dt> <dd>今回の記事は以下をHTML5 Experts用に再編集したものです。</dd> <br /> <dd><a title="Visual Studio 2013でAndroid、iOSのアプリを開発するためのアドイン" href="http://blogs.msdn.com/b/osamum/archive/2014/06/16/visual-studio-2013-android-ios.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Visual Studio 2013でAndroid、iOSのアプリを開発するためのアドイン</strong></a></dd><br />  <dd><a title="Visual Studio 2013 へのMulti-Device Hybrid Appsアドインのインストール" href="http://blogs.msdn.com/b/osamum/archive/2014/06/26/visual-studio-2013-multi-device-hybrid-apps.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Visual Studio 2013 へのMulti-Device Hybrid Appsアドインのインストール</strong></dd><br />  <dd>
<a title="Muiti-Device Hybrid Appsを使った Android、iOSアプリの開発" href="http://blogs.msdn.com/b/osamum/archive/2014/07/02/muiti-device-hybrid-apps-android-ios.aspx" target="_blank"><strong>Muiti-Device Hybrid Apps を使ったAndroid、iOSアプリの開発</strong></a></dd> <br /> <dd>現在最新のVisual Studio 2013のHTML5関連の開発機能全般に興味をお持ちの方は以下の記事をご参照ください。</dd><br /> <dd><a href="http://blogs.msdn.com/b/osamum/archive/2014/06/12/visual-studio-2013-update-2-html5.aspx" target="_blank" data-wpel-link="external" rel="follow external noopener noreferrer"><strong>Visual Studio 2013 Update 2でのHTML5関連の強化点</strong></a></dd> </dl>
]]></content:encoded>
		
		<series:name><![CDATA[ハイブリッドアプリ開発最前線]]></series:name>
	</item>
	</channel>
</rss>
