28

在试用了新的 Visual Studio 11 预览版之后,我认为最有趣的问题是如何让我的新基于 javascript 的应用程序在浏览器中也能以最少的更改运行?那可能吗?我想支持 javascript 的想法是为了更好的跨平台应用程序,对吗?

我知道一些 winJs 代码调用 WinRT,但我们也可以在基于 Web 的应用程序上使用一些 WinJS 代码吗?

4

5 回答 5

28

我在这里构建并且基于微软人所说的是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 应用。

于 2011-09-15T21:19:26.823 回答
18

事情好像变了。WinJS 已在所有平台上可用...您可以在此处的浏览器中尝试:try.buildwinjs.com

WinJS 现在实际上正在开源:博客github

使用这个强大的 Windows 开发框架在 Windows 以外的各种浏览器和设备(包括 Chrome、Firefox、Android 和 iOS)上构建高质量的 Web 应用程序。

于 2014-04-02T21:40:21.450 回答
5

是的,这是通过 lightswitch html 组件完成的。

您可以下载并安装 lightswitch 以查看使用 winjs 跨浏览器的示例。它使用承诺对象等。

于 2012-11-29T04:13:26.377 回答
3

有一个可以在浏览器中运行的 winjs 替代方案:http: //www.bluesky.io/还没有尝试过。

于 2013-04-28T11:23:39.153 回答
2

如果您正在编写游戏,这将是可能的,您可以轻松地将它们移植到 Metro 应用程序和 Web 应用程序之间,而无需更改代码字母。这是因为您并没有真正使用 WinJS 库。

对于 Web 应用程序,我不建议这样做,因为这意味着您无法使用 WinRT 框架。这也意味着你失去了很多功能。例如搜索和分享魅力。这些本质上是用于 Metro 应用程序,但在 Web 应用程序中没有用处。

WinRT 框架也针对性能进行了优化。所以建议你使用它而不是像 jQuery 或其他框架这样的框架。可能会慢一些。

您必须问自己的另一个问题:如果您可以为网络编写它,为什么要将其变成 Metro 应用程序?那会有什么价值呢?

我想说的最后一点是:Web 应用程序(目前)旨在在线工作。使用 Metro 应用程序时,您需要记住该应用程序也需要离线工作。这意味着额外的抽象。

就像安德烈在回答中提到的那样。HTML5/JS 只提供了一种额外的方式来开发应用程序。微软只是让更多人可以用他们熟悉的语言编写应用程序成为可能。

于 2012-08-16T19:37:00.747 回答