Microsoft MVP성태의 닷넷 이야기
XAML이 뭘까? [링크 복사], [링크+제목 복사]
조회: 13383
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


XAML?


XAML이 뭘까? 간혹... 이에 대해서 단순히 WPF의 표현 언어라고만 알고 있는 사람들이 있습니다. 여기에 대해 간단히 짚고 넘어가 볼까요? ^^




우선, XAML의 올바른 정의는 다음과 같습니다.

  • Don Box has a great description of what XAML is "A way to wire up CLR objects, no more, no less".
  • Chris Anderson’s definition of XAML ? "XAML is a declarative markup language that defines an object model"
; http://donxml.com/allthingstechie/archive/2004/11/28/1550.aspx

즉, XAML은 WPF 전용 언어가 아니라는 것이죠. 실제로 WPF와 XAML에 대한 설명을 보면 다음과 같은 표현이 나옵니다.

Windows Presentation Foundation (WPF) implements a Extensible Application Markup Language (XAML) loader

그렇습니다. WPF는 단순히 XAML용 Loader를 구현한 응용 사례에 불과한 것입니다.

이쯤 되면,,, WF(Workflow Foundation)에서 사용되는 XAML에 대한 개념도 이해되기 시작합니다. 즉, WF 역시 XAML용 Loader를 구현했다는 것이지요. 그래서 Wikipedia의 정의에 보면 다음과 같은 표현이 나옵니다.

1. XAML is used extensively in the .NET Framework 3.0 technologies, 
particularly in Windows Presentation Foundation (WPF), 
where it is used as a user interface markup language to define 
UI elements, data binding, eventing, and other features, and 
in Windows Workflow Foundation (WF), in which workflows themselves can be defined using XAML

2. XAML elements can map directly to Common Language Runtime (CLR) object instances 
whereas attributes can map to CLR properties and events on those objects

; http://en.wikipedia.org/wiki/Extensible_Application_Markup_Language

사실... 어찌 보면, XAML == WPF라고 잘못 여기고 있는 것이 한편으로는 이해가 되곤 합니다. 요즘 들어, 어딜 가도 UI/UX/RIA라고 도배를 하고 있으니. ^^ (개인적으로, 마치 소프트웨어 개발이 그것이 전부인 양 선전하는 것을 보면 한숨이 절로 나옵니다.)

아무튼... XAML을 WPF라고 이해하시는 분들은, 다음의 토픽을 꼭 먼저 읽어본 후에 XAML 공부를 계속하시기 바랍니다.

Amazing XAML
; http://www.microsoft.com/belux/msdn/fr/community/columns/himschoot/amazingxaml.mspx

(위의 글을 쓴 사람의 소개에 Microsoft Regional Director라고 되어 있는데요. 이는 마이크로소프트 내부 직원이 아니라, 외부 인사 중에서 주어지는 - 일종의 Microsoft MVP와 같은 혜택을 받은 사람입니다. 말 그대로 지역별로 이런 RD가 선출이 되는데,,, 물론 한국에도 있는 것으로 알고 있습니다. 현재 한국 RD는 누구인지는 모르겠지만... 조만간 위와 같은 멋진 글을 쓰시길 기대해 봅니다. 음, 저런 글을 보면... 부럽군요. ^^)



[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/27/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2008-03-10 07시27분
[키온] 설마 한국의 Microsoft RD가 진짜 모르는건 아니죠? 그 사람 메일 주소가 funnyfox라는....
[guest]
2008-03-10 07시44분
넵. funnyfox 님의 ^^ 멋진 글을 기대해 온지 십수 년(^^;)... 은근한 압박으로다가 위와 같은 글을. ^^
kevin25
2008-03-10 04시36분
[짜두] 음~ 정말 누굴까요?~ㅎㅎㅎ
[guest]
2008-03-26 10시44분
kevin25

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
552정성태2/20/20241114Windows - 바탕화면에 검은 영역의 빈 공간을 삭제하는 방법
551정성태2/18/20241191DropBox - PermissionError: [WinError 5] Access is denied: 'C:\\Users\\...'
550정성태10/31/20232035윈도우 탐색기의 "새로 만들기" 메뉴에 "텍스트 문서" 항목이 없는 경우 - 두 번째 이야기
549정성태4/20/20234040youtube-dl을 파이썬으로 실행하는 방법
548정성태4/15/20233613Galaxy Buds2를 Windows에 연결한 경우 (Stereo가 아닌) Mono로 들리는 문제
547정성태1/28/20234082JetBrains Omea Reader에서 TLS 1.2 모드의 https 서버로부터 RSS 구독이 안 되는 경우 해결 방법파일 다운로드1
546정성태12/17/20225166blizzless-diiis 소개 - (C#으로 만들어진) Diablo 3 오픈 소스 서버
545정성태11/29/20226434[종료] [2차] "시작하세요 C# 10" 서적 나눔합니다. (5권)
544정성태11/6/20223932Camtasia - "변경된" 볼륨을 일괄 설정하는 방법
543정성태11/4/20226610[종료] "시작하세요 C# 10" 서적 나눔합니다. (4권 한정)
542정성태6/8/20225488입력 포커스를 가져가는 응용 프로그램을 확인하는 방법 - FocusLogger
541정성태6/7/20225211특정 USB 장치가 인식이 안 되는 문제
540정성태5/25/20225002구글 검색 시 "ko-kr"이 아닌 "en-us"에 해당하는 자료 검색 방법
539정성태5/23/20224929문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드
538정성태5/18/20225091WACOM Intuos Pro PTH-660 사용 후기 (개발자 입장)
537정성태3/17/20225536eFriend Plus 설치 후 실행이 안 되는 문제가 발생한다면?
536정성태1/13/202270902021년 블로그 기부 수익 공개 ^^
535정성태11/25/202175692021년 새로운 PC
534정성태10/19/20217738파판14 - 에오르제아의 시간 알람을 위한 C# WinForms 응용 프로그램 [1]파일 다운로드1
533정성태10/6/202110409모바일 브라우저에서 "비공개 연결이 아닙니다." NET::ERR_CERT_AUTHORITY_INVALID 오류가 발생하는 현상 [1]
531정성태9/1/2021703316GB로도 모자란 근래의 개발 환경
530정성태7/27/20215420그동안 마이크로소프트 계정으로 가입한 웹 서비스 및 응용 프로그램을 알아내는 방법
529정성태7/18/20215765C:\$Windows.~BT 용도와 삭제하는 방법
528정성태7/17/20217419Logitech Webcam이 있는 경우, %LOCALAPPDATA%\temp\LWSDebugOut.txt 파일의 (무제한) 증가 현상
527정성태7/13/20215637Microsoft Edge의 뉴스 알림 창 끄는 방법
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...