silverlight / silverlight 브라우저 외부 / wpf를 결정하는 데 도움이 필요합니다.


10

나는 다시 쓰기 프로젝트의 초기 계획 단계에 있으며 silverlight / silverlight oob / wpf를 결정하고 있습니다. 끝에 TL; DR.

리드 / 고객 / 약속 캘린더를 처리하는 LOB 앱입니다. 너무 복잡하지 않습니다. 나는 다른 곳에서 이러한 옵션을 독립적으로 연구하고 있지만 주변에서 물어볼 것이라고 생각했습니다. 대략적인 초기 요구 사항 / 예상 가능한 문제는 다음과 같습니다.

커맨드 라인 args (sip phone)를 사용하여 시스템에서 exe를 호출 할 수 있어야합니다.

SL을 문제로 만듭니다

사용자 기반이 분산되어 있으며 가능한 한 전선을 통과하는 트래픽을 제한하고 불쾌한 동시성 문제를 피하고 싶습니다.

WPF를 사용하여 이것이 문제임을 알 수 있습니다.

소프트웨어 배포 / 업데이트는 간단해야 합니다. 일부 사용자는 기술적이지 않은 사람입니다 (참조 : 70 세, 컴퓨터에서 처음으로)

우리가 교체하고있는 ClickOnce 앱에는 큰 문제가되지 않으며, 사용되는 컴퓨터를 제어 할 수 있습니다. 그러나 clickonce "Install"버튼을 클릭하지 않아도 사용자가 더 간단합니다. 이것이 Silverlight OOB로 어떻게 처리되는지 모르겠습니다.

이 회사는 12 개월 안에 하드 확장을 계획하고 있으므로 하드웨어 배포가 빠르고 쉬워야합니다. 새로운 위치에서 인터넷에 연결하고 일부 컴퓨터를 연결하고 전용 IT 담당자 나 서버 설정없이 작업 할 수 있도록하는 것이 좋습니다.

SL을 매력적으로 만듭니다

다른 서비스 (금융 소프트웨어, asterix 서버)와의 통합은 즉각적인 목표는 아니지만 시스템의 일부가되는 최종 목표입니다. 단일 서비스가 보조 서비스와 통합되도록 설정되어 있고 모든 데이터를 유선으로 전송할 필요가없는 경우 훨씬 간단하고 효율적입니다.

SL을 매력적으로 만듭니다

여러 '버전'을 만드는 것은 창 밖입니다. silverlight + silverlight oob 버전을 유지하는 것이 무엇인지 모르겠습니다 (문제가있는 경우)

WPF를 더 나은 옵션으로 만들 수 있습니다.

TL; DR : 유리한 점에서 silverlight 앱이 90 %의 사용자에게 가장 적합합니다. 다른 10 %는 exe를 실행해야하기 때문에 사용할 수 없습니다. Silverlight OOB는 행복한 미들 그라운드 일지 모르지만 지금은 실행 모델이 어떤지 잘 모르겠습니다 (여전히 서버 측 코드 개념이 있습니까? 그렇다면 이상적 일 것입니다). 배포 / 업데이트가 어떻게 작동하는지 알고 있습니다.


ClickOnce 애플리케이션을 먼저 바꾸려는 이유는 무엇입니까? ClickOnce에는 응용 프로그램 시작시 사용 가능한 업데이트를 자동으로 확인하고 다운로드하는 옵션이 있습니다. 나는 replayer.codeplex.com
Marcel

답변:


6

글쎄-흥미로운 문제. SL4에서 Silverlight 완전 신뢰 응용 프로그램을 사용할 수 있다는 점을 언급하지 않았으므로 WPF를 생각하고 있다면 대신 고려해 볼 수 있습니다. 설치 (ClickOnce)가 필요하지만 그로부터 멀어지고있는 것 같습니다.

아직 OOB로 아무것도하지 않았지만 별도의 빌드 대상이 아닌 프로젝트 설정이므로 브라우저와 브라우저에서 동일한 바이너리를 사용할 수 있다고 확신합니다.

