2009-11-18 31 views

Trả lời

3

Khi bạn không muốn phụ thuộc vào trình duyệt để thực hiện công việc của mình, khi bạn cần truy cập đầy đủ và nhanh chóng vào hệ thống tệp mà không cần xác nhận trước, khi thực hiện interop với bit không an toàn của mã. Đây là một vài điều tôi có thể nghĩ đến, nhưng chúng cũng có thể là những lý do khác, tùy thuộc vào những tính năng mà Silverlight 4 thực sự sẽ có và chúng sẽ hoạt động hiệu quả như thế nào.

+1

Bạn đã xem danh sách các tính năng mới của Silverlight 4, Scott Guthrie đã công bố tại bài phát biểu của PDC hôm nay chưa? Silverlight 4 ** sẽ ** bao gồm truy cập hệ thống tệp và hoạt động ngoài trình duyệt. Interop với mã không an toàn vẫn sẽ là một độc quyền WPF, mặc dù. –

+1

Truy cập Hệ thống Tệp OOB sẽ chỉ được đưa vào ứng dụng "Đáng tin cậy". Người dùng sẽ nhận được cảnh báo bổ sung trong khi cài đặt cho phép họ biết ứng dụng này muốn được tin cậy. –

9

Tôi đã sử dụng phần lớn XBAP để triển khai trình duyệt trong khi chờ phiên bản Silverlight bao gồm khả năng ghép nối và khả năng liên kết dữ liệu đầy đủ của WPF. Có lẽ Silverlight 4 sẽ làm điều đó.

Một số điều mà Silverlight 4 chắc chắn sẽ không thể làm như sau:

  • Cho phép bạn dễ dàng tích hợp WinForms bạn và MFC thành phần giao diện người dùng với ứng dụng của bạn
  • hiệu quả làm việc với các cấu trúc tập tin dữ liệu ban đầu được định nghĩa trong C/C++ (với WPF bạn có thể chỉ cần sao chép mã và dễ dàng sao chép mã C++ gốc bằng cách sử dụng unsafeStructLayoutAttribute)
  • Bao gồm mã C++ không được quản lý trong ứng dụng của bạn

Tôi chưa thực sự tải xuống bản Silverlight 4 beta, vì vậy danh sách này nhất thiết chưa hoàn chỉnh.

11

WPF vẫn có khả năng hiển thị 3D đầy đủ hơn.

Ngoài ra mặc dù họ công bố cải tiến đối với các chỉ huy và khả năng ràng buộc, đó là không đảm bảo rằng nó sẽ có khả năng đầy đủ mà WPF hiện có hoặc sẽ có trong phiên bản tiếp theo

Edit: Sau khi chơi đùa với Silverlight 4 beta, có vẻ như khá nhiều tất cả các tính năng mới (webcam, truy cập tập tin, bàn phím toàn màn hình, COM interop, v.v.) chỉ hoạt động khi ứng dụng được nâng cao tin cậy và tin cậy nâng cao chỉ có thể được bật khi hết trình duyệt. Một số điều này có thể thay đổi bằng RTW, nhưng hiện tại, WPF vẫn trông giống như cách duy nhất để thực hiện những điều này bên trong cửa sổ trình duyệt

+1

Trong khi chắc chắn đúng, tôi chưa bao giờ trong cuộc sống của tôi sử dụng dựng hình 3D trong bất cứ điều gì, chắc chắn không phải là một ứng dụng LOB. –

+0

Webcam không yêu cầu độ tin cậy cao - chỉ đơn giản là cửa sổ cho phép tương tự như yêu cầu truy cập Clipboard. –

3

Phiên bản tiếp theo của Visual Studio sẽ không được viết bằng Silverlight;) chờ để viết một tiện ích âm thanh trong WPF --- và Silverlight phải được đóng hộp cát từ hệ thống phụ âm thanh Windows đáng kinh ngạc. Tuy nhiên, tôi có thể thấy ngày WPF sẽ được gọi là Silverlight (hoặc có lẽ là cách khác xung quanh).

+0

Có - đó là một sự xấu hổ về việc thiếu quyền truy cập vào hệ thống phụ âm thanh - tuy nhiên SL4 không có quyền truy cập vào luồng đầu vào âm thanh từ thiết bị micrô, vì vậy có một số chuyển động trong lĩnh vực này. Tuy nhiên, việc truy cập API vào hệ thống phụ âm thanh đầy đủ có thể là vấn đề từ quan điểm bảo mật ... –

+0

Hỗ trợ micrô hỗ trợ micrô với thông số kỹ thuật của Flash --- tuyệt vời! – rasx

