Подтвердить что ты не робот

JQuery и Windows 8 JavaScript Metro Style Apps

Можно ли использовать jQuery в приложениях типа Metro 8 в стиле Windows 8, разработанных с использованием JavaScript API? Я просматриваю образцы и там много стандартных манипуляций с DOM, таких как document.getElementById, addEventListener и т.д. Я бы хотел использовать jQuery для повышения производительности.

4b9b3361

Ответ 1

$ не волшебство. jQuery - это просто библиотека javascript. Он должен работать нормально.

Единственное, что может не сработать, это cssHooks, которые не будут учитывать любые "причуды" их среды.

Итак, да, он будет работать, , если вы доверяете Microsoft, чтобы создать среду, которая следует спецификациям HTML/CSS/JS.

Вам повезло?

Ответ 2

Да, это работает, как и любая библиотека JavaScript. Я проверил его на одной из табличек, которые они раздавали на конференции BUILD.

Однако не ожидайте использовать CDN для загрузки в script. Вы должны загрузить его, добавить в проект и указать его локально.

Ответ 3

tl; dr: вы можете использовать jQuery 1.7+, но не полностью (пока?) полностью интегрированы при модификации разметки.


Цитата из Dev Center (msdn)

Использование jQuery

Вы можете использовать jQuery в своем приложении Windows Store с помощью JavaScript, но только версии 1.7 и более поздние. Мы рекомендуем всегда использовать последнюю версию.

Это означает, что он будет работать, но вы столкнетесь с некоторыми нестандартными поведением, перечисленными в списке изменений HTML и DOM API (msdn)

При установке свойства innerHtml есть исключения, в том числе: Обеспечение безопасности HTML), если есть небезопасная разметка, но это неблокирование и простой факт загрузки библиотеки jQuery (1.8.2) вызовут несколько.

Как уже упоминалось ранее, вам нужно использовать локальную копию библиотеки (нет CDN).

Ответ 4

Вы можете использовать любую библиотеку JS. Я подозреваю, что такие методы, как WinJS.xhr(aka '$.ajax'), где написано так, что WinJS не имеет зависимости от jQuery.

Ответ 5

Он должен работать нормально. jQuery - это просто библиотека. $('#someid') будет внутренне вызывать document.getElementById. Вы можете использовать его так же, как если бы вы могли использовать код javascript, который вы пишете сами...

Ответ 6

JQuery должен работать нормально, но имейте в виду, что в вашем примере есть встроенная функциональность для этого:

WinJS.Utilities.query("#someId li")
     .listen("click", function (result) {

Документация по сборке запросов

Ответ 7

Не используйте библиотеки Windows, такие как WinJS. Почему вы хотите заблокировать себя и быть зависимыми от проприетарного кода? Придерживайтесь обычного материала, то есть HTML, CSS, JS (JQuery или иначе). Это только сделает вашу будущую поддержку /dev намного более предсказуемой...

Ответ 8

Как и во всех сторонних библиотеках JavaScript, вы должны иметь в виду несколько вещей.

  • Всегда старайтесь включать исходный файл .js в свой проект, когда это возможно. Вызов на CDN или внешнее размещенное местоположение помечает вас для некоторых проверок безопасности, которые обычно вам не нужно выполнять.
  • Я использовал пару jQuery-версий для кодирования собственных приложений. Некоторые из них сломались, поэтому имейте в виду, что по-прежнему нет никакой гарантии. Другие библиотеки, такие как SoundJS, я использовал более старые версии, которые, как я знаю, работают.
  • Если вы ищете примеры сторонних библиотек, у меня есть несколько сообщений о нокауте и Upshot здесь:
  • http://blogs.msdn.com/b/davedev/archive/2012/05/02/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot-js-and-kockout-js.aspx

Я также написал бесплатный комплект для Windows Store Gaming Kit, который использует сторонние библиотеки, которые вы можете захватить для этого бесплатный источник: http://win8gamekit.codeplex.com

Ответ 9

Фактически вы можете загрузить его через Visual Studio. Если вы загрузите диспетчер пакетов NuGet.
TOOLS- > Добавить пакеты и расширения

Найдите левые онлайн-пакеты для диспетчера пакетов NuGet и установите.

Затем, когда в проекте, который вы хотите jQuery, щелкните правой кнопкой мыши по вашим ссылкам и добавьте пакет NuGet и выполните поиск jQuery. Это то, что я использую.