【问题标题】:Can XAML be used with JavaScript in WinRT?XAML 可以与 WinRT 中的 JavaScript 一起使用吗?
【发布时间】:2011-09-23 14:18:48
【问题描述】:

还是 JavaScript 仅限于 HTML?我只在 Build 2011 看过 HTML-JavaScript 演示

【问题讨论】:

  • 您为什么要这样做?如果您了解 javascript,那么您很容易了解 HTML。 (我认为 JavaScript winrt 应用程序是一个具有 Windows 8 外观和感觉的“离线”网站)
  • 因为 javascript 是一种很棒的动态语言。当我们可以使用更好的技术时,为什么还要将 HTML 用于桌面应用程序?我不明白。

标签: javascript xaml windows-8 windows-runtime


【解决方案1】:

JavaScript Metro 应用程序不支持 XAML - 这些类专门从 JavaScript WinRT 投影中隐藏。

这实际上不仅包括Windows.UI.Xaml 下的东西,还包括其他地方的一些其他类,通常当它们执行 JS 标准库(带有 HTML5 扩展)已经涵盖的事情时。查看究竟隐藏了什么的最简单方法是检查 WinRT .idl 文件(在“C:\Program Files (x86)\Windows Kits\8.0\Include\winrt”中)并搜索 webhosthidden。那些应用了[webhosthidden] 属性的接口在JS 中是不可见的。有时您还会看到 cmets 解释隐藏特定界面的原因。

【讨论】:

    【解决方案2】:

    还没有。 XAML 仅用于 C# 或 C++,对于 JavaScript,您需要 HTML5。

    其中一个原因是在 HTML + JavaScript 的情况下,使用与 IE10 相同的引擎进行渲染。 (顺便说一下,Metro 版本的 IE10 不支持 Silverlight 之类的插件。)

    目前缺少的另一个方面是您不能使用 ASP.NET / ASP.NET MVC 来构建 Metro 风格的应用程序,这将允许结合 C# 和 HTML。

    【讨论】:

    • "顺便说一下,IE10 不支持 Silverlight 之类的插件。" Metro IE10 不支持,普通 IE 支持。
    • “在使用 C# 的同时,应该可以使用 Microsoft 的 Razor 格式化引擎来设置使用 HTML/CSS 的应用程序样式。” (但还没有。)tirania.org/blog/archive/2011/Sep-15.html
    • 很可能通过使用可用的 C#-to-JS 或 MSIL-to-JS 翻译器之一来使用 C#,但是......为什么?如果您想要在后端使用 HTML 和 C# UI 的 Metro 应用程序,只需制作一个带有单个全屏 WebView 控件的 C# XAML 应用程序。
    • @Pavel 我在 HTML 和 XAML 之间进行选择。看起来 HTML 之所以获胜,是因为它能够部分地为 Web(Windows 之外)重用 HTML5 + JavaScript,但我也喜欢 C# 在域逻辑方面的优势。我也在考虑用 C# 实现一个 WinRT 组件并在 JavaScript 中使用它。
    猜你喜欢
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多