2015-01-18 22 views
17

Tôi đã đọc về Windows Phone 8.1 Development, vì tôi đã làm việc với Windows Phone 8 và tôi dự định bắt đầu làm việc với phiên bản hệ điều hành mới.Sự khác biệt giữa Windows Phone 8.1 và Windows Phone Silverlight 8.1

Sau đó, tôi đã tải xuống Visual Studio cho Windows với bản cập nhật 4, mở một dự án của tôi (nhắm mục tiêu đến WP8) và nhấp vào "nâng cấp lên 8.1".

Tôi thấy giải pháp của mình đã đổi tên thành "Windows Phone SilverLight 8.1".

Sau đó, tôi đã cố gắng để tạo ra một mục tiêu Windows Phone 8.1 dự án mới, và tôi thấy các tùy chọn sau đây theo Visual C# cây (như cho thấy hình ảnh):

  • phổ Apps
  • của Windows Apps
  • windows Phone Apps

enter image description here

Như tôi mục tiêu là phát triển cho các thiết bị điện thoại với Windows Phone 8.1, tôi đã chọn "Ứng dụng Windows Phone". Nhưng tôi thấy rằng dự án này khác với dự án khác (cái mà tôi đã nâng cấp từ WP8). Nó xuất hiện "Windows Phone 8.1" trên giải pháp thay vì "Windows Phone SilverLight 8.1". Và mã cũng rất khác nhau.

Vì vậy, tôi đã thực hiện một nghiên cứu về nó, để hiểu sự khác biệt giữa "Windows Phone Silverlight 8.1" và "Windows Phone 8.1", đọc một số bài viết như thế này:

nhưng tôi không thể tìm thấy điều gì làm tôi hiểu.

Tại một thời điểm nào đó, tôi tìm thấy câu trả lời cho biết "Windows Phone 8.1" dành cho Universal Apps ... nhưng tôi không đồng ý, nếu tôi muốn tạo Ứng dụng toàn cầu, tôi sẽ chọn "Ứng dụng toàn cầu" thay vì " Ứng dụng Windows Phone ".

Có ai biết chính xác sự khác biệt giữa hai dự án này không?

Trả lời

22

Sự khác biệt chính là Windows Phone 8.1 cửa hàng ứng dụng sử dụng đúng WinRT API mà không có sẵn dưới Silverlight.

Trước khi bạn đọc trên, đây là phiên bản ngắn:

  • Windows Phone 8.1 App Store mã chạy trên tất cả các Windows Phone 8.1+của Windows 8 + máy, vì nó sử dụng WinRT thống nhất API.
  • Mã điện thoại Windows Phone Silverlight chạy trên tất cả Điện thoại Windows 7+ nhưng không trên tất cả các máy tính Windows 8 (máy ARM không hỗ trợ tất cả các tính năng). Đó là lý do tại sao các ứng dụng Windows Store đang sử dụng các API khác nhau (WinRT). Bạn có thể muốn kiểm tra liên kết này: http://msdn.microsoft.com/en-us/library/windows/apps/jj681690%28v=vs.105%29.aspx

Windows Phone đang sử dụng các ứng dụng Silverlight chỉ lên đến phiên bản 8 trong khi các ứng dụng dành cho Windows 8 (một lên) cung cấp các API WinRT cũng - bạn có thể nhận thấy Windows 8 Phiên bản RT dành cho CPU ARM ..

Vì vậy, để ngăn chặn tính song song vô tận của Silverlight và WinRT Microsoft quyết định thống nhất quy trình phát triển. Bắt đầu từ Windows Phone 8.1, Windows Phone cũng chạy các ứng dụng WinRT (được đổi tên như Windows Runtime, tôi nghĩ).

Ưu điểm chính là bây giờ bạn có thể dễ dàng chuyển mã Windows Phone 8.1 sang ứng dụng Windows 8.1 và ngược lại, vì cả hai đều đang sử dụng cùng một API. Truy cập tệp, lưu trữ, kết nối mạng .. tất cả đều giống nhau trên Windows Phone và cho Windows Store Apps.

Đây là nơi các ứng dụng phổ dụng đi vào hoạt động. Thay vì chuyển mã của bạn sau này bằng cách tạo một dự án mới, bây giờ bạn có thể dễ dàng tạo ra một dự án phổ quát có chứa mã chia sẻ cho cả Windows Phone 8.1 và Windows 8.1.

Tuy nhiên, nhược điểm là ứng dụng của bạn sẽ không chạy trên Windows Phone < 8.1.

dự án
+1

"Windows Phone Silverlight App mã chạy trên tất cả các điện thoại Windows 7 + "- điều này có đúng không? Tôi vừa mới tạo một ứng dụng Windows Phone Silverlight mới trong Visual Studio 2013 và tôi được nhắc chọn hệ điều hành đích - hoặc là WP 8.0 hoặc 8.1. Do đó nó không thể chạy trên 7. +. – ondrisko

+0

Ứng dụng vẫn chạy. Nhưng sự hỗ trợ đã giảm xuống. Bạn không thể thêm ứng dụng mới vào WP7. – Fred

+0

Khi tôi cố gắng triển khai ứng dụng WP 8.0 Silverlight cho trình giả lập WP7 thông qua XapDeploy.exe, nó nói "Không thể triển khai ứng dụng này cho thiết bị vì nó nhắm vào phiên bản Windows Phone cao hơn mà thiết bị hỗ trợ." Tôi không có một WP7 vật lý có sẵn, nhưng bạn đang nói rằng ứng dụng như vậy sẽ làm việc trên WP7 vật lý? – ondrisko

2

Sự khác biệt nằm trong khung mà ứng dụng sẽ sử dụng.

Silverlight là một plugin như Flash, vì vậy nếu bạn phát triển một ứng dụng mà sử dụng nó, bạn phải sử dụng thư viện của ông/cú pháp. Đó là một cách cũ để phát triển các ứng dụng web và điện thoại.

Universal là khuôn khổ mới mà Microsoft phát triển cho các nhà phát triển giúp đỡ để tạo ra các ứng dụng chạy cả trên Windows Phone hoặc Windows Store.

Vì vậy, những gì bạn tìm thấy trong internet là đúng: Điện thoại App cho khung Universal. Những tiếng nói rằng VS cung cấp trung bình: - Universal App: đối với bất kỳ thiết bị (điện thoại/máy tính bảng/PC) - Điện thoại App: chỉ dành cho điện thoại (chú ý có thể sử dụng bất kỳ thư viện phát triển cho Universal App kể từ khi ứng dụng toàn cầu có thể chạy trên điện thoại!) - Ứng dụng Windows: chỉ dành cho Máy tính bảng/PC (không có điện thoại).Bạn có thể sử dụng thư viện ứng dụng toàn cầu như Điện thoại App có thể làm

Tôi hy vọng điều này có thể giúp

-1

Silver Light không có cơ sở dịch vụ tham khảo trong khi trong điện thoại cửa sổ nó được lấy ra, do đó bạn có thể sử dụng các dịch vụ Azure cung cấp hoặc nghỉ ngơi dịch vụ trong khi phát triển cho windows phone

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