2011-09-14 31 views
22

jQuery có thể được sử dụng trong Windows 8 Các ứng dụng kiểu Metro được phát triển bằng API JavaScript không? Tôi đang xem các mẫu, và có rất nhiều thao tác DOM chuẩn như document.getElementById, addEventListener, v.v. Tôi muốn sử dụng jQuery cho năng suất.jQuery và Windows 8 JavaScript Metro Style Apps

+2

Bạn đã thử chưa? :) – epascarello

+0

Tôi không thể hiểu tại sao không. Chúng có thời gian chạy javascript bình thường và jQuery không phụ thuộc vào trình duyệt (nó được sử dụng rộng rãi trong node.js). –

+0

Tôi chưa thử. Vẫn phải cài đặt Windows 8 Developer Preview. Tôi chỉ duyệt các tài liệu để hiểu. – pfeilbr

Trả lời

16

$ không phải là ma thuật. jQuery chỉ là một thư viện javascript. Nó sẽ chạy tốt.

Điều duy nhất có thể không hoạt động là cssHooks sẽ không tính đến bất kỳ 'môi trường' nào của chúng.

Vì vậy, có, nó sẽ hoạt động, nếu bạn tin tưởng Microsoft tạo ra một môi trường tuân theo các đặc tả HTML/CSS/JS.

Bạn có cảm thấy may mắn không?

+8

"môi trường" về cơ bản là không có IE10. –

+1

init: 3 win 8 giống như bootablish tức là 10 (ứng dụng kiểu metro) – ShrekOverflow

1

Nó sẽ chạy tốt. jQuery chỉ là một thư viện. $('#someid') sẽ gọi nội bộ theo số document.getElementById Bạn có thể sử dụng nó giống như khi bạn có thể sử dụng mã javascript mà bạn tự viết ...

5

Có, nó hoạt động như mọi thư viện JavaScript. Tôi đã xác minh nó trên một trong những máy tính bảng mà họ đưa ra tại hội nghị BUILD.

Tuy nhiên, tôi không mong muốn sử dụng CDN để tải trong tập lệnh. Bạn phải tải xuống, thêm nó vào dự án và tham chiếu nó cục bộ.

+5

Sẽ không có ý nghĩa khi sử dụng CDN cho ứng dụng gốc - đúng không? – SliverNinja

2

Bạn có thể sử dụng bất kỳ thư viện JS nào. Tôi nghi ngờ rằng các phương pháp như WinJS.xhr (aka '$ .ajax'), nơi viết để WinJS không có một phụ thuộc vào jQuery.

1

JQuery nên hoạt động tốt nhưng nhớ có một số được xây dựng trong chức năng để thực hiện điều này là điều mà, trong trường hợp ví dụ của bạn:

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

Query Collection Documentation

1

Không sử dụng bất kỳ cửa sổ các thư viện như WinJS. Tại sao bạn muốn khóa bản thân và phụ thuộc vào mã độc quyền? Gắn bó với các công cụ thông thường, ví dụ: HTML, CSS, JS (JQuery hoặc bằng cách khác). Nó sẽ chỉ làm cho hỗ trợ trong tương lai của bạn/dev có thể dự đoán được nhiều hơn ...

+0

Nhưng về hiệu suất thì sao? Chắc chắn có nhiều hơn để winjs hơn chỉ là một thư viện javascript? –

1

Như với tất cả thư viện JavaScript của bên thứ ba, có một số điều bạn nên ghi nhớ.

  • Luôn cố gắng bao gồm tệp nguồn .js trong dự án của bạn khi có thể. Việc gọi ra CDN hoặc vị trí được lưu trữ bên ngoài sẽ gắn cờ bạn với một số kiểm tra bảo mật mà bạn thường không phải trải qua.
  • Tôi đã sử dụng một vài phiên bản jQuery để mã hóa các ứng dụng của riêng mình. Một số người trong số họ đã phá vỡ vì vậy hãy nhớ rằng vẫn không có bảo đảm. Các thư viện khác, như SoundJS, tôi đã sử dụng các phiên bản cũ hơn mà tôi biết làm việc.
  • Nếu bạn đang tìm kiếm một số ví dụ về các thư viện của bên thứ ba tôi có một số bài viết trên Knockout và Kết quả cuối cùng ở đây:
  • 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

Tôi cũng đã viết một Windows Store Gaming Kit miễn phí sử dụng thứ ba thư viện của bên bạn có thể lấy nguồn miễn phí cho điều đó tại đây: http://win8gamekit.codeplex.com

4

tl; dr: bạn có thể sử dụng jQuery 1.7+, nhưng chưa được tích hợp đầy đủ khi sửa đổi đánh dấu.


Trích từ Dev Center (msdn)

Sử dụng jQuery

Bạn có thể sử dụng jQuery trong ứng dụng Windows Store của bạn sử dụng JavaScript, nhưng chỉ có các phiên bản 1.7 và sau này. Chúng tôi khuyên bạn nên luôn sử dụng phiên bản mới nhất.

Điều đó có nghĩa rằng nó sẽ làm việc, nhưng bạn sẽ gặp phải một số hành vi phi tiêu chuẩn được liệt kê trong HTML and DOM API changes list (msdn)

Có những ngoại lệ nêu khi đặt innerHtml tài sản (số những người khác: Making HTML safer) nếu có đánh dấu không an toàn, nhưng điều này là không chặn và thực tế đơn giản tải thư viện jQuery (1.8.2) sẽ kích hoạt một vài.

Như đã đề cập trước đây, bạn cần sử dụng bản sao cục bộ của thư viện (không có CDN).

0

Thực ra bạn có thể tải xuống qua Visual Studio. Nếu bạn tải xuống NuGet Package Manager.
TOOLS-> Thêm Gói & Tiện ích mở rộng

Tìm gói trái trực tuyến cho NuGet Package Manager và cài đặt.

Sau đó, khi trong dự án bạn muốn jQuery, nhấp chuột phải vào tài liệu tham khảo của bạn và thêm gói NuGet và tìm kiếm jQuery. Đó là những gì tôi sử dụng.

Các vấn đề liên quan