Можно ли использовать jQuery в приложениях типа Metro 8 в стиле Windows 8, разработанных с использованием JavaScript API? Я просматриваю образцы и там много стандартных манипуляций с DOM, таких как document.getElementById
, addEventListener
и т.д. Я бы хотел использовать jQuery для повышения производительности.
JQuery и Windows 8 JavaScript Metro Style Apps
Ответ 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. Это то, что я использую.