'CompositeWPF'에 해당되는 글 2건

  1. 2008/09/12 WPF/Silverlight UI Framework (Prism 2.0)
  2. 2008/07/04 Composite Application Guidance for WPF - June 2008 Release (2)

WPF 애플리케이션과 Silverlight 애플리케이션에서 UI 개발은 상당히 중요한 부분이면서도 많은 루틴한 잡 (노가다?)이 발생하고, 때로는 고객의 요청에 의해 프로젝트 내내 수정이 이루어지는 것이기도 하다. 따라서 많은 개발자들이 개발 혹은 운영중의 이러한 고객의 요구에 따른 전체 UI  설계 차원의 수정을 줄이고, 변경을 최소화할 수 있으며, 고객의 기능 추가 요구에도 유연하게 대처할 수 있는 UI 프레임웍을 고민하고 있다. 현재 시장에는 Windows Forms 기반의 Composite Application 개발에 사용할 수 있는 프레임웍으로 마이크로소프트가 제공하는 Composite UI Application Block (CAB)과, CAB에 Visual Studio를 통한 툴지원 (GAT - Guidance Automation Toolkit), 아키텍처 가이드 문서, Reference Implementation, 적용된 패턴 설명서 등을 묶어 Smart Client Software Factory라는 이름으로 제공되는 수퍼 프레임웍(?)이 제공되어 사용되고 있다.  (사실 국내에서는 Software Factory 4종 세트가 많이 사용되고 있지는 않다...)

이처럼 시장에서 검증된 CAB을 WPF에 사용하고 싶은 많은 개발자들의 요구에 부응하여 WPF판 CAB인 CompositeWPF (이전 Prism 1.0) 가 제공되고 있다. CompositeWPF에 대한 소개는 이전 포스트를 참조하면 좋을 듯 하다. CAB과 CompositeWPF는 기본 구조가 동일하며 모듈화를 통한 유연성을 제공하고, 필요 모듈의 동적 로딩, 공통 모듈의 서비스화 등을 제공하고 있다.

Silverlight 2 가 닷넷 기반으로 변모를 하면서 자연스럽게 CompositeWPF와 같은 구조화된 UI 프레임웍을 요구하게 되었고 이에 대한 응답으로 Prism 2.0 프로젝트가 시작되었다. Prism 2.0은 WPF와 Silverlight 애플리케이션 구축에 공통적으로 사용할 수 있는 UI 프레임웍으로 내년 1월 정식 출시를 목표로 현재 개발 중이다.

image_thumb_1 

기능면에서나 라이브러리면에서나 Silverlight가 WPF의 부분집합이긴 하지만, Silverlight와 WPF는 라이브러리를 공유하지 못한다. 하여 Prisme 2.0 설계에서도 이러한 부분을 고려하여 GAT (Guidance Automation Toolkit)의 도움을 받아 위저드 형식으로 필요한 라이브러리를 링크하는 방식을 도입할 것으로 보인다. 설계 차원에서 공유할 것은 공유하여 'core'를 구성하고, Silverlight/WPF 별로 확장할 수 있는 기능을 제공하는 방식으로 제공될 예정이다. 구현면에서 향후 Silverlight와 WPF가 같은 코드 베이스를 공유하는 방식으로 바뀌면 영향을 받을 것으로 보인다.

Prism 2.0에 대한 개괄적인 설명은 아래 링크에서... (야 시작이다...가 전부임)
http://blogs.msdn.com/dphill/archive/2008/08/31/hello-prism-2-0.aspx

Prism 2.0에 대한 코드는 Codeplex의 CompositeWPF 싸이트에 올라갈 예정이다. (아직 안 올라왔음)
http://codeplex.com/CompositeWPF

Posted by 장현춘

Composite Application은 다양한 리소스로부터 얻은 각기 다른 정보를 최종 사용자에게 가장 바람직한 방식으로, 사용자가 원하는 방식으로 전달하기 위해 화면 구성을 모듈화하고 사용자의 권한과 역할에 따라 화면 구성 및 화면 전환을 달리할 수 있도록 하는 등 사용자 경험을 최적화시키기 위한 만들어지는 애플리케이션이다. 몇 년전까지는 Composite Smart Client라는 이름으로 많은 기업들에 제공되던 방식이기도 하다.
image

현재 Composite Application을 쉽게 구축할 수 있도록 마이크로소프트가 제공하는 Application Block들은 다음과 같다.
-. Composite UI Application Block (CAB) - Windows Form 기반의 composite application을 만들때 유용하다.
-. Smart Client Software Factory (SCSF) - CAB을 핵심으로 관련 application block들을 조합하고 각종 아키텍처 및 개발에 관련된 가이드 및 레시피, How-to 등을 제공하며 Visual Studio에 템플릿 형태로 제공되어 역시 Windows Form 기반의 composite application을 쉽게 개발할 수 있다.
-. Composite Application Guidance for WPF - CAB의 아키텍처적인 장점 및 동작 방식의 장점을 수용하였지만, WPF 기반에서 바닥부터 다시 만든 WPF 기반 composite application 개발 프레임웍이다.

Composite Application Guidance for WPF는 미국 시간 기준 7월 4일 정식 발표되며, 아래 싸이트에서 정보를 확인할 수 있다.
MSDN : http://msdn.microsoft.com/compositewpf
(use http://msdn.microsoft.com/en-us/library/cc707819.aspx for now)
Community : http://www.codeplex.com/compositewpf

이번에 출시되는 Composite Application Guidance for WPF에는 다음과 같은 유용한 자산이 담겨 있다.
-. Stock Trader Reference Implemtation
-. Composite Application Library for WPF
-. Quick Starts (4개 샘플)
-. Hands on Lab (1개)
-. 문서 (300페이지 이상)
   -. Composite Baseline Architecture
   -. UI Designer Guidance
   -. Design Concepts (3가지)
   -. Technical Concepts (8가지)
   -. Patterns (6가지) + Patterns Overview
   -. How-to (20가지)

Acropolis의 중도 포기 이후, CAB과 같이 확장성 있고 모듈화가 잘 되어 있지만, Windows Form 기반이 아닌 WPF 기반 composite UI application block을 원하던 개발자들에게는 그간의 갈증을 해소시켜줄 수 있는 단비가 아닐까 싶다.

참고로 현재까지 나와 있는 Composite Application 구축에 활용할 수 있는 프레임웍을 용도에 따라 구분하면 다음과 같다.
image

Posted by 장현춘