<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Web apps and HTML5 cross-platform development</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:51:53 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Windows 10 上 Web应用和Web平台的发展</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/windows-10-webweb</link>
      <pubDate>Wed, 17 Jun 2015 08:02:01 GMT</pubDate>
      <dc:creator><![CDATA[Leon Liang_MS]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2015/06/17/windows-10-webweb/</guid>
      <description><![CDATA[Web应用和Web平台的发展  在Build 2015 上，微软宣布新的浏览器Microsoft Edge。 Microsoft Edge 使用的是全新的渲染引擎EdgeHTML和Chakra...]]></description>
      <content:encoded><![CDATA[<h4>Web应用和Web平台的发展</h4>  <p>在Build 2015 上，微软宣布新的浏览器Microsoft Edge。 Microsoft Edge 使用的是全新的渲染引擎EdgeHTML和Chakra JavaScript 引擎。 这引擎会一直快速地更新，支持更多的HTML5 的标准。 关于Microsoft Edge的更多信息，请参考之前的Microsoft Edge 介绍。</p>  <p>那么这章里，我们聊一聊Web 应用和在Windows 10 上的Web 平台的状态及发展。 大家知道，现在Web 应用的发展已经不仅仅局限于运行在浏览器里的Web 应用。 通过WebView控件，我们可以让Web 应用运行在原生应用（Native App）内。通过HTML5 跨平台应用开发工具，比如Apache Cordova，我们可以让Web 应用真正变为原生应用，在多平台上运行。我们也称这种应用为Packaged Web 应用。 此外，从Windows 8.1 开始，微软将Host Web App 的概念带到Windows 平台上，同时拓展到更多的平台上。 Host Web App 也是基于HTML5 的Web应用，将HTML5 的Web 应用带入商店，同时HTML5 的代码还是放在原来的后台或云端。充分利用现有代码，同时可以使用Windows 平台上的功能。 稍后我们会详细介绍Host Web App。</p>  <p>这里我们先看看在Windows 10 Web 平台的状态。 从下面这张图展现了Microsoft Edge 上引擎的状态。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2626.clip_image002_115D99C5.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2626.clip_5F00_image002_5F00_115D99C5.jpg"><img title="clip_image002" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1401.clip_image002_thumb_1A083515.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1401.clip_5F00_image002_5F00_thumb_5F00_1A083515.jpg" width="348" height="195" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7723.clip_image004_0C387FCB.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7723.clip_5F00_image004_5F00_0C387FCB.jpg"><img title="clip_image004" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6507.clip_image004_thumb_5DE18ACE.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6507.clip_5F00_image004_5F00_thumb_5F00_5DE18ACE.jpg" width="349" height="182" /></a></p>  <p>从图上我们可以看到， Edge和Chakra 引擎不仅仅使用在Microsoft Edge 浏览器上。针对作为原生应用形式的Web 应用和使用Webview 控件的应用，也同样使用这两个新的引擎。 这样就大大降低了开发者的开发，适配，和调试成本。</p>  <p>新的引擎会支持更多新的HTML5 的标准。下面我们看看那些新标准已经支持或将会被支持。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4331.clip_image006_1A99135F.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4331.clip_5F00_image006_5F00_1A99135F.jpg"><img title="clip_image006" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1007.clip_image006_thumb_2EB4C099.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1007.clip_5F00_image006_5F00_thumb_5F00_2EB4C099.jpg" width="519" height="221" /></a></p>  <h5>1.1 Web应用的类型</h5>  <p>下面这张图详细介绍了，几种Web App 的类型和他们的特点</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2110.image_2DDEEB60.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2110.image_5F00_2DDEEB60.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2806.image_thumb_7F87F663.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2806.image_5F00_thumb_5F00_7F87F663.png" width="512" height="209" /></a> </p>  <h5>1.2 Hosted Web App的开发</h5>  <p>从Windows 8.1 开始，我们就支持Hosted Web App 的开发。开发者可以通过Web App Template 工具将自己现有的HTML5 Web 应用升级为Windows 商店应用。 关于Web App Template 的介绍可以参考：</p>  <p>https://wat.codeplex.com/ </p>  <p>MVA 课程：https://channel9.msdn.com/Series/MVA-China/WebApp20141218A01 </p>  <p>Hosted Web App 可以让开发者仍然保持现有的HTML5 Website 开发流程和工具， 然后将Web 应用通过Windows 应用商店分发。如下图显示：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3835.clip_image012_09DBAB75.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3835.clip_5F00_image012_5F00_09DBAB75.jpg"><img title="clip_image012" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3005.clip_image012_thumb_36F328F4.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3005.clip_5F00_image012_5F00_thumb_5F00_36F328F4.jpg" width="506" height="203" /></a></p>  <p>Hosted Web App 的优点：</p>  <p>1．可以将开发者的设计和开发的Website 体验带入到Windows 应用商店里。</p>  <p>2．充分利用开发者在Web的投资和开发流程。</p>  <p>3．可以让Web 应用直接访问Universal APIs，比如推送通知，相机，联系人，日历等平台功能。</p>  <h6>1.2.1 Windows 10 上Hosted Web App 的更新</h6>  <p>1.2.1.1 应用架构的变化</p>  <p>如上节所述，在Windows 8.1 我们需要通过Web App Template （WAT） 将Website 转为Windows 商店应用，同时需要通过（WAT）作为桥梁，让Web 应用调用平台上的APIs 接口。 下面是现在在Windows 8.1 和Android 上的Hosted Web App的架构：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3276.clip_image014_4B0ED62E.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3276.clip_5F00_image014_5F00_4B0ED62E.jpg"><img title="clip_image014" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5488.clip_image014_thumb_6ECA8E79.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5488.clip_5F00_image014_5F00_thumb_5F00_6ECA8E79.jpg" width="402" height="225" /></a></p>  <p>Windows 10 上已经可以原生支持Hosted Web App。 不需要Webview呈现Web内容或使用 WAT 作为桥梁，就可以渲染Web 应用、调用Windows APIs、使用一些Native 代码。 下面是Hosted Web App 在Windows 10 上的架构：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1440.clip_image016_128646C5.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1440.clip_5F00_image016_5F00_128646C5.jpg"><img title="clip_image016" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1586.clip_image016_thumb_642F51C8.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1586.clip_5F00_image016_5F00_thumb_5F00_642F51C8.jpg" width="408" height="225" /></a></p>  <p>1.2.1.2 Cortana 小娜的集成</p>  <p>在Windows 10 上， Hosted Web App 还可以集成和使用Windows 10 上Cortana-小娜的功能。</p>  <p>在你Website 的服务器端可以增加Voice Command Definition （VCD）文件。</p>  <p>在HTML文件里增加一个meta element 标签</p>  <p>在Javascript 文件里处理通过Cortana 小娜 产生的一些任务和活动。</p>  <p>下面的例子里展示如何在Hosted Web App 增加Cortana的支持。</p>  <p>&lt;meta name=&quot;msapplication-cortanavcd&quot; content=&quot;http://mysite.com/vcd.xml &quot;/&gt;&quot; // Add an event listener for the activation event</p>  <p>if (Windows.UI.WebUI.WebUIApplication.addEventListener(“activated”, function (args)) {</p>  <p>// Handle the Voice Command activation event</p>  <p>var activation = Windows.ApplicationModel.Activation;</p>  <p>if (args.kind === activation.ActivationKind.voiceCommand) {</p>  <p>// Extract the result from the speech recognition from the event arguments</p>  <p>var speechRecognitionResult = args.result;</p>  <p>// Get the recognized command, defined in the VCD file</p>  <p>var command = speechRecognitionResult.rulePath[0];</p>  <p>// Get the full string of text that was spoken</p>  <p>var textSpoken = speechRecognitionResult.text;</p>  <p>}</p>  <p>});</p>  <p><a name="_Toc421003695"></a></p>  <h6>1.2.2 使用Visual Studio 2015 开发Windows 10 上基于Hosted Web App 的通用   <br />应用</h6>  <p>下面我们看看如何在VS 2015 里创建和开发一个支持Windows 10 通用应用平台的Hosted Web App。 关于Windows 10 开发工具下载，请参考https://dev.windows.com/zh-CN/ downloads/windows-10-developer-tools </p>  <p>1．在VS 2015 里创建一个使用JavaScript 开发的通用应用</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0317.clip_image018_35D85CCC.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0317.clip_5F00_image018_5F00_35D85CCC.jpg"><img title="clip_image018" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6087.clip_image018_thumb_22B9C0D1.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6087.clip_5F00_image018_5F00_thumb_5F00_22B9C0D1.jpg" width="589" height="316" /></a></p>  <p>2．删除本地的HTML5 文件。</p>  <p>因为Hosted Web App 的代码是放在云上或者服务器上，所以我们不需要本地的HTML5 文件。 可以直接删除。 保留images 目录是因为商店应用需要应用的logo图标，启动页面图标等。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7455.image_3F58CD55.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7455.image_5F00_3F58CD55.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8345.image_thumb_60DA8D95.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8345.image_5F00_thumb_5F00_60DA8D95.png" width="626" height="333" /></a> </p>  <p>3．修改appxmanifest</p>  <p>打开packageappxmanifest 文件，将启动页面从default.html 改为你网站的首页。 如下图所示：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3750.image_647DC9D4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3750.image_5F00_647DC9D4.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8103.image_thumb_6E67DCA1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8103.image_5F00_thumb_5F00_6E67DCA1.png" width="636" height="402" /></a> </p>  <p>这里我们用http://ie.microsoft.com/testdrive/Performance/PenguinMark/ 作为示例。</p>  <p>我们修改StartPage <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2063.clip_image024_1CE37CF3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2063.clip_5F00_image024_5F00_1CE37CF3.jpg"><img title="clip_image024" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image024" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3124.clip_image024_thumb_0F13C7A9.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3124.clip_5F00_image024_5F00_thumb_5F00_0F13C7A9.jpg" width="467" height="21" /></a></p>  <p>此外在appxmanifest 我们增加和定义ContentUriRules ，告诉系统哪些内容是包括在Hosted Web App 里的，哪些是纯Web 内容、哪些内容是可以访问系统API的。</p>  <p>如下面所示，我们增加这个ContentUriRules</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2818.clip_image026_403592FA.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2818.clip_5F00_image026_5F00_403592FA.jpg"><img title="clip_image026" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image026" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0652.clip_image026_thumb_023E92ED.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0652.clip_5F00_image026_5F00_thumb_5F00_023E92ED.jpg" width="512" height="63" /></a></p>  <p>那么，我们运行起来就会得到下面的结果。</p>  <p>现在我们已经将一个HTML5 页面很方便地转为一个商店应用(Hosted Web App)</p>  <p>关于内容访问策略。我们可以定义不同级别，这样不同的内容针对系统API访问就会有不同的级别。</p>  <p>比如我们不希望广告的内容来访问系统（Runtime）的API，就可以定义成“none”。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3757.clip_image028_537B6AFB.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3757.clip_5F00_image028_5F00_537B6AFB.jpg"><img title="clip_image028" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image028" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2161.clip_image028_thumb_52A595C2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2161.clip_5F00_image028_5F00_thumb_5F00_52A595C2.jpg" width="541" height="297" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4274.clip_image030_0D8F593D.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4274.clip_5F00_image030_5F00_0D8F593D.jpg"><img title="clip_image030" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image030" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1016.clip_image030_thumb_65EB6DC3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1016.clip_5F00_image030_5F00_thumb_5F00_65EB6DC3.jpg" width="494" height="147" /></a></p>  <h4>1.<a name="_Toc421003696">3 WebView</a>的更新</h4>  <p>在Windows 10上，随着Microsoft Edge 的发布，WebView 有了很多新的更新。 主要有三个方面：</p>  <p>1．使用和Microsoft Edge 浏览器一样的Edge 引擎。 可以支持更多HTML5 标准。和在Microsoft Edge浏览器里有一致的体验。</p>  <p>2．丰富的 API集</p>  <p>3．提高了应用性能和相应速度</p>  <h5>1.3.1 WebView APIs</h5>  <p>现代应用里经常会使用到WebView 去加载Web页面。 Windows10上，应用里的Web体验会更好。WebView 可以方便地和应用通信使用平台的Native APIs，应用可以方便地和WebView 里的内容进行通信。</p>  <h6>1.3.1.1 调用C#/C++ object</h6>  <p>新的API – AddWebAllowedObject 可以让开发者直接将C#和C++ 成员（Object）直接加入到脚本引擎中：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3835.clip_image032_49710C94.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3835.clip_5F00_image032_5F00_49710C94.jpg"><img title="clip_image032" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image032" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3771.clip_image032_thumb_2B28E64F.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3771.clip_5F00_image032_5F00_thumb_5F00_2B28E64F.jpg" width="503" height="179" /></a></p>  <p>Windows 8.1 调用C#/C++ Object 的流程：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8424.clip_image034_47C7F2D3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8424.clip_5F00_image034_5F00_47C7F2D3.jpg"><img title="clip_image034" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image034" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4111.clip_image034_thumb_07283715.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4111.clip_5F00_image034_5F00_thumb_5F00_07283715.jpg" width="381" height="291" /></a></p>  <p>Windows 10 应用和Web直接的内容可以方便通信。 Windows 10调用C#/C++ Object 的流程：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2500.clip_image036_7ABCA49C.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2500.clip_5F00_image036_5F00_7ABCA49C.jpg"><img title="clip_image036" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image036" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7651.clip_image036_thumb_3369DF5B.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7651.clip_5F00_image036_5F00_thumb_5F00_3369DF5B.jpg" width="393" height="181" /></a></p>  <h6>1.3.1.2 清除缓存数据API （Clear Data API）</h6>  <p>Windows 10 的WebView 提供 Clear Data API 可以清除WebView 里AppCache, IndexedDB, Dom Storage and cookies 如下图：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1780.clip_image038_0512EA5F.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1780.clip_5F00_image038_5F00_0512EA5F.jpg"><img title="clip_image038" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image038" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7737.clip_image038_thumb_11A3282C.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7737.clip_5F00_image038_5F00_thumb_5F00_11A3282C.jpg" width="428" height="133" /></a></p>  <p><a name="_Toc421003700"></a></p>  <h6>1.3.1.3 打开新窗口消息</h6>  <p>新的WebView API 可以让开发者获得打开新窗口的消息。 这样开发者可以让WebView 导向新的页面。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6644.clip_image040_4D876C34.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6644.clip_5F00_image040_5F00_4D876C34.jpg"><img title="clip_image040" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image040" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8640.clip_image040_thumb_7EA93785.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8640.clip_5F00_image040_5F00_thumb_5F00_7EA93785.jpg" width="429" height="147" /></a></p>  <h6>1.3.1.4 JavaScript 直接访问UWP API</h6>  <p>和Hosted Web apps 一样，WebView 可以直接从Web 代码里调用 Universal JS APIs。 如果下面的例子所示：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7485.clip_image042_6543C4FC.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7485.clip_5F00_image042_5F00_6543C4FC.jpg"><img title="clip_image042" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image042" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2654.clip_image042_thumb_48CBF47E.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2654.clip_5F00_image042_5F00_thumb_5F00_48CBF47E.jpg" width="431" height="129" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Modern.IE Chrome Extension</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/modern-ie-chrome-extension</link>
      <pubDate>Wed, 28 Jan 2015 00:19:21 GMT</pubDate>
      <dc:creator><![CDATA[Leon Liang_MS]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2015/01/28/modern-ie-chrome-extension/</guid>
      <description><![CDATA[After Modern.IE was released, it has been helping many developers to save their development and...]]></description>
      <content:encoded><![CDATA[<p><font size="2">After </font><a href="http://www.modern.ie/"><font size="2">Modern.IE</font></a><font size="2"> was released, it has been helping many developers to save their development and testing time on Web compatibility over </font><a href="http://blogs.msdn.com/b/ie/archive/2014/02/06/modern-ie-celebrates-1-year-anniversary-and-1-million-hours-saved.aspx"><font size="2">1 million hours</font></a><font size="2"> So, if you are Web developer, </font><a href="http://www.modern.ie/"><font size="2">Modern.IE</font></a><font size="2"> is essential tool for your work. </font></p>  <p><font size="2">However, with recent survey in top websites partners, we found some web developers who were using Chrome as development and testing tool, seldom used Modern.IE for checking web compatibility. In addition, they thought they needed to do several steps for testing of web compatibility with modern.IE, like opening website, inputting webpage URLs, etc. To help more web developers to use Modern.IE to improve their webpages compatibility, <a href="https://chrome.google.com/webstore/detail/modernie-for-web-compatib/ebdkijcmgdconbgaonddhlbmbdjgkfef"><font size="2">Modern.IE Chrome extension</font></a> was developed</font></p>  <p><a name="_MailEndCompose"></a></p> <a href="https://chrome.google.com/webstore/detail/modernie-for-web-compatib/ebdkijcmgdconbgaonddhlbmbdjgkfef"><font size="2">Modern.IE Chrome extension</font></a><font size="2"> has been published in Chrome webstore. It was developed based on </font><a href="http://www.modern.ie"><font size="2">www.modern.ie</font></a><font size="2"> with Chrome extension APIs. With </font><a href="https://chrome.google.com/webstore/detail/modernie-for-web-compatib/ebdkijcmgdconbgaonddhlbmbdjgkfef"><font size="2">Modern.IE Chrome extension</font></a><font size="2">, you can test your web compatibility within Chrome conveniently. </font>  <p><font size="2">Please find more detail below: </font></p>  <p><font size="2">1. Open </font><a href="https://chrome.google.com/webstore/detail/modernie-for-web-compatib/ebdkijcmgdconbgaonddhlbmbdjgkfef"><font size="2">Modern.IE Chrome extension</font></a><font size="2"> in Chrome and select add</font> </p> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2475.clip_image001_72C68576.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2475.clip_5F00_image001_5F00_72C68576.png">   <p><font size="2"></font></p> </a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4186.clip_image001_6331CA8C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4186.clip_5F00_image001_5F00_6331CA8C.png"><img title="clip_image001" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8203.clip_image001_thumb_167BE4CE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8203.clip_5F00_image001_5F00_thumb_5F00_167BE4CE.png" width="517" height="321" /></a></a><font size="2"></font></a>   <p><font size="2">2. After installing, you can open Modern.IE extension by clicking IE icon</font> </p> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3362.clip_image002_270236A1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3362.clip_5F00_image002_5F00_270236A1.png">   <p><font size="2"></font></p> </a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8228.clip_image002_44146686.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8228.clip_5F00_image002_5F00_44146686.png"><img title="clip_image002" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6011.clip_image002_thumb_47B51214.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6011.clip_5F00_image002_5F00_thumb_5F00_47B51214.png" width="370" height="177" /></a></a><font size="2"></font></a>   <p><font size="2">3. When clicking &quot;Virtual Machines&quot; and &quot;RemoteIE&quot; in toolbar, it'll open VM and remoteIE webpages. </font></p>  <p><font size="2">4. In Site Scan, it'll scan current webpage with URL by default when clicking &quot;Scan&quot; button. The result will be showed in new tab</font> </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0412.clip_image003_70537E1B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0412.clip_5F00_image003_5F00_70537E1B.png"><font size="2"></font></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7317.clip_image003_503B020F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7317.clip_5F00_image003_5F00_503B020F.png"><img title="clip_image003" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7343.clip_image003_thumb_3F565E1F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7343.clip_5F00_image003_5F00_thumb_5F00_3F565E1F.png" width="494" height="118" /></a></a></a></p>  <p><font size="2">5. For &quot;Compatibility Report&quot; and &quot;Browser Screenshots&quot;, they will help to scan current webpages by default. </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8360.clip_image004_3186A8D5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8360.clip_5F00_image004_5F00_3186A8D5.png"><font size="2"></font></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8306.clip_image004_32EACBA7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8306.clip_5F00_image004_5F00_32EACBA7.png"><img title="clip_image004" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4530.clip_image004_thumb_772DC3A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4530.clip_5F00_image004_5F00_thumb_5F00_772DC3A4.png" width="380" height="167" /></a></a></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0753.clip_image005_4DB98264.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0753.clip_5F00_image005_5F00_4DB98264.png"><font size="2"></font></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7534.clip_image005_523293DC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7534.clip_5F00_image005_5F00_523293DC.png"><img title="clip_image005" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image005" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6320.clip_image005_thumb_65DF7D70.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6320.clip_5F00_image005_5F00_thumb_5F00_65DF7D70.png" width="383" height="166" /></a></a></a></p>  <p><font size="2">If you want to scan other website and URL, please input the URL and scan. </font></p>  <p><a href="https://chrome.google.com/webstore/detail/modernie-for-web-compatib/ebdkijcmgdconbgaonddhlbmbdjgkfef"><font size="2">Modern.IE Chrome extension</font></a><font size="2"> will be updated with </font><a href="http://www.modern.ie/"><font size="2">Modern.IE</font></a><font size="2"> update. </font></p>]]></content:encoded>
    </item>
    <item>
      <title>轻松将HTML5 游戏迁移为Universal App 商店应用 （H5拓展为Windows Native 应用）</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/html5-universal-app-h5windows-native</link>
      <pubDate>Wed, 10 Dec 2014 03:28:39 GMT</pubDate>
      <dc:creator><![CDATA[Leon Liang_MS]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2014/12/10/html5-universal-app-h5windows-native/</guid>
      <description><![CDATA[&#160;  随着HTML5 游戏快速流行和发展，很多HTML5 游戏开发者并不满足HTML5 游戏在微信和轻应用平台上的成功。迫切希望将游戏变为Native 应用发布的应用商店里。...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p><font size="3">随着HTML5 游戏快速流行和发展，很多HTML5 游戏开发者并不满足HTML5 游戏在微信和轻应用平台上的成功。迫切希望将游戏变为Native 应用发布的应用商店里。 目前流行的做法是 </font></p>  <ol>   <li><font size="3">使用游戏引擎（Cocos2D-X， Unity3D）重新开发游戏</font> </li>    <li><font size="3">搭建一个极其简单应用框架，使用Webview 加载游戏。 </font></li> </ol>  <p><font size="3">第一种方法，显而易见，虽然充分利用native 应用特点使用了Offline 的功能，但是需要重新开发。又要学习新的引擎和开发语言，痛苦之处，不言而喻。 </font></p>  <p><font size="3">第二种方法，虽然简单，但是仍然无法逃避H5 非常依赖流量和网络状态的弊端。此外，有些应用商店都会拒绝这类应用的发布。 </font></p>  <p><font size="3">那么，HTML5 游戏开发者的福音来了。 是时候将你的H5 游戏轻松变为真正的 Windows Universal Apps 发布到Windows 和 Windows Phone 商店了。 这样我们就可以方便地支持Windows PC，平板，手机了。 </font></p>  <p><font size="3">下面我就揭晓这个过程。 </font></p>  <p><font size="3">首先，如果你还不了解什么是Windows和Windows Phone 商店应用，请参考 </font></p>  <p><a title="http://msdn.microsoft.com/library/windows/apps/dn726767.aspx" href="http://msdn.microsoft.com/library/windows/apps/dn726767.aspx"><font size="3">http://msdn.microsoft.com/library/windows/apps/dn726767.aspx</font></a></p>  <p><font size="3">如果你打算发布应用，请注册开发者账户。 </font></p>  <p><font size="3">然后，请下载开发工具 <a title="http://dev.windows.com/zh-cn/develop/downloads" href="http://dev.windows.com/zh-cn/develop/downloads">http://dev.windows.com/zh-cn/develop/downloads</a>&#160;</font></p>  <p><font size="3">如果你还不了解什么是Windows Universal App, 请参考 </font><a href="http://dev.windows.com/zh-cn/develop/Building-universal-Windows-apps"><font size="3">http://dev.windows.com/zh-cn/develop/Building-universal-Windows-apps</font></a></p>  <p><strong><font color="#ff0000"><font size="3">请注意：在将你的H5 游戏迁移到Universal App 之前，请一定确保你的游戏在IE11 上没有任何的兼容性问题。 如果你没有IE11，可以使用 </font><a href="http://modern.ie/"><font size="3">http://modern.ie</font></a><font size="3"> (下载Browser Stack 和其他 free VMs).</font></font></strong></p>  <p><font size="3">那么，我们来举个例子： </font></p>  <p><font size="3">我们有一个H5 的游戏&#160; </font><a href="https://aka.ms/platformer"><font size="3">https://aka.ms/platformer</font></a>&#160;<font size="3">可以下载源码 <a href="http://david.blob.core.windows.net/html5platformer/PlatformerTouch.zip">PlatformerTouch.zip</a> 进行参考。 </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6320.image_46EB0CC2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6320.image_5F00_46EB0CC2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1513.image_thumb_25FCBB7D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1513.image_5F00_thumb_5F00_25FCBB7D.png" width="460" height="338" /></a> </p>  <p></p>  <p><font size="3">第一步： 创建一个新的Universal Apps 工程</font></p>  <p><font size="3">启动VS2013 创建一个新工程 “Other Languages”-&gt;”JavaScript”-&gt;”Store Apps”-&gt;”Universal Apps” -&gt; “Blank App (Universal Apps)” </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4505.clip_image001_64F0CCC9.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4505.clip_5F00_image001_5F00_64F0CCC9.jpg"><img title="clip_image001" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8802.clip_image001_thumb_62B6D4BE.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8802.clip_5F00_image001_5F00_thumb_5F00_62B6D4BE.jpg" width="484" height="122" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1411.clip_image0015_1D9E0788.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1411.clip_5F00_image0015_5F00_1D9E0788.jpg"><img title="clip_image001[5]" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image001[5]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4162.clip_image0015_thumb_7429C647.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4162.clip_5F00_image0015_5F00_thumb_5F00_7429C647.jpg" width="663" height="460" /></a></p>  <p></p>  <p><font size="3">你可以看到Solution里有三个工程目录： 两个特定为WP8.1 和 Windows 8.1， 还有一个Shared 工程 </font></p>  <p><font size="3">默认的时候，在shared 目录里只有一个“default.js” ，在WP8.1 和 Windows 8.1 里有CSS/image/HTML。 有两个default.html 是因为WinJS 版本不同。 在Windows 8.1 WinJS2.0 脚本和CSS 文件将会加载。在Windows phone 8.1 上 WinJS2.1脚本将会加载。 关于WinJS， 可以参考</font><a href="https://dev.windows.com/zh-cn/develop/winjs/" target="_blank"><font size="3">WinJS 开源项目和Windows 商店应用开发介绍</font></a></p>  <p><font size="3">在我们的例子里，不会使用到WinJS 的接口，所以，我们可以使用同样的HTML页面，同样的CSS，同样的JavaScript 代码。 所以我们可以将在”.Windows”和“.Windows Phone” 里的default.html 文件删掉。</font></p> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1385.clip_image0017_237B3BD2.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1385.clip_5F00_image0017_5F00_237B3BD2.jpg"><img title="clip_image001[7]" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image001[7]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8270.clip_image0017_thumb_27F44D4A.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8270.clip_5F00_image0017_5F00_thumb_5F00_27F44D4A.jpg" width="425" height="341" /></a>   <p><font size="3">第二步： 将代码复制到Shared 目录下</font></p>  <p><font size="3">解压缩PlatformTouch 的源码，拷贝所有的文件到”.Shared”项目里。 </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1777.clip_image0019_5092B951.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1777.clip_5F00_image0019_5F00_5092B951.jpg"><img title="clip_image001[9]" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="clip_image001[9]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1541.clip_image0019_thumb_0DB674D7.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1541.clip_5F00_image0019_5F00_thumb_5F00_0DB674D7.jpg" width="758" height="338" /></a></p>  <p><font size="3">Ok，万事具备，让我们运行一下试试。确认一下Windows 8.1 已设置成默认启动项目，然后按‘F5’&#160; 可以看到，Windows 商店应用已经OK了。完全本地offline 的功能。如果你是触屏的设备，可以直接touch 体验</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8054.image_18E28FD2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8054.image_5F00_18E28FD2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1768.image_thumb_475E3023.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1768.image_5F00_thumb_5F00_475E3023.png" width="637" height="391" /></a> </p>  <p><font size="3">Ok，既然是Universal App， 让我们看看Windows Phone 上的表现了。 </font></p>  <p><font size="3">鼠标右键点击 “.WindowsPhone”工程， 选择“<i>Set as StartUp Project</i>”.&#160; 选择模拟器或者真机， 这里我们选择模拟器 “<i>Emulator 8.1 WVGA 4 inch 512MB</i>” 。下面我们同样按“F5”</font> </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2388.image_2A7A2CB0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2388.image_5F00_2A7A2CB0.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2766.image_thumb_0A61B0A4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2766.image_5F00_thumb_5F00_0A61B0A4.png" width="257" height="428" /></a> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7345.image_0BC5D376.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7345.image_5F00_0BC5D376.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7416.image_thumb_36A358EA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7416.image_5F00_thumb_5F00_36A358EA.png" width="522" height="276" /></a> </p>  <p><font size="3">是的，恭喜你，Windows phone 商店应用也OK啦。 而且也是支持offline ，没有loading......的苦恼。完全触屏体验。 不过，我们发现，用户必须自己去转手机，来调整横屏模式。可否在游戏启动的时候，就是横屏模式 ？ </font></p>  <p><font size="3">当然没问题。这里就发挥了”.WindowsPhone” 工程目录的功能了。 我们的共享逻辑代码可以放在.Shared 目录里，那么我们针对不同Windows 设备的差异化调整，就可以放在不同的项目里了。 </font></p>  <p><font size="3">那么，我们打开WindowsPhone工程里的appxmanifest</font> </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0830.image_20DC013E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0830.image_5F00_20DC013E.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6253.image_thumb_60A87874.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6253.image_5F00_thumb_5F00_60A87874.png" width="845" height="456" /></a> </p>  <p></p>  <p>我们可以看到在Application选择里，我们可以调整Rotation。 那么选择成Landscape </p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7288.image_3D7B0DC2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7288.image_5F00_3D7B0DC2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4401.image_thumb_01BE05C0.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4401.image_5F00_thumb_5F00_01BE05C0.png" width="510" height="295" /></a> </p>  <p><font size="3">是的，你会惊喜地发现，还可以调整很多属性。包括，Logo 图标，Splash Screen (启动时的欢迎页面）等等。 是时候个性化你商店应用了。 </font></p>  <p><font size="3">调整完了后，我们发现有启动页面和Landscape 效果</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7510.image_30CD150C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7510.image_5F00_30CD150C.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6011.image_thumb_08BCF69E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6011.image_5F00_thumb_5F00_08BCF69E.png" width="266" height="421" /></a> </p>  <p><font size="3">通过WinJS， 你还可以增加更多的个性化Native 应用功能。比如Live Tiles （动态磁贴），推送，使用Camera 等。请参考 </font><a title="http://msdn.microsoft.com/library/windows/apps/br229565.aspx/" href="http://msdn.microsoft.com/library/windows/apps/br229565.aspx/"><font size="3">http://msdn.microsoft.com/library/windows/apps/br229565.aspx/</font></a></p>  <p><a href="https://dev.windows.com/zh-cn/publish" target="_blank"><font size="3">如何发布你的应用</font></a></p>  <p><strong><font size="3">尝试一下，让你的HTML5 游戏也能轻松变为Windows Universal App， 支持PC， 平板，手机等设备。 通过应用商店，让你的游戏用户更多。 你还可以选择应用内支付，广告，游戏销售等商店功能，帮助你盈利！</font></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>Web App Template 将HTML5 应用和游戏快速变为Universal App 商店应用覆盖更多设备</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/web-app-template-html5-universal-app</link>
      <pubDate>Mon, 08 Dec 2014 01:52:08 GMT</pubDate>
      <dc:creator><![CDATA[Leon Liang_MS]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2014/12/08/web-app-template-html5-universal-app/</guid>
      <description><![CDATA[&#160;  随着微信公众号，百度“直达号”，“神经猫”等HTML5 轻应用和游戏的兴起，近一段，HTML5 应用和游戏的快速发展，再次燃起了众多H5开发者的巨大热情。 与此同时，Web...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p><font size="3">随着微信公众号，百度“直达号”，“神经猫”等HTML5 轻应用和游戏的兴起，近一段，HTML5 应用和游戏的快速发展，再次燃起了众多H5开发者的巨大热情。 与此同时，Web 应用在企业级应用市场里，一直占据主导地位。如果拓展HTML5 开发者的技能，在开发Web 应用的同时，将Web 应用拓展到Native 应用，成为开发者最关心的话题。</font></p>  <p><font size="3">微软推出Web App Template 工具，可以帮助开发者快速将Web 应用轻松变为Windows Universal App，通过应用商店，可以覆盖更多的用户。</font></p>  <p><font size="3">Web App Template 是一个非常便捷的工具。以你的Web 应用为核心，转为全功能的Windows 8.1 和Windows Phone 8.1/Windows Phone 8.0 商店应用。 Web App Template （WAT）通过安装的Visual Studio 模板，配置Config Data（meta data）生成Windows Store App。WAT全面支持Windows Universal App</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7827.clip_image001_1C0C3AB1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7827.clip_5F00_image001_5F00_1C0C3AB1.png"><img title="clip_image001" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3323.clip_image001_thumb_604F32AE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3323.clip_5F00_image001_5F00_thumb_5F00_604F32AE.png" width="244" height="93" /></a></p>  <p><font size="3">WAT提供大部分Windows商店应用的功能，比如Back 键，定位功能，Offline 模式支持， Charm 集成等等。</font></p>  <p><font size="3">对于用响应式设计的应用，将有非常好的体验。</font></p>  <p><strong><font size="3">WAT是个全开源项目。</font></strong></p>  <p><font size="3">源码</font></p>  <ul>   <li><font size="3">浏览 </font><a href="https://wat.codeplex.com/SourceControl/latest"><font size="3">source code</font></a></li> </ul>  <ul>   <li><font size="3">Fork 源码</font></li> </ul>  <ul>   <li><font size="3">克隆 repository </font><a href="http://git-scm.com/download"><font size="3">git</font></a><font size="3">.</font></li> </ul>  <p><font size="3">git clone </font><a href="https://git01.codeplex.com/wat"><font size="3">https://git01.codeplex.com/wat</font></a></p>  <p><font size="3">安装</font></p>  <ol>   <li><a href="http://www.visualstudio.com/downloads/download-visual-studio-vs"><font size="3">Visual Studio 2013(Windows Store Express, Pro or Ultimate)</font></a></li>    <li><font size="3">从 </font><a href="https://wat.codeplex.com/"><font size="3">https://wat.codeplex.com/</font></a><font size="3"> 下载最新版本</font></li> </ol>  <p><font size="3">可以从下面这个网站上找到详细的介绍和Config 文件的使用 </font><a href="http://wat-docs.azurewebsites.net/"><font size="3">http://wat-docs.azurewebsites.net/</font></a></p>  <p><font size="3">那么下面就让我们做个Demo，看看WAT神奇之处吧。</font></p>  <p><font size="3">如何已经安装WAT template，将会在VS2013 新工程里看见WAT 的template </font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6724.clip_image002_42047BB8.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6724.clip_5F00_image002_5F00_42047BB8.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5277.clip_image002_73FEACF3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5277.clip_5F00_image002_5F00_73FEACF3.png"><img title="clip_image002" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8875.clip_image002_thumb_11075BBC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8875.clip_5F00_image002_5F00_thumb_5F00_11075BBC.png" width="784" height="489" /></a></font></a></p>  <p><font size="3">这是一个很典型的Windows Universal App 工程。如果你还不熟悉Universal App 请参考 </font><a href="http://dev.windows.com/zh-cn/develop/Building-universal-Windows-apps"><font size="3">UAP介绍</font></a><font size="3"> 和</font><a href="http://blogs.msdn.com/b/express_for_uap_and_win10_dev/archive/2014/11/15/windows-phone-8-1-universal-app.aspx"><font size="3">博客 WP8.1 UAP</font></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6574.clip_image003_30B8C635.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6574.clip_5F00_image003_5F00_30B8C635.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0160.clip_image003_0DF78E78.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0160.clip_5F00_image003_5F00_0DF78E78.png"><img title="clip_image003" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image003" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0216.clip_image003_thumb_43FC0D85.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0216.clip_5F00_image003_5F00_thumb_5F00_43FC0D85.png" width="792" height="421" /></a></font></a></p>  <p><font size="3">建完工程后，我们可以看到，左边是WAT的介绍，右边是UAP的工程。 我们重点修改的地方是Shared 目录。</font></p>  <p><font size="3">我们这里介绍的是WAT2.2， 我们需要修改config.json，但是WAT 对不同功能提供了非常多的例子。开发过程中，可以参考 config.sample.json。我们可以将config.sample.json 代码复制过来，进行修改。</font></p>  <ol>   <li><font size="3">示例 - 将 </font><a href="http://www.backstreetboys.com/"><font size="3">http://www.backstreetboys.com/</font></a><font size="3"> 变为Universal App</font></li> </ol>  <ul>   <li><font size="3">修改start_url 为 </font><a href="http://www.backstreetboys.com/"><font size="3">http://www.backstreetboys.com/</font></a></li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3264.clip_image004_7CA94843.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3264.clip_5F00_image004_5F00_7CA94843.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2703.clip_image004_37FCAE02.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2703.clip_5F00_image004_5F00_37FCAE02.png"><img title="clip_image004" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7433.clip_image004_thumb_5A54437B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7433.clip_5F00_image004_5F00_thumb_5F00_5A54437B.png" width="410" height="58" /></a></font></a></p>  <ul>   <li><font size="3">把Windows 8.1 设置成默认启动项目，按F5 运行应用。</font></li> </ul>  <p><font size="3">是的非常简单，我们可以看见基于HTML5 网站的Universal App 已经运行起来了。</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0535.clip_image005_2E37468A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0535.clip_5F00_image005_5F00_2E37468A.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1488.clip_image005_26AE67CE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1488.clip_5F00_image005_5F00_26AE67CE.png"><img title="clip_image005" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image005" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1362.clip_image005_thumb_38215957.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1362.clip_5F00_image005_5F00_thumb_5F00_38215957.png" width="802" height="493" /></a></font></a></p>  <ul>   <li><font size="3">我们在看看Windows Phone 8.1 应用。 将Windows Phone 8.1 设置成默认启动项目，按F5 运行项目</font></li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2308.clip_image006_6BEBE059.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2308.clip_5F00_image006_5F00_6BEBE059.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2335.clip_image006_302ED857.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2335.clip_5F00_image006_5F00_302ED857.png"><img title="clip_image006" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5482.clip_image006_thumb_46847D9C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5482.clip_5F00_image006_5F00_thumb_5F00_46847D9C.png" width="248" height="380" /></a></font></a></p>  <p><font size="3">非常漂亮的响应式非常方便将一个H5 Web 应用变为Universal App</font></p>  <p><strong><u><font size="3">示例2 - </font></u></strong><a href="http://www.backstreetboys.com/"><strong><u><font size="3">http://www.backstreetboys.com/</font></u></strong></a><strong><u><font size="3"> Universal app 添加导航菜单</font></u></strong></p>  <p><font size="3">我们可以进一步完善，我们用WAT生成的Universal app </font></p>  <p><font size="3">在config.sample.json 我们可以找到 &quot;wat_appBar&quot;: 和 &quot;wat_navBar&quot;: 的配置。 我们下面把sample 中，这两个字段的配置copy 过来，放在 config.json</font></p>  <p><font size="3">我将网站里的MENU 里的 News，Event，Media 对应的links 配置放在navigation bar 里</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0181.clip_image007_6F22E9A3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0181.clip_5F00_image007_5F00_6F22E9A3.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2664.clip_image007_1A6A115C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2664.clip_5F00_image007_5F00_1A6A115C.png"><img title="clip_image007" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image007" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7206.clip_image007_thumb_5EAD0959.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7206.clip_5F00_image007_5F00_thumb_5F00_5EAD0959.png" width="581" height="129" /></a></font></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8814.clip_image008_7502AE9E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8814.clip_5F00_image008_5F00_7502AE9E.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7245.clip_image008_57242A9D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7245.clip_5F00_image008_5F00_57242A9D.png"><img title="clip_image008" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1348.clip_image008_thumb_32266A24.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1348.clip_5F00_image008_5F00_thumb_5F00_32266A24.png" width="577" height="369" /></a></font></a></p>  <p><font size="3">我们运行起来看看，效果。</font></p>  <p><font size="3">我们可以看到配置出来的Navigation bar 和 app bar。 我点击News 将进入News 页面</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1803.clip_image009_0F653267.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1803.clip_5F00_image009_5F00_0F653267.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0576.clip_image009_610E3D6A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0576.clip_5F00_image009_5F00_610E3D6A.png"><img title="clip_image009" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image009" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2768.clip_image009_thumb_2C043EEB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2768.clip_5F00_image009_5F00_thumb_5F00_2C043EEB.png" width="809" height="466" /></a></font></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5125.clip_image010_0F89DDBC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5125.clip_5F00_image010_5F00_0F89DDBC.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0602.clip_image010_2B531507.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0602.clip_5F00_image010_5F00_2B531507.png"><img title="clip_image010" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2766.clip_image010_thumb_11816F89.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2766.clip_5F00_image010_5F00_thumb_5F00_11816F89.png" width="817" height="505" /></a></font></a></p>  <p><u><font size="3"><strong>示例3- 配置应用图标和启动页面等</strong></font></u></p>  <p><font size="3">在WAT网站里有个Tools&amp;Tricks 选项。在这里我们使用WAT提供的工具生成商店应用里所需的各种图标。</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1207.clip_image011_40D575C4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1207.clip_5F00_image011_5F00_40D575C4.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4300.clip_image011_37100E4C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4300.clip_5F00_image011_5F00_37100E4C.png"><img title="clip_image011" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image011" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3583.clip_image011_thumb_144ED68F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3583.clip_5F00_image011_5F00_thumb_5F00_144ED68F.png" width="817" height="479" /></a></font></a></p>  <p><font size="3">生成完了以后，就可以方便地配置在 package.appxmanifest 里了。</font></p>  <p><strong><u><font size="3">示例4 - 隐藏页面中的Element</font></u></strong></p>  <p><font size="3">为了更好的体验，我们会发现有些Element 并不适合放在Universal app 商店应用里。 比如下面这些Element。我们可以尝试着隐藏他们。</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5661.clip_image012_73CA278D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5661.clip_5F00_image012_5F00_73CA278D.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8420.clip_image012_2EB15A57.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8420.clip_5F00_image012_5F00_2EB15A57.png"><img title="clip_image012" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4150.clip_image012_thumb_45733291.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4150.clip_5F00_image012_5F00_thumb_5F00_45733291.png" width="636" height="88" /></a></font></a></p>  <p><font size="3">我们可以使用IE11 里的F12 工具里的Element选择器去查看Element信息。 可以看见这样Element 是在footer里的</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5100.clip_image013_005A655B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5100.clip_5F00_image013_5F00_005A655B.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8623.clip_image013_62123F15.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8623.clip_5F00_image013_5F00_62123F15.png"><img title="clip_image013" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image013" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2577.clip_image013_thumb_5A1D2D64.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2577.clip_5F00_image013_5F00_thumb_5F00_5A1D2D64.png" width="777" height="519" /></a></font></a></p>  <p><font size="3">我们可以在&quot;wat_styles&quot;: 设置HideElement</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7382.clip_image014_7B32BAAF.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7382.clip_5F00_image014_5F00_7B32BAAF.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6403.clip_image014_6F9CFD70.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6403.clip_5F00_image014_5F00_6F9CFD70.png"><img title="clip_image014" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0081.clip_image014_thumb_3FE1E5A2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0081.clip_5F00_image014_5F00_thumb_5F00_3FE1E5A2.png" width="392" height="138" /></a></font></a></p>  <p><font size="3">我们将footer 里的element隐藏掉。可以看到在商店应用里，我们已经看不到网站里footer Element了</font></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8640.clip_image015_082F2B72.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8640.clip_5F00_image015_5F00_082F2B72.png"><font size="3"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0045.clip_image015_46B99A7A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0045.clip_5F00_image015_5F00_46B99A7A.png"><img title="clip_image015" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="clip_image015" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4111.clip_image015_thumb_15BC7A7E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4111.clip_5F00_image015_5F00_thumb_5F00_15BC7A7E.png" width="745" height="452" /></a></font></a></p>  <p><strong><u><font size="3">示例5 - Offline的功能</font></u></strong></p>  <p><font size="3">HTML5 Web 应用面临着另一个主要问题，就是不支持offline。 WAT将HTML5 Web 应用转为Universal app 后，提供了Offline 功能的支持</font></p>  <p><font size="3">&quot;wat_offline&quot;: {</font></p>  <p><font size="3">&quot;enabled&quot;: true,</font></p>  <p><font size="3">&quot;message&quot;: &quot;It looks like you are offline. Please reconnect to use this application.&quot;,</font></p>  <p><font size="3">&quot;superCache&quot;: {</font></p>  <p><font size="3">&quot;enabled&quot;: false,</font></p>  <p><font size="3">&quot;baseDomainURL&quot;: &quot;</font><a href="http://wat-docs.azurewebsites.net/"><font size="3">http://wat-docs.azurewebsites.net/</font></a><font size="3">&quot;,</font></p>  <p><font size="3">&quot;addIndexedDBSupport&quot;: true,</font></p>  <p><font size="3">&quot;imagesGuardBand&quot;: true,</font></p>  <p><font size="3">&quot;preCacheURLs&quot;: [ ],</font></p>  <p><font size="3">&quot;ignoreURLs&quot;: [ ]</font></p>  <p><font size="3">}</font></p>  <p><font size="3">},</font></p>  <p><font size="3">在进入offline的时候，应用可以提供</font></p>  <ol>   <li><font size="3">提示信息</font></li>    <li><font size="3">提供相应的本地页面</font></li>    <li><font size="3">使用SuperCache 功能</font></li> </ol>  <p><font size="3">superCache 默认是关闭的。 我们还可以配置preCacheURLs cache 更多的页面。</font></p>  <p><font size="3">WAT还提供很多方便的功能，因为篇幅关系，下次再一次介绍。 如何使用WAT 请参考</font></p>  <p><a href="http://wat-docs.azurewebsites.net/GetStarted"><font size="3">http://wat-docs.azurewebsites.net/GetStarted</font></a></p>  <p><font size="3">在 </font><a href="http://wat-docs.azurewebsites.net/JsonWindows"><font size="3">http://wat-docs.azurewebsites.net/JsonWindows</font></a><font size="3"> 介绍了如何配置config.json 提供更多的功能。</font></p>]]></content:encoded>
    </item>
    <item>
      <title>Modern.IE，创建现代网站的给力开发工具！</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/modern-ie</link>
      <pubDate>Sun, 07 Dec 2014 07:01:07 GMT</pubDate>
      <dc:creator><![CDATA[蓝田]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2014/12/07/modern-ie/</guid>
      <description><![CDATA[&#160;...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>Modern.IE是微软推出的用来帮助开发者创建现代网站的基本开发工具。作为Web攻城师，最头疼的问题莫过于浏览器兼容性测试，各种类型浏览器，各种版本的浏览器，还有各种头疼的前缀等等。Modern.IE希望做到可以帮助咱们攻城师们把更多的时间能花在工程上，而不是在解决兼容性问题上。Modern.IE是一个非常有用的工具，貌似你已经迫不及待了，打开它吧：<a href="https://www.modern.ie">https://www.modern.ie</a>。</p>  <p>网站分为几大部分：</p>  <p>&#160;</p>  <p><b>1. </b><a href="https://www.modern.ie/zh-cn/report"><b>网站扫描</b><b>工具</b><b>Scanner</b></a><b></b></p>  <p>Scanner用来扫描发现常见的兼容性问题。 只要你在输入框中输入一个网页的URL，Scanner就会帮你生成一个报告。分为四类16项，包括：</p>  <p><b>A. </b><b>兼容旧版</b><b>IE</b><b>；</b><b></b></p>  <p>这个主要是为了解决兼容旧版IE的一些常见问题。</p>  <blockquote>   <p>Ø <b>兼容模式。</b>我们建议网站在标准模式下渲染，而不是在兼容下渲染。</p>    <p>Ø <b>网页的框架和库。</b>Scanner会扫描网站是否使用了过时的框架或者是库，使用过时的框架和库可能会导致比较多的兼容性问题。</p>    <p>Ø <b>Web</b><b>标准Docmode</b><b>。</b>我们建议使用一个标准的HTML5 DocType（&lt;!DOCTYPE html&gt;）来告诉浏览器用标准模式渲染网页，这能使网站能够在Modern IE或者其他Modern浏览器中里大大提高页面的性能体验。</p> </blockquote>  <p>B. <b>浏览器兼容性问题；</b></p>  <p>这个主要是帮助开发者做兼容性测试，让网页可以在五花八门的设备和浏览器中更好地展现。</p>  <blockquote>   <p>Ø <b>CSS</b><b>前缀。</b>我们有很多属性仅在加了前缀才能在特定的浏览器中支持，只有标准的属性才无需添加浏览器前缀。Scanner会扫描查看是不是有未添加浏览器前缀的属性。</p>    <p>Ø <b>浏览插件。</b>我们建议不带任何插件，以避免在其他浏览器中不支持。</p>    <p>Ø <b>响应式网页设计。</b>我们现在设备越来越多，分辨率也越来越多，我们需要适配各种设备，在各种设备上网站都能有很好的体验，我们建议采用响应式的网页设计。我们是通过扫描媒体查询的最大和最小属性来识别的，媒体查询是当今响应式网页设计的指标之一，我们知道这样做扫描并不是特别完善，我们会继续改进。</p>    <p>Ø <b>浏览器检测。</b>我们推荐使用<a href="http://te-webtraining.azurewebsites.net/cn/samples/feature-detection.html">功能检测</a>而不是采用UA检测。这种做法首先是要判断浏览器或者设备是否支持某一特定特征，然后根据这个来选择最佳的体验去渲染。 你可能要通过框架执行特征检测来替代浏览器检测，例如通过： Modernizr 或者通过特征检测代码。详情参见：<a href="http://te-webtraining.azurewebsites.net/cn/samples/feature-detection.html">浏览器功能检测</a>。</p>    <p>Ø <b>优化网页上的图片。</b>越来越多的用户使用手机或者其他移动设备浏览网页，所以未优化或者未压缩的图片将大幅度地影响用户下载你网页的速度，极大影响用户体验和提高了跳出率。如果需要优化图片，可以使用<a href="https://kraken.io/">https://kraken.io/</a> 来进行。</p>    <p>Ø <b>HTML5</b><b>输入类型。</b>支持新HTML5输入类型的浏览器可以提供一个键盘布局，使之更好地配合那一区域（比如一封email）或者显示一个专用的控制（比如日期），这可以改善用户的体验。这可以帮助你的用户在填充时避免错误，以致加快进度。</p>    <p>Ø <b>预渲染+</b><b>预提取。</b>通过使用这些技术可以使你的用户能够体验更快的网站浏览，否则的话将会影响用户体验，提高网站的跳出率。</p>    <p>Ø <b>压缩内容。</b>需要启用压缩机制来传输，这对于减少加载时间很重要，能让用户更快地加载你的网站，同样是基于用户体验的考虑。可以考虑使用gzip压缩或其他类似功能。</p> </blockquote>  <p><b>C. </b><b>利用</b><b>Windows 8</b><b>中的新特性。</b><b></b></p>  <p>这主要是建议攻城师童鞋们可以利用最新的Windows 8的新特性，比如触控浏览和“开始”屏幕网站磁贴。开发者可利用Windows的这些新功能，为用户提供更加个性化的浏览体验。</p>  <blockquote>   <p>Ø <b>启用触控模式。</b>现在已经不是PC的时代了，现在是移动的时代，是触控的时代。如果你的网站不能在触控模式下有着很好的体验，那么你将在未来的时间里流失大量的用户。对于一些网站，一个好的触摸体验仅仅需要注意一些最基本的东西，比如使用适当大小的按钮，避免鼠标悬停菜单。 你可以阅读我们如何确保触控用户有效地使用你网站的<a href="http://te-webtraining.azurewebsites.net/cn/samples/touch.html">小技巧</a>。如果为了更加丰富的触摸体验、给触控用户更加优秀的体验的话，可以启动笔势和专用的平移／缩放行为。更加可以考虑使用指针事件来支持更先进的互动，比如触摸、鼠标和笔。最近，微软已经向W3C提交了<a href="http://te-webtraining.azurewebsites.net/cn/samples/touch.html">指针事件</a>规格，这将使得网站的互动模式向互操作交互式触控的未来发展。</p>    <p>Ø <b>Flip Ahead</b><b>浏览。</b>我们建议&quot;prev&quot;和 &quot;next&quot;链接关系。这两个属性可以帮助搜索引擎和浏览器更好地理解你网站内容的层次结构，而且可以启用一些新功能来改善你访问者的浏览体验。</p>    <p>&lt;link rel=&quot;next&quot; href=&quot;/next&quot;/&gt;</p>    <p>&lt;link rel=&quot;prev&quot; href=&quot;/prev&quot;/&gt;</p>    <p>Ø <b>IE11 Tiles+</b><b>通知。</b>我们建议攻城师们在做web开发的时候创建一个Windows 8的开始屏幕上的Tile。一个开始屏幕Tile可以让你的网站标志与您的用户更加接近，用户可以将你的网站&quot;钉&quot;在Windows Store apps旁边，并可以直接打开。添加只需要下面两行代码而已：</p>    <p>&lt;meta name=&quot;msapplication-TileColor&quot; content=&quot;#123456&quot;/&gt;</p>    <p>&lt;meta name=&quot;msapplication-square150x150logo&quot; content=&quot;square.png&quot;/&gt;</p>    <p>如果需要创建更多的Tile的样式，参见<a href="http://www.buildmypinnedsite.com/zh-hk">这里</a>。</p> </blockquote>  <p><b>D. </b><b>辅助功能的改进。</b><b></b></p>  <p>这一项主要是让网站可供具有各种不同的浏览习惯和身体缺陷的用户访问。</p>  <blockquote>   <p>Ø <b>图片Alt</b><b>属性。</b>我们建议给img标记添加ALT属性（就是给图片加上简短的一个描述），仅需要几秒钟而已。不仅仅是因为这样能让搜索引擎能通过更多的方式搜索到你的网站，而且因为网络是开放给任何人的，任何人都应该能够享受它。比如有些残障人士需要使用屏幕阅读软件来阅读你的网站，那么只有你添加了ALT属性，他才能阅读你的图片。</p>    <p>Ø <b>Aria</b><b>属性。</b>如果希望使网站可供具有各种不同的浏览习惯和身体缺陷的用户访问，我们建议添加aria-*属性。WAI-ARIA (Accessible Rich Internet Applications)这种方法提供了一些方式来定义你的动态Web内容和应用程序，以使具有残障人士能够识别并且成功与之交互。这是通过定义文档或应用程序结构的role，或通过定义部件角色、关系、状态或属性的aria-*属性来完成的。大量aria-*属性可使您的内容更容易导航和理解。 aria-labelledby, aria-level, aria-describedby, 和 aria-orientation等属性都使您的内容更容易理解。您可在<a href="http://www.w3.org/TR/2010/WD-wai-aria-20100916/states_and_properties">ARIA声明和属性页</a>上查阅更多相关信息。</p> </blockquote>  <p><b>2. </b><a href="https://remote.modern.ie/"><b>RemoteIE</b></a><b></b></p>  <p>RemoteIE使用的是微软Azure的RemoteApp服务，使得攻城师童鞋们不再需要可以在任何设备任何地方测试你的网站是否在Windows 10最新版本的IE上是否能正常工作包括Windows、Mac OSX、iOS以及 Android。</p>  <p>非常简单的四个步骤：</p>  <p>A. 注册RemoteApp服务。<a href="https://remote.modern.ie/login">https://remote.modern.ie/login</a></p>  <blockquote>   <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7418.1_333BF46F.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7418.1_5F00_333BF46F.png"><img title="1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="1" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8372.1_thumb_4E0AAB2C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8372.1_5F00_thumb_5F00_4E0AAB2C.png" width="787" height="314" /></a></p>    <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4048.2_319049FD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4048.2_5F00_319049FD.png"><img title="2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="2" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8780.2_thumb_30BA74C4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8780.2_5F00_thumb_5F00_30BA74C4.png" width="789" height="233" /></a></p> </blockquote>  <p>正常情况下，你很快就会收到微软的一封邮件，说你可以使用Remote IE了！</p>  <p>B. 下载安装RemoteApp</p>  <p>在你准备测试的设备上安装RemoteApp客户端，目前支持Windows、Mac OSX、iOS以及 Android。</p>  <blockquote>   <p>Ø <a href="https://itunes.apple.com/us/app/microsoft-remote-desktop/id715768417">Microsoft Remote Desktop for Mac</a></p>    <p>Ø <a href="https://itunes.apple.com/us/app/microsoft-remote-desktop/id714464092">Microsoft Remote Desktop for iPhone and iPad</a></p>    <p>Ø <a href="https://play.google.com/store/apps/details?id=com.microsoft.rdc.android">Microsoft Remote Desktop for Android</a></p>    <p>Ø <a href="http://www.windowsphone.com/en-us/store/app/microsoft-remote-desktop-preview/299b09ab-207e-441c-9e8e-c8d66c20b76b">Microsoft Remote Desktop for Windows Phone 8.1</a></p>    <p>Ø <a href="http://40588c6e-fe09-424e-b9ca-a24550a1532e.remoteapp.windowsazure.com/oobclient/x86/rdclientLauncher.application">Azure RemoteApp for Windows x86</a></p>    <p>Ø <a href="http://40588c6e-fe09-424e-b9ca-a24550a1532e.remoteapp.windowsazure.com/oobclient/amd64/rdclientLauncher.application">Azure RemoteApp for Windows x64</a></p>    <p>Ø <a href="http://40588c6e-fe09-424e-b9ca-a24550a1532e.remoteapp.windowsazure.com/oobclient/arm/en-us/RemoteApp.msi">Azure RemoteApp for Windows RT</a></p>    <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0724.3_7086EBFA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0724.3_5F00_7086EBFA.png"><img title="3" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="3" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3223.3_thumb_6D748E05.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3223.3_5F00_thumb_5F00_6D748E05.png" width="763" height="431" /></a></p> </blockquote>  <p>C. 打开RemoteApp客户端并登录</p>  <blockquote>   <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8468.4_680A7D1C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8468.4_5F00_680A7D1C.png"><img title="4" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="4" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5633.4_thumb_3DBDD5F2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5633.4_5F00_thumb_5F00_3DBDD5F2.png" width="759" height="429" /></a></p>    <p>打开RemoteApp，需要登陆微软的live id（啊，<a href="http://www.microsoft.com/zh-cn/account/default.aspx">什么是live id</a>），如果没有，到<a href="https://signup.live.com/signup.aspx?lic=1">这里</a>申请哈。记得这里登录的账号和你注册RemoteIE的账号需要一样的。</p> </blockquote>  <p>D. 从RemoteApp打开IE</p>  <blockquote>   <p>如果你在应用列表里头没有看到IE Technical Preview，不要着急，再等一段时间尝试点击“App invitations”的按钮哈。当你看到下面的这个图的时候，你就大功告成了！</p>    <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7635.5_0CC0B5F6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7635.5_5F00_0CC0B5F6.png"><img title="5" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="5" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1731.5_thumb_23165B3B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1731.5_5F00_thumb_5F00_23165B3B.png" width="608" height="461" /></a></p> </blockquote>  <p>E. 输入网址测试网站</p>  <blockquote>   <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7838.6_1F9A5B02.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7838.6_5F00_1F9A5B02.png"><img title="6" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="6" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7380.6_thumb_7A9F2B39.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7380.6_5F00_thumb_5F00_7A9F2B39.png" width="638" height="361" /></a></p>    <p>输入你的网址开始测试吧！</p> </blockquote>  <p><b>3. </b><b>IE</b><b>虚拟测试机</b><b></b></p>  <blockquote>   <p>可以在你的开发环境上的运行IE的虚拟机来测试各版本的IE，无论你的机器是OS X，Linux还是Windows！</p>    <p>到这里下载吧：<a href="https://www.modern.ie/zh-cn/virtualization-tools">https://www.modern.ie/zh-cn/virtualization-tools</a></p>    <p>除此以外微软还和BrowserStack合作，通过BrowserStack，攻城师们无需下载任何的东西，直接就在BrowserStack的成百上千台虚拟机上测试你的网站，只要你有浏览器，能上网！<b></b></p> </blockquote>  <p><b>4. </b><a href="https://www.modern.ie/zh-cn/compat-scan"><b>兼容性</b><b>检查工具</b></a><b></b></p>  <blockquote>   <p>这是用来是一个基于JavaScript的测试工具，运行它会分析你的网站，扫描modern IE不再支持的代码。 兼容性检查工具监视会引起问题的交互模式并自动报告这些问题。这允许你迅速识别问题，不用去熟记一大批文档。我们是使用Sauce Labs的服务来做这个测试的，Sauce Labs会帮助我们创建一台虚拟机来运行兼容性检查，该虚拟机实例会被删除，没有人将可以访问它。如果想继续浏览，请注册一个免费账号 <a href="http://saucelabs.com/signup">http://saucelabs.com/signup</a> 即可访问100+的浏览器/设备/操作系统平台。</p> </blockquote>  <p><b>5. </b><a href="https://www.modern.ie/zh-cn/compat-scan"><b>浏览器截屏</b></a><b></b></p>  <blockquote>   <p>BrowserStac的自动化截屏能够确保你的网站在各种设备和浏览器上正常浏览。利用BrowserStack自动化截屏，你将会得到即时视觉反馈。在modern.IE这，我们将向您展示你的网站在常见的9个浏览器和各设备上的截屏。你甚至可以下载这些截屏图片。想要更多的选择,请访问 <a href="http://browserstack.com/screenshots">http://browserstack.com/screenshots</a>。</p> </blockquote>  <p>&#160;</p>  <p>Modern.IE是一个非常好用的工具，快点试试吧<a href="https://www.modern.ie">https://www.modern.ie</a>。</p>]]></content:encoded>
    </item>
    <item>
      <title>Visual Studio的 Apache Cordova 插件CTP3.0发布！</title>
      <link>https://docs.microsoft.com/archive/blogs/web_apps_and_html5_cross-platform_development/visual-studio-apache-cordova-ctp3-0</link>
      <pubDate>Tue, 25 Nov 2014 01:30:21 GMT</pubDate>
      <dc:creator><![CDATA[蓝田]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/web_apps_and_html5_cross-platform_development/2014/11/25/visual-studio-apache-cordova-ctp3-0/</guid>
      <description><![CDATA[&#160;  北京时间12号晚23点开始的Connect()活动上，微软发布了一系列激动人心的消息！     .NET开源了！以后.NET将可在Linux和Mac OS平台上运行！...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>北京时间12号晚23点开始的Connect()活动上，微软发布了一系列激动人心的消息！</p>  <ul>   <li>.NET开源了！以后.NET将可在Linux和Mac OS平台上运行！</li>    <li>VS免费了！！如果你是学生，个人开发者，初创企业，那么你将可以使用Visual Studio Community 2013！免费！</li>    <li>Visual Studio 2015还自带了Android模拟器！可以告别那个渣爆了的原生Android模拟器了！</li>    <li>Visual Studio的 Apache Cordova 插件CTP3.0发布！现在可以直接在VS里面debug部署到iOS模拟器或者真机上的应用程序！</li> </ul>  <p>链接：</p>  <p>1. Visual Studio 2013 Update 4(最新版): <a href="http://go.microsoft.com/fwlink/?linkid=390465">http://go.microsoft.com/fwlink/?linkid=390465</a></p>  <p>2. Visual Studio 2015 Preview : <a href="http://go.microsoft.com/fwlink/?linkid=517106">http://go.microsoft.com/fwlink/?linkid=517106</a></p>  <p>3. Visual Studio Community 2013 : <a href="http://go.microsoft.com/fwlink/?LinkId=518340">http://go.microsoft.com/fwlink/?LinkId=518340</a></p>  <p>4. 各种开发者的免费福利： <a href="http://go.microsoft.com/fwlink/?LinkId=518339">http://go.microsoft.com/fwlink/?LinkId=518339</a></p>  <p>5. 下载Apache Cordova CTP 3.0: <a href="http://www.microsoft.com/en-us/download/details.aspx?id=42675">http://www.microsoft.com/en-us/download/details.aspx?id=42675</a></p>  <p>咱们来瞅瞅这个Cordova CTP 3.0到底更新哪些东西：</p>  <p>这是CTP3.0的新的特性：</p>  <p>1. 更新了Ripple模拟器——实时更新Ripple!不用再重新编译就可以看到效果！</p>  <p>2. 可以在Visual Studio调试部署到iOS模拟器和真机上的iOS程序了！同时实时看到修改效果！（这个目前）</p>  <p>3. 提高remote iOS build agent的安全性以及让它更容易配置</p>  <p>4. 改善了Plugin的管理体验，更加方便地从Git或者自己的文件系统导入自定义的Plugin</p>  <p>5. config.xml界面重新设计，更加人性化</p>  <p>6. 支持Apache Cordova CLI 4.0.0，支持Windows Universal App！直接可以生成Windows 8.1和Windows Phone 8.1的应用！</p>  <p>要使用CTP 3.0，必须是2013 update 4或者2015版本：）</p>  <p>如果装过CTP 2.0的童鞋，在装CTP 3.0的时候可能会遇到下面的问题：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4075.clip_image002_67989386.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4075.clip_5F00_image002_5F00_67989386.jpg"><img title="clip_image002" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0285.clip_image002_thumb_0BC07EC7.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0285.clip_5F00_image002_5F00_thumb_5F00_0BC07EC7.jpg" width="176" height="244" /></a></p>  <p>需要先卸载CTP 2.0，然后再安装CTP 3.0哈。<a href="http://support.microsoft.com/kb/3014133">参考</a></p>  <p>先去控制面板à程序à卸载程序，找到CTP2，卸载。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6180.clip_image004_268CA4D3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6180.clip_5F00_image004_5F00_268CA4D3.jpg"><img title="clip_image004" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7028.clip_image004_thumb_0AEAA98E.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7028.clip_5F00_image004_5F00_thumb_5F00_0AEAA98E.jpg" width="244" height="134" /></a></p>  <p>然后它会告诉你，成功卸载了，其实它是骗你的，完全没有好么。。。</p>  <p>用管理员模式运行cmd，输入：</p>  <p>&quot;%ProgramData%\Package Cache\{dea88246-f74a-4171-ad6c-d9c978bf2973}\vs2013mda_0.1.exe&quot; /uninstall /passive /force /burn.ignoredependencies={53d408db-eb91-43fb-9d8f-167681c19763};vsupdate_KB2829760</p>  <p>然后CTP的安装程序会跳出来，其实它在卸载，不要以为它在安装，时间略久一点，耐心等到进度条结束哟：）</p>  <p>然后就可以开始安装CTP 3.0了！</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/3757.clip_image006_0191750B.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/3757.clip_5F00_image006_5F00_0191750B.jpg"><img title="clip_image006" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5758.clip_image006_thumb_57B100D5.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5758.clip_5F00_image006_5F00_thumb_5F00_57B100D5.jpg" width="175" height="244" /></a></p>  <p>里面node, ant, android等东西如果已经安装过，就不要选了。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0005.clip_image008_1540EF50.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0005.clip_5F00_image008_5F00_1540EF50.jpg"><img title="clip_image008" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2664.clip_image008_thumb_64AD7197.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2664.clip_5F00_image008_5F00_thumb_5F00_64AD7197.jpg" width="175" height="244" /></a></p>  <p>其实你也可以直接下载2015 preview版本，直接就内含了CTP 3.0。不用这么麻烦。</p>  <p><b>更新后的</b><b>Ripple</b><b>模拟器</b><b></b></p>  <p>添加一个工程后，选择Ripple，运行：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0385.clip_image010_78C68E20.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0385.clip_5F00_image010_5F00_78C68E20.jpg"><img title="clip_image010" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image010" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0081.clip_image010_thumb_7CD36CA3.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0081.clip_5F00_image010_5F00_thumb_5F00_7CD36CA3.jpg" width="244" height="214" /></a></p>  <p>在Visual Studio可以看到Debug窗口已经打开：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7217.clip_image012_5A7E67DB.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7217.clip_5F00_image012_5F00_5A7E67DB.jpg"><img title="clip_image012" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image012" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1374.clip_image012_thumb_731095DC.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1374.clip_5F00_image012_5F00_thumb_5F00_731095DC.jpg" width="244" height="171" /></a></p>  <p>定位到标题位置，准备修改：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/7674.clip_image014_1BAF01E4.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/7674.clip_5F00_image014_5F00_1BAF01E4.jpg"><img title="clip_image014" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image014" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5481.clip_image014_thumb_2D8E2662.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5481.clip_5F00_image014_5F00_thumb_5F00_2D8E2662.jpg" width="244" height="147" /></a></p>  <p>修改完毕，焦点移到其他位置：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6011.clip_image016_01712971.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6011.clip_5F00_image016_5F00_01712971.jpg"><img title="clip_image016" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image016" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0167.clip_image016_thumb_2C4C1E34.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0167.clip_5F00_image016_5F00_thumb_5F00_2C4C1E34.jpg" width="244" height="164" /></a></p>  <p>可以看到Ripple里头的标题栏已经改变！实时调试！不用重新编译！</p>  <p><b>在</b><b>Visual Studio</b><b>调试</b><b>iOS</b><b>程序：</b><b></b></p>  <p>调试iOS程序可以在Ripple模拟器里头，也可以在MAC的Simulator里面，或者直接跑在真机上。</p>  <p>我现在配置是MAC上跑了Parallels Desktop 10，推荐，不卡，非常好用。然后PD10上面我再跑了windows，windows 10上安装了visual studio。</p>  <p>你也可以不用这样，但是需要mac和你的pc是在一个内网里头。</p>  <p>现在MAC上安装vs-mda-remote:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1106.clip_image018_09F7196C.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1106.clip_5F00_image018_5F00_09F7196C.jpg"><img title="clip_image018" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image018" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8372.clip_image018_thumb_24C33F78.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8372.clip_5F00_image018_5F00_thumb_5F00_24C33F78.jpg" width="244" height="26" /></a></p>  <p>然后启动vs-mda-remote：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1212.clip_image020_749BF4B4.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1212.clip_5F00_image020_5F00_749BF4B4.jpg"><img title="clip_image020" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image020" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1830.clip_image020_thumb_37334240.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1830.clip_5F00_image020_5F00_thumb_5F00_37334240.jpg" width="244" height="194" /></a></p>  <p>可以看到有个PIN码，记下来。</p>  <p>回到windows里面的Visual Studio，在toolsàOptions里面，找到tools for Apache Cordova，然后配置好，mac的ip，端口以及PIN码。现在CTP 3.0多了PIN，保证安全性。</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1526.clip_image022_3FB6A18A.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1526.clip_5F00_image022_5F00_3FB6A18A.jpg"><img title="clip_image022" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image022" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/8176.clip_image022_thumb_2AC7AFC8.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/8176.clip_5F00_image022_5F00_thumb_5F00_2AC7AFC8.jpg" width="244" height="126" /></a></p>  <p>然后就可以开始调试了，选择Simulator，iphone 5或者iphone 6什么的：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4705.clip_image024_33B74207.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4705.clip_5F00_image024_5F00_33B74207.jpg"><img title="clip_image024" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image024" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/2570.clip_image024_thumb_4359DDC9.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/2570.clip_5F00_image024_5F00_thumb_5F00_4359DDC9.jpg" width="244" height="45" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0044.clip_image026_05604D0B.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0044.clip_5F00_image026_5F00_05604D0B.jpg"><img title="clip_image026" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image026" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1882.clip_image026_thumb_629F154D.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1882.clip_5F00_image026_5F00_thumb_5F00_629F154D.jpg" width="244" height="150" /></a></p>  <p>同样在Visual Studio里面可以看到Debug的界面(目前只有VS 2015支持)</p>  <p><b>remote iOS build agent</b><b>：</b><b></b></p>  <p>就刚才说的，添加了PIN码，保证安全性：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4062.clip_image0221_2B588E12.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4062.clip_5F00_image0221_5F00_2B588E12.jpg"><img title="clip_image022[1]" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image022[1]" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/4174.clip_image0221_thumb_0FB692CD.jpg" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/4174.clip_5F00_image0221_5F00_thumb_5F00_0FB692CD.jpg" width="244" height="126" /></a></p>  <p><b>导入自定义的</b><b>Plugin</b><b>：</b><b></b></p>  <p>轻松导入各种Plugin：</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/0576.clip_image028_3CCB7F9B.gif" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/0576.clip_5F00_image028_5F00_3CCB7F9B.gif"><img title="clip_image028" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image028" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/1754.clip_image028_thumb_5E4D3FDB.gif" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/1754.clip_5F00_image028_5F00_thumb_5F00_5E4D3FDB.gif" width="244" height="123" /></a></p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/6560.clip_image030_6E5C0E92.gif" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/6560.clip_5F00_image030_5F00_6E5C0E92.gif"><img title="clip_image030" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="clip_image030" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/68/21/metablogapi/5758.clip_image030_thumb_44E7CD52.gif" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-68-21-metablogapi/5758.clip_5F00_image030_5F00_thumb_5F00_44E7CD52.gif" width="244" height="127" /></a></p>  <p><b>支持</b><b>Cordova CLI 4.0</b><b>：</b><b></b></p>  <p>现在可以直接运行Windows Universal Apps的项目了，更多Cordova CLI 4.0的功能<a href="http://cordova.apache.org/announcements/2014/10/16/cordova-4.html">参见</a>。</p>  <h3>最后</h3>  <p>赶紧动手开始吧~~</p>]]></content:encoded>
    </item>
  </channel>
</rss>