14

昨天我开始使用 JavaScript 开发我的第一个 Metro 风格应用程序。我在 Visual Studio 2011 中使用过其中一个模板。这个项目模板附带了一堆严重依赖 WinJS 的生成代码。整个结构让人想起 ASP.NET 及其视图和相应的代码隐藏文件。还有一个 navigator.js 文件负责视图之间的导航。整个数据位于 data.js 中,可以使用不同的函数进行检索。

我使用过backbone.js,我发现它的MVC结构和路由等概念非常酷。我的问题基本上是您是否可以使用backbone.js 实现这样一个Metro 风格的应用程序?我可以消除 WinJS 并从头开始吗?我应该尝试将backbone.js 集成到当前结构中吗?那时会是什么样子?使用第三方 JavaScript 框架有什么限制吗?我应该保留生成的结构吗?

使用 JavaScript 开发 Metro Style Apps 的最佳实践和模式是什么?

谢谢

4

2 回答 2

9

您可以在 Metro 风格的 JavaScript 应用程序中使用您喜欢的任何 JavaScript 框架。请参阅有关 jQuery 的相关问题:

jQuery 和 Windows 8 JavaScript Metro 风格应用

WinJS 框架执行几个功能,第一个是一组非 UI API,用于管理和操作数据、发出服务请求等……这些很容易被其他 JavaScript 框架替换。第二个是 UI 层,在这里你可能会有点挣扎。WinJS UI 的设计遵循 Metro 设计语言。如果您将其替换为您自己的 UI 层(例如使用 jQuery UI),您的应用程序将看起来不正确。

就我个人而言,我会将 WinJS 用于 UI 层并与运行时集成(状态持久性、应用程序切换等......),但对我的大部分代码使用更标准的 JavaScript 库,例如 Backbone 或 Knockout,以确保可移植性。

于 2012-04-03T07:17:34.207 回答
0

我对 MVVM 使用 Knockout js 和 Require js。对于视觉效果,我使用 jQuery。

我的数据主看起来有点像这样:

(function () {
    "use strict";

    var app = WinJS.Application;

    app.onactivated = function (eventObject) {
        require(["/scripts/knockout"], function(ko){
            // My knockout viewModel and data binding goes here
        });
    };

    app.start();
})();

如果您更喜欢 Backbone,我想设置会类似。

于 2012-11-26T08:42:08.697 回答