Приложения в стиле Metro: WinJS обязательно? - PullRequest
14 голосов
/ 03 апреля 2012

Вчера я начал разрабатывать свое первое приложение в стиле Metro с использованием JavaScript. Я использовал один из этих шаблонов в Visual Studio 2011. Этот шаблон проекта поставляется с кучей сгенерированного кода, который сильно зависит от WinJS. Вся структура напоминает ASP.NET с его представлениями и соответствующими файлами кода. Существует также файл navigator.js, который отвечает за переход между представлениями. Все данные находятся в файле data.js и могут быть получены с использованием различных функций.

Я работал с backbone.js и нашел его концепцию, такую ​​как структура MVC и маршрутизация, довольно крутой. Мой вопрос в основном, если вы можете реализовать такое приложение в стиле Metro, используя backbone.js? Могу ли я устранить WinJS и просто начать с нуля? Стоит ли пытаться интегрировать backbone.js в текущую структуру? Как бы это выглядело тогда? Существуют ли какие-либо ограничения на использование сторонних JavaScript-фреймворков? Должен ли я оставить созданную структуру как есть?

Каковы лучшие практики и шаблоны разработки приложений в стиле Metro с помощью JavaScript?

Спасибо

Ответы [ 2 ]

9 голосов
/ 03 апреля 2012

Вы можете использовать любую среду JavaScript, которая вам нравится, в приложении JavaScript в стиле Metro.См. Этот связанный вопрос о jQuery:

jQuery и приложения для Windows 8 в стиле Metro в стиле JavaScript

Платформа WinJS выполняет несколько функций, во-первых, это наборAPI пользовательского интерфейса для управления данными и управления ими, создания запросов на обслуживание и т. Д. Они легко заменяются другими средами JavaScript.Второй - это слой пользовательского интерфейса, здесь вы можете немного побороться.Пользовательский интерфейс WinJS разработан с учетом языка проектирования Metro.Если вы замените его собственным слоем пользовательского интерфейса (например, с использованием пользовательского интерфейса jQuery), ваше приложение будет выглядеть неправильно.

Лично я бы использовал WinJS для уровня пользовательского интерфейса и для интеграции со средой выполнения (постоянство состояния, приложение).переключение и т. д.), но для большей части моего кода используйте более стандартную библиотеку JavaScript, такую ​​как Backbone или Knockout.

0 голосов
/ 26 ноября 2012

Я использую Knockout js и Require js для MVVM. Для визуальных эффектов я использую 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 вместо, я думаю, установка будет аналогичной.

...