在试用了新的 Visual Studio 11 预览版之后,我认为最有趣的问题是如何让我的新基于 javascript 的应用程序在浏览器中也能以最少的更改运行?那可能吗?我想支持 javascript 的想法是为了更好的跨平台应用程序,对吗?
我知道一些 winJs 代码调用 WinRT,但我们也可以在基于 Web 的应用程序上使用一些 WinJS 代码吗?
在试用了新的 Visual Studio 11 预览版之后,我认为最有趣的问题是如何让我的新基于 javascript 的应用程序在浏览器中也能以最少的更改运行?那可能吗?我想支持 javascript 的想法是为了更好的跨平台应用程序,对吗?
我知道一些 winJs 代码调用 WinRT,但我们也可以在基于 Web 的应用程序上使用一些 WinJS 代码吗?
我在这里构建并且基于微软人所说的是WinJS确实调用了Windows RT。加上他们的一些东西是基于一些供应商前缀 css 的东西(即仅限 IE10)。所以简短的回答是否定的,你不能。
更多的想法。需要明确的是,从现有的 Html/Js 应用程序到 Win8 应该可以工作。Win8 App事件的一些注意事项,外观和感觉是一些需要关注的问题。但是核心应该可以工作。
最初的问题与“我有一个 IE9 HTML5/Js 应用程序,我想在任何地方运行(包括 IE6、FF2),这可能吗?”并没有什么不同。他们的库中有很多功能,以及利用新的 CSS3 功能(-ms-grid、-ms-float、3d 转换)。据我所知,他们所有的手势识别功能都在 winRT 中,为了“快速和流畅”的响应能力,您无法在 Metro 环境之外真正使用这些功能。
在我看来,win8 Metro 风格的应用之所以被支持,并不是因为跨平台的应用,而是为了增加开发者的基础,看谁能编写 win8 应用。
事情好像变了。WinJS 已在所有平台上可用...您可以在此处的浏览器中尝试:try.buildwinjs.com
使用这个强大的 Windows 开发框架在 Windows 以外的各种浏览器和设备(包括 Chrome、Firefox、Android 和 iOS)上构建高质量的 Web 应用程序。
是的,这是通过 lightswitch html 组件完成的。
您可以下载并安装 lightswitch 以查看使用 winjs 跨浏览器的示例。它使用承诺对象等。
有一个可以在浏览器中运行的 winjs 替代方案:http: //www.bluesky.io/还没有尝试过。
如果您正在编写游戏,这将是可能的,您可以轻松地将它们移植到 Metro 应用程序和 Web 应用程序之间,而无需更改代码字母。这是因为您并没有真正使用 WinJS 库。
对于 Web 应用程序,我不建议这样做,因为这意味着您无法使用 WinRT 框架。这也意味着你失去了很多功能。例如搜索和分享魅力。这些本质上是用于 Metro 应用程序,但在 Web 应用程序中没有用处。
WinRT 框架也针对性能进行了优化。所以建议你使用它而不是像 jQuery 或其他框架这样的框架。可能会慢一些。
您必须问自己的另一个问题:如果您可以为网络编写它,为什么要将其变成 Metro 应用程序?那会有什么价值呢?
我想说的最后一点是:Web 应用程序(目前)旨在在线工作。使用 Metro 应用程序时,您需要记住该应用程序也需要离线工作。这意味着额外的抽象。
就像安德烈在回答中提到的那样。HTML5/JS 只提供了一种额外的方式来开发应用程序。微软只是让更多人可以用他们熟悉的语言编写应用程序成为可能。