통합검색
· 마을서비스란?  · 포럼마을  · 일반마을  · 테마마을  · 마을랭킹  · 활동왕
· 덱스퍼트란?  · TECBOX   · PRSBOX   · 이용안내  
· DEXT제품군  · 솔루션베이  · S/W & ESD 컴포넌트
· 프로그램베이
· LiveSeminar  · LiveConference
WPF & Silverlight 포럼마을입니다.
  마을등급 WPF & Silverlight   이 마을은 포럼마을 입니다이 마을은 자유가입제 마을 입니다 마을소개 페이지로 이동 전입신청
마을촌장촌장 서학수 주민 728 since 2008-07-17
우리마을 공지사항
질문&답변
강좌&팁
자유게시판
자료실
앨범
[마을 게시판]
WPF 강좌
랑데브 게시판
칼럼 게시판
개발자 고충상담
Dev Talk
자유토론방
벼룩시장
재나미 우스개
구인/프로젝트 정보
사람인 채용 게시판
  고객지원 게시판
마이 데브피아
 나의 e-Money 내역
 활동왕 My Page
 스크랩한 게시글보기
 쪽지관리
 주소록관리

 WPF 강좌
 WPF Overview #3 2008-07-16 오전 9:47:36
 kdw234  kdw234님께 메시지 보내기kdw234님을 내 주소록에 추가합니다.kdw234님의 개인게시판 가기 번호: 37264  / 읽음:5,354

WPF Overview 3번째 시간입니다.
이번시간에는 WPF가 어떻게 작동하는지와 활용 방법에 대해 알려드리도록 하겠습니다.

사용자 삽입 이미지


WPF는 Code와 Markup의 조화라고 할 수 있습니다. C#이나 , VB.Net을 사용하여 Logic을 구현하고 XAML을 사용하여 UI를 구현합니다. WPF를 사용하는데 있어서, UI를 꼭 XAML로 구현 해야 할 필요는 없지만, 좀더 직관적이고 편리한 XAML을 사용하여 UI를 구현하는 것을 권장합니다.

XAML이 XML을 기반으로 한 Markup Language다 보니, XAML에서 표현되는 모든 UI는 계층적 구조를 가지고 있습니다. 위 그림에서는 잘 보이지 않지만, 최상위 노드가 Window가 되고, 최상위 노드의 자식 객체들이 올라가는 형식 입니다.

기존의 Win32나 Winform등도 어느정도 계층적 구조를 가지고 있지만, 특수한경우(Form,Frame,Panel 등)를 제외 하곤 자식객체를 포함 할 수 없는 것이 대부분입니다. 하지만, WPF는 가장 기본적인 객체(Label, Textblock)등을 제외 하곤 모두 자식 객체를 포함 할 수 있기때문에 별다른 수정없이 원하는 형태로 변환 하여 구현 할 수 있습니다. 객체를 개발자 임의로 모양등을 변경 하는 방법에 대해서는 뒷부분에서 설명하도록 하겠습니다.


사용자 삽입 이미지


XAML에 대해 정리를 하면 위와 같이 정리 할 수 있습니다. XAML은 Expression Blend나 Expression Designer, Visual Studio등과 같은 Microsoft 공식 Tool에서 지원하며 ZAM3D와 같은 3rd Tool에서도 지원합니다. XAML은 당연한 말이지만, XAML을 인식할 수 있는 XAML Browser에서만 작동되며, Internet Explorer이 대표적입니다.

XAML로 표현한 객체들은 모두 Code Level에서 접근이 가능하기 때문에 디자이너가 XAML로 디자인을 표현하면, 개발자가 별다른 수정 과정없이 디자이너의 결과를 그대로 활용할 수 가 있습니다.

사용자 삽입 이미지


WPF를 활용하는 방법으로는 크게 3가지로 나눌 수 있습니다.
처음부터 끝까지 WPF를 사용하여 Application을 구현하는 Full WPF Application방식과 Internet Explorer등에서 다운로드 받는 형식으로 작동되는 XBAP방식, 그리고 플랫폼에 종속적이지 않고 Web Browser만 있다면 사용이 가능한 Silverlight 방식이 있습니다.

그럼 지금부터 Full WPF Application, XBAP, Silverlight 방식에 대해 알아보도록 하겠습니다.

사용자 삽입 이미지


먼저 Full WPF Application 입니다. 이름에서도 알 수 있듯이, WPF의 모든 성능을 이끌어 낼 수 있는 방식입니다. Window시작하여 하나하나 객체를 추가 해서 구현을 하며, Full WPF Application을 사용하기 위해서는 사용자 컴퓨터에 .Net Framework 3.x이상의 버전이 필요합니다. 그리고 Smart Client방식으로도 활용이 가능합니다.