"브라우저에서 응용 프로그램 실행 가능"

Silverlight 프로젝트의 Silverlight 탭에서

따라서 별도의 유지 관리 문제가 없습니다.

Silverlight 앱을 호스팅하고 WCF RIA Services를 사용하여 통신하는 웹 응용 프로그램에 상당한 양의 코드를 빌드 할 수 있습니다. 다시이 버전 1.0을 얻으려면 .NET 4 및 SL 4를 사용해야합니다. .NET 3.5 및 SL 4는 WCF RIA 서비스 베타 만 지원합니다. 이는 a) 다운로드 크기와 b) 클라이언트에서 실행해야하지만 네트워크 트래픽을 증가시키는 코드의 양을 줄입니다.

이 점수에서 Silverlight 코드를 여러 어셈블리로 분할하고 프리즘과 같은 것을 사용하여 필요할 때로드하도록 설정할 수 있습니다. 즉, 사용자는 실제로 사용중인 응용 프로그램의 해당 부분 만 다운로드합니다. 다음을 확인하여 다운로드되는 양을 더 줄일 수 있습니다

"응용 프로그램 라이브러리 캐싱을 사용하여 XAP 크기 줄이기"

선택권.

외부 dll (타사 또는 .NET)과 함께 사용할 "extmap"파일이있는 경우 이는 zip 파일로 번들로 제공되고 프로젝트의 모든 xap 파일에서 공유되도록 별도로 다운로드됨을 의미합니다. 이렇게하면 개별 xap 파일을 최소 크기로 유지하고 클라이언트 시스템에 이러한 다른 dll 사본이 하나만 있도록합니다.


1
+1 : @ChrisF를 입력 해 주셔서 감사합니다. 나는 당신의 뇌를 선택할 수 있도록 당신에게 IRL을 알기를 바랍니다.
Steven Evers

2

당신의 분석은 매우 좋습니다.

내가 언급 할 유일한 것은 Silverlight 응용 프로그램에서 모든 프레임 워크를 사용할 수있는 것은 아닙니다. 이러한 제한은 WPF를 향한 선택을 기울일 수 있지만 해당 제한이 응용 프로그램 요구에 어떻게 적용되는지 확인해야합니다.


응용 프로그램은 exe + args를 통해 SIP 전화를 호출 할 필요가 없다는 점을 제외하고는 주로 crud 응용 프로그램이므로 누락 된 프레임 워크 부분을 놓치지 않을 것이라고 생각합니다.
Steven Evers

2

몇 가지 간단한 것들 :

배포 및 "서버 측 코드": Silverlight 앱은 단순하고 간단한 클라이언트 측 앱입니다. 브라우저를 통해 제공된다는 사실만으로 혼동하지 마십시오. 브라우저 내 SL 앱을 실행할 때 압축 된 패키지로 해당 앱의 어셈블리를 다운로드하여 압축을 풀고 플러그인을 사용하여 실행합니다. Silverlight 자체에는 "서버 측 코드"라는 개념이 없습니다. 원격 서버에서 코드를 실행하려면 WCF 서비스를 작성하십시오.

앱 업데이트 : 이것은 OOB 앱에 대한 일반적인 시나리오이며 SL은 기본적으로 지원을 제공합니다. CheckAndDownloadUpdateAsync를위한 Google.

편집 : 언급을 잊어 버렸습니다-응용 프로그램 설치는 응용 프로그램 내에서 수행됩니다. 기본적으로 설치 가능한 SL 앱에는이를 설치하기위한 컨텍스트 메뉴 작업이 있습니다. 그러나 사용자가 버튼을 클릭하면 설치 방식을 프로그래밍 방식으로 수행 할 수도 있습니다. 설치 상태도 프로그래밍 방식으로 감지 할 수 있으므로 OOB 실행만을 목적으로하는 일부 SL 응용 프로그램은 설치되어 있는지 먼저 감지합니다. 그렇다면 앱을 실행하십시오. 그렇지 않은 경우 앱을 설치하는 버튼이있는 스플래시 화면 만 표시하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.