2009-03-13 6 views
1

우리는 현재이 UI의 두 가지 주요 요구 사항이 비즈니스 응용 프로그램을 설계하고있다 : 기업 사용자를위한 데스크톱 (WPF)에서 실행WPF 및 웹 앱을 모두 타겟팅하는 가장 좋은 방법은 무엇입니까?

1) 액세스, 다른 응용 프로그램과 상호, 풍부한 사용자 인터페이스를 제공하기를 파일 시스템, 오프라인으로 작업, 특수 지역 하드웨어 작업 등

2)) 고객 (인터넷에이 응용 프로그램의 여러 구성 요소를 제공하기 위해 ASP.NET/Ajax에서 실행됩니다. 불행히도 Silverlight는 (아직) 옵션이 아닙니다.

웹에서 전체 응용 프로그램을 사용할 필요는 없지만 이러한 구성 요소 중 일부는 상당히 복잡하며 은 가능한 한 많은 UI 코드를과 WPF 구현으로 공유하려고합니다.

이 목표에 도달하려면 어떤 옵션이 필요합니까? 두 기술 모두에서 잘 작동하는 패턴이 있습니까?

업데이트 : 그들은 내가 찾고 있던 하나를 포함하지 않는 경우에도 답변을

감사합니다! :)

나는 생각하지 않는다 UI 생성기 좋은 옵션입니다. 에두아르도 (Eduardo)가 지적했듯이 두 세계 모두에서 문제가 발생할 것입니다. 나는 조각품을 조사 할 것이다.

답변

4

저는 지금이 라인을 따라 생각 해왔고 아직 답변을 제안했습니다. 즉, 내 생각은 다음과 같습니다.

다양한 MVP/MVC/MVVM UI 방법의 변형을 사용하고이 접근법 (즉, 프레젠테이션을 비헤이비어와 혼합하지 않음)에서 매우 훈련을 받았다면 아마도 길 아래쪽에있을 것입니다.

상위 수준에서 UI를 설명하고 WPF/ASPX에서 해당 UI의 표현을 생성하는 간단한 "언어"를 만드는 아이디어가 다뤄진 다양한 DSL 툴킷을 조사하는 것이 좋습니다.

또한 최근에 this을 실행했습니다. 나는 그것이 얼마나 좋은지 전혀 모른다. 기회가 생겼을 때 자세히 살펴볼 계획입니다.

+0

고마워, 나는 조각품을 다운로드하고 그것을 살펴볼 것이다! – laktak

+0

조각은 모든 응용 프로그램에 사용하고 싶은 것이 아니므로 MVVM과 MVC를 고수 할 것입니다. 감사합니다! – laktak

2

행운을 빌어 요!

불행한 진실은 Asp.net/ajax (일반적으로 그 웹)와 WPF (좋은 점은 거기에 WinForms를 던져 보자)가 매우 다른 사용자 인터페이스 모델을 가지고 있으며, 반드시 다른 사람에게 잘 작동하지는 않습니다. 두 기술 모두를 위해 작성된 응용 프로그램간에 논리를 공유 할 수는 없다는 말은 아니지만, 여기서 설명 하겠지만 UI 논리는 해당 범주에 포함되지 않습니다.

저는 MVF MVC를 WPF 및 ASP.Net MVC 용으로 가장 최근에 사용하여 왔으며이 기술은 현재 사용중인 기술에 매우 적합하다고 말하고 싶습니다. 그러나 이들이 매우 유사하지만 차이점이 있으며 두 기술의 뛰어난 기능을 활용할 수있는 추상 레이어를 작성할 수 있는지 확신 할 수 없습니다.

궁극적으로 나는 SOA 패턴을 따르고 비즈니스 및 데이터 액세스 논리를 가능한 많이 공용 라이브러리로 추출하는 것이 가장 좋습니다.그런 다음 WPF 및 Asp.net에 별도의 사용자 인터페이스를 작성하여 해당 공용 라이브러리를 활용하십시오. 이것은 우리 회사가 현재 취하고있는 접근 방식이며, 매력처럼 작동합니다.

UI 로직을 두 번 (asp.net과 wpf에 대해 한 번) 작성하는 것은 힘들 것으로 보일지 모르지만 코드가 해당 기술에 가장 적합한 패턴 및 사례에 맞을 수있을만큼 가치가 있다고 생각합니다.

Silverlight가 옵션이 아니더라도 XBAP를 고려해 보셨습니까?

1

예전 직업이 있다면 우리는 비슷한 것을했습니다. 다니엘 프랫 (Daniel Pratt)이 말했듯이 우리는 인터페이스를 XML로 기술하고 렌더링은 폼, 보고서 또는 우리가 작성하기로 결정한 것을 만들 것입니다.

HTML 렌더링에서 일부 UI 유효성 검사를 수행하는 데 Javascript 함수를 제공하고 Swing에서 Java 함수를 호출해야합니다.

두 세계 모두에서 불완전한 앱으로 끝날 수 있습니다.

관련 문제