2011-09-14 15 views
22

jQuery può essere utilizzato nelle app in stile Metro di Windows 8 sviluppate utilizzando l'API JavaScript? Sto osservando i campioni, e c'è un sacco di manipolazioni DOM standard come document.getElementById, addEventListener, ecc. Mi piacerebbe usare jQuery per la produttività.jQuery e Windows 8 JavaScript Style App di stile

+2

Hai provato? :) – epascarello

+0

Non riesco a vedere perché no. Hanno un normale runtime javascript e jQuery non dipende da un browser (è ampiamente utilizzato in node.js). –

+0

Non ho ancora provato. È ancora necessario installare Developer Preview per Windows 8. Stavo solo sfogliando i documenti per capire. – pfeilbr

risposta

16

Il $ non è magico. jQuery è solo una libreria javascript. Dovrebbe funzionare bene.

L'unica cosa che potrebbe non funzionare sono cssHooks che non terranno conto di alcuna "stranezza" del loro ambiente.

Quindi sì, funzionerà, se ci si fida di Microsoft per produrre un ambiente che segue le specifiche HTML/CSS/JS.

Ti senti fortunato?

+8

"L'ambiente" è fondamentalmente senza cromo IE10. –

+1

init: 3 win 8 è come bootablish cioè 10 (le App di stile metro) – ShrekOverflow

1

Dovrebbe funzionare correttamente. jQuery è solo una libreria. Lo $('#someid') chiamerà internamente lo document.getElementById Puoi usarlo come se si potesse usare il codice javascript che scrivi tu stesso ...

5

Sì, funziona, così come qualsiasi libreria JavaScript. L'ho verificato su una delle tavolette che hanno distribuito alla conferenza BUILD.

Tuttavia, non aspettarsi di utilizzare una CDN per caricare nello script. Devi scaricarlo, aggiungerlo al progetto e fare riferimento localmente.

+5

Non avrebbe senso usare comunque un CDN per un'app nativa - giusto? – SliverNinja

2

È possibile utilizzare qualsiasi libreria JS. Sospetto che metodi come WinJS.xhr (aka '$ .ajax') siano scritti in modo tale che WinJS non abbia una dipendenza da jQuery.

1

JQuery dovrebbe funzionare bene, ma tenete a mente c'è qualche costruito nel funzionalità per fare questo genere di cose, nel caso del vostro esempio:

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

Query Collection Documentation

1

Non utilizzare le finestre librerie come WinJS. Perché vorresti bloccarti e dipendere dal codice proprietario? Segui le solite cose, ad esempio HTML, CSS, JS (JQuery o altro). Renderà il tuo supporto futuro/dev molto più prevedibile ...

+0

Ma per quanto riguarda le prestazioni? Sicuramente c'è di più su winjs che su una libreria javascript? –

1

Come con tutte le librerie JavaScript di terze parti, ci sono un paio di cose che dovresti tenere a mente.

Ho anche scritto un kit di Windows Store di gioco gratuito che utilizza librerie di terze parti voi può afferrare la fonte libera per quella qui: http://win8gamekit.codeplex.com

4

tl; dr: è possibile utilizzare jQuery 1.7+, ma non è completamente integrato in cui è coinvolta la modifica di markup (ancora?).


Citazione dal Dev Center (msdn)

utilizzando jQuery

È possibile utilizzare jQuery in Windows Store utilizzando JavaScript, ma solo le versioni 1.7 e successive. Ti consigliamo di utilizzare sempre l'ultima versione.

Ciò significa che funzionerà, ma si incontrano alcuni comportamenti non standard, come indicato nella HTML and DOM API changes list (msdn)

Ci sono delle eccezioni citate quando si imposta la proprietà innerHtml (tra gli altri: Making HTML safer) se c'è markup non sicuro, ma questo non è bloccante e il semplice fatto di caricare la libreria jQuery (1.8.2) ne attiverà alcuni.

Come accennato in precedenza, è necessario utilizzare una copia locale della libreria (senza CDN).

0

In realtà è possibile scaricarlo tramite Visual Studio. Se si scarica NuGet Package Manager.
STRUMENTI-> Aggiungi pacchetti & Estensioni

Cerca i pacchetti online di sinistra per NuGet Package Manager e installa.

Quindi, quando in un progetto si desidera jQuery, fare clic con il pulsante destro del mouse sui riferimenti e aggiungere un pacchetto NuGet e cercare jQuery. Questo è quello che uso.

Problemi correlati