WPF와 Silverlight의 비교
WPF와 Silverlight의 정확한 차이점은 무엇입니까?
그것은 매우 폭넓은 질문입니다.우리 회사는 최근 두 기술의 차이점을 설명하는 백서를 작성했는데, 약 70페이지 분량입니다.아쉽게도 아직 출판되지 않았거나 링크를 드리도록 하겠습니다.
코드플렉스: 코드플렉스:
http://wpfslguidance.codeplex.com/http.codeplex.com/
하지만 요약해 보겠습니다.
WPF는 완전한 에 액세스할 수 있는 씩 Windows 클라이언트플랫폼입니다네트워크 프레임워크Silverlight는 의 서브셋에 액세스할 수 있는 브라우저 기반 기술입니다.Net Framework(CoreCLR이라고 불립니다.따라서 프레임워크 내에서 일상적으로 사용되는 방법 및 개체를 사용하면 차이를 알 수 있습니다.예를 들어 String 클래스의 Split() 메서드는 Silverlight에서는 3개의 오버라이드가 있지만에서는 6개의 오버라이드가 있습니다.네트워크 프레임워크이런 차이점을 많이 볼 수 있을 거예요.
WPF 내에서 모든 시각적 렌더링 요소는 Visual Base 클래스에서 파생됩니다.Silverlight에서는 그렇지 않습니다.대신 Control에서 파생됩니다.단, 두 테크놀로지 모두 계층 상위의 DependencyObject 클래스에서 파생됩니다.
WPF는 현재 Silverlight보다 더 많은 사용자 컨트롤을 출하 또는 이용할 수 있습니다.단, 이 차이는 Silverlight Toolkit과 향후 Silverlight 3 릴리즈를 통해 완화되고 있습니다.
WPF는 3종류의 루티드이벤트(다이렉트, 버블링 및 터널링)를 지원합니다.Silverlight는 직접 버블링만 지원합니다.
Silverlight의 다음 버전에서는 데이터 바인딩에 대한 많은 차이가 다소 완화될 것입니다.현재 Silverlight는 바인딩 모드, OneWayToSource 또는 Explorer UpdateSourceTrigger를 지원하지 않습니다.또한 Silverlight는 설정되어 있지 않은 경우 기본적으로 OneWay 데이터 바인딩이 되며 WPF는 의존관계 속성으로 지정된 기본 모드를 사용합니다.
Silveright는 MultiBinding을 지원하지 않습니다.
Silverlight는 XmlDataProvider를 지원하지만 ObjectDataProvider는 지원하지 않습니다.WPF는 양쪽 모두를 지원합니다.
Silverlight는 비동기 네트워크 호출만 할 수 있습니다.WPF 에는, 풀 액세스권이 있습니다.네트워크 스택으로 임의의 타입의 콜을 발신할 수 있습니다.또한 현재 Silverlight는 SOAP을 지원하지만 SOAP 장애 예외를 네이티브로 처리할 수 없습니다(이는 Silverlight 3에서 변경될 수 있습니다).
암호화에는 큰 차이가 있습니다(Silverlight는 네임스페이스에 20개의 클래스가 있으며 WPF는 107에 액세스 할 수 있습니다).기본적으로 Silverlight는 4개의 해시 알고리즘과 AES 암호화 프로토콜만 지원합니다.
Silverlight는 아직 명령어, 검증, 인쇄, XPS 문서, 음성, 3D, 프리즈 가능 객체 또는 Windows Desktop과의 InterOp을 지원하지 않습니다.이 모든 것은 WPF에서 사용할 수 있습니다.
Silverlight는 브라우저 인터op, 타임라인 마커, 딥 줌 등 다양한 미디어 스트리밍 옵션을 지원합니다.WPF는 아직 이러한 기능을 지원하지 않습니다.
70페이지 분량의 문서를 글머리 기호로 줄이려다 보니 결코 완벽하지 않다.
마지막으로, 이러한 모든 차이에도 불구하고, 마이크로소프트는 두 기술 사이의 격차를 줄이려고 노력하고 있습니다.Silverlight Toolkit과 WPF Toolkit은 모두 각 테크놀로지의 몇 가지 결점에 대응하고 있습니다.Silverlight 3은 현재 이용할 수 없는 많은 기능(엘리먼트 간 데이터 바인딩 등)을 추가할 예정입니다.그러나 코어 라이브러리의 차이로 인해 프레임워크에는 항상 몇 가지 차이가 있습니다.
WPF는 에서 Windows 응용 프로그램을 개발하기 위한 Windows 데스크톱테크놀로지입니다네트워크 프레임워크
Silverlight는 Windows와 MAC 모두에서 브라우저 플러그인으로 완전히 지원되는 웹 기술입니다(Flash와 유사한 방식으로).Linux(Moonlight)에서 Silverlight를 실행하기 위한 플러그인도 있습니다.
WPF와 Silverlight 양쪽에서 제공되는 기능(사용자 인터페이스 컴포넌트와 XAML 지원 측면에서)은 유사성이 있지만 Silverlight는 WPF 기능의 서브셋을 포함하는 매우 작은 프레임워크입니다.Silverlight의 새로운 버전에는 WPF에서 찾을 수 없는 기능이 포함되어 있기 때문에 실제로는 서브셋이 아닙니다.
WPF에서는 Silverlight에 없는 기능: DirectX를 기반으로 한 완전한 3D 엔진, Windows 7 태스크바 썸네일 및 시스템 레지스트리 가용성 등의 Windows 통합 및 완전한 에 대한 액세스.Oracle 데이터베이스 지원을 포함한 NET Framework.또한 SL은 WPF 앱이 완전한 시스템 액세스로 완전한 신뢰를 실행할 수 있는 파일 시스템 전체 등에 대한 액세스를 방지하는 안전한 샌드박스에서 실행됩니다.
전술한 바와 같이 SL은 VisualStateManager 등의 테크놀로지를 Microsoft가 지원하는 WPF 툴킷을 통해 WPF에 세컨더리적으로 도입했습니다.
프로젝트에 최적인 테크놀로지를 판단하려면 , 다음의 간단한 방법을 참조해 주세요.웹 연결이 끊긴 상태에서 실행되도록 되어 있는 앱을 작성하거나 위에 나열된 것과 같은 Windows 특정 기능에 액세스해야 하는 앱을 작성하려면 WPF를 사용하는 것이 좋습니다.플랫폼에 구애받지 않는 웹 지원 애플리케이션인 Silverlight는 적절한 선택입니다.아아아아아아아아아아아아아아아아아아아.
Flex와 Adobe Air의 차이와 거의 비슷하다고 할 수 있지만, 이는 다소 오해의 소지가 있습니다.
WPF는 (API를 통해 공개되는) 일련의 테크놀로지입니다.NET Framework 3.0 이후 사용자는 화면에 그리기 위해 에 액세스할 수 있습니다.
WPF API의 대부분은 Silverlight 앱에서 사용할 수 있습니다.
물론 SL 앱은 화면에 그리는 것 이상을 해야 하기 때문에 WPF 외에도 많은 API가 Silverlight에서 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/944608/wpf-vs-silverlight
'source' 카테고리의 다른 글
컴퓨터가 시작될 때 PowerShell 스크립트를 실행하는 방법은 무엇입니까? (0) | 2023.04.19 |
---|---|
글로벌 변수 작성 방법 (0) | 2023.04.19 |
Objective-C에서 딜러를 작성하려면 어떻게 해야 합니까? (0) | 2023.04.19 |
월별 및 연도별 SQL 그룹화 (0) | 2023.04.19 |
Excel 어레이에 논리 OR을 적용하는 방법 (0) | 2023.04.14 |