WPF는 Vista의 UI를 위해 탄생한 기술이지만, Windows XP SP2 이상의 OS에서도 실행이 가능합니다.

사용자 삽입 이미지


다음은 XBAP형식입니다. XBAP은 XAML Browser Application의 약어로 XAML을 Browsing 할 수 있는 XAML Browser에서 동작하는 형태의 Application으로 Windows에서는 Internet Explorer를 사용 할 수 있습니다. Application 실행에 필요한 모든 코드와 리소스를 HTTP를 통해 전송 받으며,Sendbox모델을 적용받습니다.

FULL WPF Applicatoin과 구현 할 수 있는 기능은 비슷하지만, 가장 다른 차이점은 SendBox Model을 적용받는다는점과 XAML Browser에서 실행된다는 점이 있습니다.

마찬가지로 XBAP형식을 사용하기 위해서는 사용자의 컴퓨터에 .Net Framework 3.x가 설치되어 있어야 하며, Windows XP SP2이상의 버전이 필요합니다.

사용자 삽입 이미지


마지막으로 Silverlight입니다. Silverlight는 Full WPF Application과 XBAP과 달리 OS,Browser에 상관없이 모두 작동합니다. 즉, 플랫폼 종속적이지 않다는 말인데요, Silverlight는 Web Browser위에서 작동되며, Silverlight Player가 설치되어 있는 컴퓨터에서만 작동합니다. 우리가 Web Browser에서 Flash 를 보기 위해 Flash Player를 설치하는 것과 마찬가지 입니다. 마찬가지로 SendBox 보안 모델을 적용 받으며,

위에서 소개한 Full WPF Application과 XBAP과 가장 큰 차이점은 .Net Framework 가 설치되어 있지 않아도 됩니다. 이유는 Silverlight Player에 .Net Framework의 Core부분이 포함되어 있기 때문인데요, Core 만 포함되어 있는만큼 Full WPF Application에 비해 구현 가능한 범위가 좁습니다.

WPF Application을 개발하려고 할때 가능한 구현 범위를 정리하면 아래와 같이 정리 할 수 있습니다.

Full WPF Application > XBAP > Silverlight

사용자 삽입 이미지


지금까지 총 3번의 WPF Overview 를 통해 WPF에 대해 구성, 작동원리, 활용등에 대해 살펴보았습니다.
Overview 마지막 시간으로, WPF를 한문장으로 정리한다면 다음과 같이 정리 할 수 있습니다.

"WPF는 디자이너와 기획자의 생각을 자유롭게 표현할 수 있는 기술이다."

그럼 다음시간에는 본격적으로 XAML에 대한 사용방법에 대해 살펴보도록 하겠습니다.



김대욱(kdw234@naver.com) http://kdw234.tistory.com

[코멘트] 좋음
2013-10-23 15:16
 cozysystem  cozysystem님께 메시지 보내기cozysystem님을 내 주소록에 추가합니다.cozysystem님의 개인게시판 가기 
XBAP은 IE에서만 가능한가요?
Chrome이나 Firefox에서는 불가능 한것인지요?
불가능 하다면, 우회적인 방법으로라도 가능하게 할 수 있는 방법은 없는 것인지요?
저장 취소
[코멘트] 좋음
2015-05-07 23:56
 alucard99  alucard99님께 메시지 보내기alucard99님을 내 주소록에 추가합니다.alucard99님의 개인게시판 가기 
실버라이트는 윈도에서만 돌아갈겁니다..
저장 취소
코멘트쓰기
  좋음   놀람   궁금   화남   슬픔   최고   침묵   시무룩   부끄럼   난감
* 코멘트는 500자 이내(띄어쓰기 포함)로 적어주세요.
목록 보기   지금 보고 계시는 글을 회원님의 my Mblog >> 스크랩에 넣어두고 다음에 바로 보실 수 있습니다.  
회사소개  |   개인정보취급방침  |  제휴문의  |   광고문의  |   E-Mail 무단수집거부  |   고객지원  |   이용안내  |   세금계산서
사업자등록번호 안내: 220-81-90008 / 통신판매업신고번호 제 2017-서울구로-0055호 / 대표: 홍영준, 서민호
08390, 서울시 구로구 디지털로32길 30, 1211호 / TEL. 02_6719_6200 / FAX. 02-6499-1910
Copyright ⓒ (주) 데브피아. All rights reserved.