jQuery и приложения для Windows 8 в стиле Metro JavaScript - PullRequest
22 голосов
/ 14 сентября 2011

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

Ответы [ 9 ]

16 голосов
/ 14 сентября 2011

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

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

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

Чувствуете ли вы удачу?

5 голосов
/ 20 сентября 2011

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

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

4 голосов
/ 18 ноября 2012

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

<ч />

Цитата из Центра разработки (msdn)

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

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

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

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

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

2 голосов
/ 30 сентября 2011

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

1 голос
/ 03 октября 2012

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

  • Всегда старайтесь по возможности включать исходный файл .js в ваш проект. Вызов в CDN или во внешнее размещенное местоположение помечает вас для некоторых проверок безопасности, которые вам обычно не нужно проходить.
  • Я использовал несколько версий jQuery для написания своих собственных приложений. Некоторые из них сломались, так что имейте в виду, что гарантии все еще нет. Другие библиотеки, такие как SoundJS, я использовал более старые версии, которые, как я знаю, работают.
  • Если вы ищете примеры сторонних библиотек, у меня есть несколько постов по Knockout и 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, в котором используются сторонние библиотеки, бесплатный источник которого можно найти здесь: http://win8gamekit.codeplex.com

1 голос
/ 23 августа 2012

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

1 голос
/ 03 августа 2012

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

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

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

1 голос
/ 15 сентября 2011

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

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

На самом деле вы можете скачать его через Visual Studio. Если вы загружаете NuGet Package Manager.
ИНСТРУМЕНТЫ-> Добавить пакеты и расширения

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

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

...