2012-03-01 18 views
6

Tôi muốn làm rõ một số điểm về WinRT và nơi .NET phù hợp với nó. Sau đây là một tập hợp các tuyên bố mà tôi tin là đúng ... chính xác cho tôi khi tôi sai:Làm rõ bằng WinRT và .NET

  1. WinRT là một COM riêng biệt tiếp xúc với Object-định hướng API được viết bằng C++ mà bản thân nó không được xây dựng trên đầu trang của C cũ dựa trên Win32: nó là hoàn toàn riêng biệt.
  2. Ít nhất WinRT bây giờ chỉ có thể được sử dụng cho phần Metro của Windows 8 và Win32 KHÔNG THỂ được sử dụng cho các ứng dụng Metro. Một ứng dụng trong Win8 hoặc là máy tính để bàn hoặc Metro và một ứng dụng không thể vẽ trên cả hai API. Nó là cái này hay cái kia.
  3. Máy tính để bàn/máy chủ truyền thống .NET (được xây dựng trên Win32) sẽ tiếp tục như bình thường, nhưng có một khung cắt .NET mới (như Compact Framework/client profile hoặc Silverlight) được xây dựng trên WinRT để sử dụng trong Metro thế giới. Đây là cách C# và VB.NET sẽ chạy trong thế giới WinRT: nó không giống như .NET framework được cài đặt cho máy tính để bàn/máy chủ. Giao diện người dùng được thực hiện bằng cách sử dụng một dẫn xuất XAML.
  4. Ứng dụng Metro cũng có thể được tạo bằng cách sử dụng C++ gốc, một lần nữa sử dụng XAML cho giao diện người dùng. Còn C++/CLI thì sao? Còn những ngôn ngữ .NET ít phổ biến khác không?
  5. Ứng dụng Metro cũng có thể được tạo bằng HTML5/CSS3/Javascript. Tôi lấy nó là hệ thống Metro có một công cụ dựng hình và thực thi mới được xây dựng để chạy các ứng dụng này: sự hiểu biết của tôi là chúng không thể được thực hiện trong trình duyệt như IE để chúng là ứng dụng, không phải trang web.
  6. Metro IE sẽ không chạy plugin, do đó không có Silverlight trong thế giới Metro.
  7. thiết bị dựa trên ARM sẽ CHỈ chạy Win8 ở chế độ Metro.
+0

7. có phần sai: http://arstechnica.com/microsoft/news/2012/02/windows-8-on-arm-the -desktop-is-there-sos-office-nhưng-không-nhiều-more.ars (Các máy tính để bàn về mặt kỹ thuật sẽ có sẵn, nhưng chỉ cho Microsoft.) – millimoose

Trả lời

6
  1. Hầu như ngay, nội WinRT vẫn sử dụng một số Win32 gọi nhưng một số cuộc gọi API mới và viết từ mặt đất lên.

  2. WinRT chỉ có thể được sử dụng trong Metro nhưng tập hợp con của các cuộc gọi Win32 vẫn có sẵn trong tàu điện ngầm.

  3. True. Phần XAML bây giờ sử dụng thực thi WinRT.

  4. C++/CLI không được hỗ trợ trên Metro. Bây giờ nó chỉ là C#/VB.Net trên Metro.

  5. True.

  6. đúng.

  7. Không, mặc dù ARM sẽ có máy tính để bàn nhưng chỉ giới hạn ở MS Office, IE và Explorer.

EDIT

Đang cập nhật dựa trên các ý kiến ​​dưới đây.

  1. Một tập hợp con các API WinRT có thể được sử dụng từ máy tính để bàn.

  2. Hiển thị và công cụ Javscript giống với công cụ được sử dụng trong IE 10.Nhưng bản thân ứng dụng sẽ không được chạy riêng trong Internet Explorer

+0

Đối với câu hỏi hai tôi không nghĩ rằng @iaimtomibehave là chính xác. Nếu bạn xem bài đăng trên blog của Jeff Richter http://www.wintellect.com/CS/blogs/jeffreyr/archive/2011/09/20/using-the-windows-runtime-from-a-non-metro-application. aspx bạn sẽ thấy rằng nó chỉ là visual studio đang chặn sử dụng WinRT từ các ứng dụng .NET. – btlog

+0

Thú vị. Thế thì việc sử dụng thế giới thực như thế này là gì? – MrLane

+0

5 thực sự là "sai" - các ứng dụng HTML5/CSS/Javascript sử dụng công cụ hiển thị Trident và công cụ javascript Chakra. Đó là cùng một rendering và JS engine được sử dụng bởi internet explorer. @ btlog: Có một tập hợp con các API winrt có thể được gọi từ máy tính để bàn, tôi không biết tại sao chúng không thể được gọi từ C# –