0

Nếu bạn muốn truy cập cơ sở dữ liệu trực tiếp thông qua ADO.NET, bạn không thể làm gì trong Silverlight 4. Truy cập vào thiết bị sẽ vẫn bị giới hạn mặc dù hiện tại bạn sẽ có hỗ trợ in và webcam/micrô. Tôi đã không nghe bất cứ điều gì về hỗ trợ 64 bit vì vậy nếu bạn muốn cung cấp một phiên bản 64 bit của ứng dụng của bạn, bạn sẽ cần WPF. Tôi cũng nghĩ rằng ngay cả khi Silverlight 4 sử dụng tốt hơn GPU, nó vẫn sẽ không đến mức mà WPF sử dụng nó.

Ngoài ra còn có một tấn các hội đồng khác trong khuôn khổ .NET mà Silverlight không bao gồm vì vậy nếu bạn cần bất kỳ trong số những người bạn sẽ cần phải đi WPF.

Cũng giống như HTML5 sẽ giảm nhu cầu cho một plugin như Flash hoặc Silverlight trong một số trường hợp, Silverlight sẽ giảm nhu cầu WPF nhưng vẫn còn nhiều trường hợp bạn sẽ cần đến nó.

2

Các ứng dụng mà chúng tôi (trong công ty của chúng tôi) viết hôm nay không sử dụng gì không được Silverlight hỗ trợ ngoại trừ các kết nối TCP/IP cục bộ không có giới hạn.

Đây là lý do duy nhất chúng tôi sử dụng WPF. Nếu chúng ta có thể sử dụng Silverlight (chế độ trên máy tính), chúng tôi có thể cung cấp cho khách hàng lựa chọn làm việc trên các hệ thống Mac (và Linux) thay vì bị ép buộc (bởi chúng tôi?) để sử dụng phiên bản mới nhất của Windows (bạn sẽ ngạc nhiên khi có bao nhiêu công ty vẫn sử dụng các phiên bản cũ (một phần) không được hỗ trợ).

Ngay cả trong WPF, chúng tôi cố gắng giới hạn quyền truy cập vào hệ thống, chúng tôi tạo hộp cát của riêng mình và cố gắng không đi ra ngoài. (Không bao giờ yêu cầu quyền quản trị, không bao giờ truy cập nội dung bạn không phải)

Vì vậy, đối với những gì chúng tôi làm, Silverlight + hỗ trợ tcp/ip sẽ đủ hơn ... nhưng hoàn toàn có chỗ cho WPF và tôi chắc chắn nó ở đây để ở.

Tất cả phụ thuộc vào những gì bạn đang xây dựng.

1

Silverlight sẽ luôn ưu tiên các tải trọng nhỏ theo chức năng. Về mặt chiến lược, Microsoft sẽ cố gắng đưa ra các tính năng của Adobe bằng Silverlight, trong khi WPF sẽ cạnh tranh với các nền tảng nặng khác. Nếu bạn nhìn vào WPF 4 bạn sẽ nhận thấy một sự thúc đẩy đối với các tính năng trọng lượng nặng hơn. Tôi cố gắng ghi nhớ rằng WPF bắt đầu như Avalon được dự định để vĩnh viễn thay thế Win32. Tôi sẽ không ngạc nhiên nếu một ngày Windows XX là "bản địa" WPF và Win32 sẽ được mô phỏng.

0

WPF vẫn là bắt buộc nếu bạn cần chỉnh sửa văn bản đa dạng thức phong phú (FlowDocument). Silverlight 4 có RichTextBox mới, nhưng nó được giới hạn trong nội dung rất cơ bản, và không cung cấp đầy đủ các tính năng có sẵn trong FlowDocuments trong WPF. Một FlowDocument hiệu quả có thể làm những gì RichForm WinForms có thể làm; nhưng nếu bạn chỉ cần những điều cơ bản, một RichTextBox trong Silveright có thể làm những gì bạn cần.

-1

Điểm mấu chốt là ánh sáng bạc bị giới hạn. Vì vậy, nếu bạn sẽ sử dụng một công nghệ ít có khả năng, bạn nên có một lý do thuyết phục để làm như vậy. Người duy nhất tôi có thể đưa ra, và nó là một trong những lớn trong một số trường hợp, là Silverlight là nền tảng thờ ơ hơn. Tôi không thể tưởng tượng được bất kỳ ai muốn để đưa trình duyệt và tất cả những điều đau đầu của nó vào một giải pháp. Phải có lý do chính đáng.

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