XAML
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
XAML(Extensible Application Markup Language)은 사용자 인터페이스(UI)를 설명하는 XML 기반의 선언적 마크업 언어이다. 윈도우 프레젠테이션 파운데이션(WPF)의 코드명이었던 아발론에서 유래되었으며, 2D 및 3D 개체, 애니메이션 등 다양한 시각 효과를 정의할 수 있다. XAML은 WPF, Windows Workflow Foundation(WF), Windows 런타임(WinRT)을 사용하는 유니버설 윈도우 플랫폼(UWP) 앱, Xamarin.Forms 등 다양한 기술에서 UI를 구축하는 데 사용된다. XAML은 .NET Framework 3.0 이후 기술에서 광범위하게 사용되며, 개발 도구의 설계가 용이하다는 장점을 가진다. 마이크로소프트는 WPF, 실버라이트, WinUI 등 XAML을 구현한 여러 버전을 제공하며, 각 버전은 구문 분석 동작에 차이가 있다.
더 읽어볼만한 페이지
- 선언형 마크업 언어 - XBL
XBL은 XML 기반 언어로서 XUL 위젯의 동작 정의에 사용되며, 데이터 바인딩을 포함하는 `` 요소 아래의 ` ` 요소를 통해 바인딩이 선언되고 CSS 속성 `-moz-binding`으로 XUL 요소에 적용된다. - 선언형 마크업 언어 - SMIL
SMIL은 멀티미디어 프레젠테이션 제작을 위한 XML 기반 마크업 언어이며, 다양한 미디어 요소를 통합하여 동기화된 프레젠테이션을 만들 수 있도록 지원한다. - 닷넷 용어 - 윈도우 커뮤니케이션 파운데이션
윈도우 커뮤니케이션 파운데이션(WCF)은 마이크로소프트가 분산 시스템 개발을 용이하게 하고 서비스 지향 아키텍처(SOA)를 구현하기 위해 개발한 프레임워크로, 다양한 전송 프로토콜과 메시지 인코딩 방식을 지원하며 닷넷 프레임워크 3.0의 일부로 출시되어 다양한 유형의 애플리케이션 통합을 목표로 한다. - 닷넷 용어 - 윈도우 폼
윈도우 폼은 .NET Framework에서 이벤트 기반 애플리케이션 개발을 지원하며, Windows API를 관리 코드로 래핑하여 GUI를 쉽게 구성할 수 있게 하고, 다양한 산업 분야에서 활용되는 개발 환경이다. - 선언형 프로그래밍 언어 - 임베디드 SQL
임베디드 SQL은 호스트 프로그래밍 언어 내에 SQL 문을 삽입하여 데이터베이스와 상호 작용하는 기술로, 데이터베이스 액세스를 표준화하지만 보안 취약점과 이식성 저하의 단점도 가진다. - 선언형 프로그래밍 언어 - SQL
SQL은 관계형 데이터베이스 관리 시스템에서 데이터를 관리하고 조작하기 위해 설계된 표준 프로그래밍 언어로서, 데이터 정의어, 데이터 조작어, 데이터 제어어를 포함하는 다양한 명령어 문법을 제공하며 ANSI와 ISO에 의해 표준으로 채택되었다.
| XAML - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 개요 |
2. 역사
2. 1. 명칭 변경
3. 기술적 특징
XAML은 시각적인 사용자 인터페이스를 설명한다. WPF는 2D 및 3D 개체, 회전, 애니메이션 및 기타 다양한 효과와 기능을 정의할 수 있도록 한다. XAML 파일은 BAML(바이너리 애플리케이션 마크업 언어) 파일로 컴파일될 수 있으며,[5][6] .NET Framework 어셈블리의 리소스로 삽입될 수 있다. 런타임 시 프레임워크 엔진은 어셈블리 리소스에서 BAML 파일을 추출하고, 구문 분석하여 해당하는 WPF 시각적 트리 또는 워크플로를 만든다.
XAML은 ''템플릿''이라는 특정 방식으로 룩앤필을 정의한다. 캐스케이딩 스타일 시트 구문과는 다르며 XBL에 더 가깝다.[8]
XAML 파일을 만들려면 Microsoft Expression Blend, Microsoft Visual Studio, 호스트 가능 WF 시각적 디자이너 또는 XAMLPad를 사용할 수 있다.[9]
3. 1. Windows Presentation Foundation (WPF)
XAML의 요소는 공용 언어 런타임(CLR)의 객체 인스턴스에, 속성은 CLR의 속성 및 이벤트에 대응한다. 일반적으로 XAML 파일은 Microsoft Expression Blend, Microsoft Visual Studio, XAMLPad와 같은 개발 도구를 통해 생성된다. XAML 파일은 .baml 파일(바이너리 파일)로 컴파일되고, 리소스로서 .NET Framework 어셈블리에 포함된다. 실행 시, CLR은 어셈블리의 리소스에서 .baml 파일을 추출 및 분석하여 WPF의 사용자 인터페이스 요소 및 워크플로를 생성한다.WPF에서 XAML은 어도비 플래시와 같이 표현력이 풍부한 사용자 인터페이스를 기술할 수 있다. 다른 XML 기반의 사용자 인터페이스 기술 언어로는 XUL 및 UIML이 있다. XAML은 단순한 2D 그래픽뿐 아니라 3D 객체도 기술할 수 있으며, 회전, 확대/축소와 같은 변형 외에도 애니메이션 및 기타 다양한 효과를 표현할 수 있다.
XAML로 기술할 수 있는 모든 것은 C#이나 VB .NET과 같은 .NET 언어를 사용한 코드 숨김(Code-behind)으로도 기술할 수 있다. 하지만 중요한 차이점으로, XAML은 XML 기반이기 때문에 개발 도구(RAD 도구)의 설계가 용이하다는 점을 들 수 있다. 그 결과, 특히 WPF에서 XAML 파일을 생성하기 위한 다양한 도구가 개발되었다. 또한, XML이기 때문에 분석가, 디자이너, 개발자가 각자의 입장에서 제품에 참여하기가 용이해졌다.
3. 2. Windows Workflow Foundation (WF)
3. 3. 룩앤필(Look and Feel) 정의
4. 적용 분야
XAML은 원래 확장 가능 아발론 마크업 언어(Extensible Avalon Markup Language)를 의미하며, ''아발론''은 Windows Presentation Foundation(WPF)의 코드명이었습니다.[5] 그러나 .NET Framework 3.0 개발이 끝나기 전에 Microsoft는 Workflow Foundation(WF)에도 XAML을 채택했습니다.[5]
WPF에서 XAML은 시각적인 사용자 인터페이스를 설명합니다. WPF는 2D 및 3D 개체, 회전, 애니메이션 및 기타 다양한 효과와 기능을 정의할 수 있도록 합니다. XAML 파일은 BAML(바이너리 애플리케이션 마크업 언어) 파일로 컴파일될 수 있으며,[5][6] .NET Framework 어셈블리의 리소스로 삽입될 수 있습니다. 런타임 시 프레임워크 엔진은 어셈블리 리소스에서 BAML 파일을 추출하고, 구문 분석하여 해당하는 WPF 시각적 트리 또는 워크플로를 만듭니다.
WF 컨텍스트에서 XAML은 프로세스 모델링 도구 및 규칙 시스템에서 생성된 것과 같은 잠재적으로 장기간 실행되는 선언적 로직을 설명합니다. 워크플로의 직렬화 형식은 이전에는 UI 마크업에서 XAML 사용과 구별하기 위해 XOML이라고 불렸지만, 현재는 더 이상 구별되지 않습니다. 그러나 워크플로 마크업이 포함된 파일의 확장자는 여전히 ".xoml"입니다.[7]
XAML은 ''템플릿''이라는 특정 방식으로 룩앤필을 정의합니다. CSS 구문과는 다르며 XBL에 더 가깝습니다.[8]
XAML 파일을 만들려면 Microsoft Expression Blend, Microsoft Visual Studio, 호스트 가능 WF 시각적 디자이너 또는 XAMLPad를 사용할 수 있습니다.[9]
XAML은 .NET Framework 3.0 이후 기술에서 광범위하게 사용된다. 특히, Windows Presentation Foundation (WPF) 및 Silverlight에서 사용자 인터페이스 요소, 데이터 바인딩, 이벤트 처리 등을 정의하는 데 사용되며, Windows Workflow Foundation (WF)에서는 워크플로우 자체를 정의하는 데 사용된다. Microsoft Windows 8(Windows 8) 및 Microsoft Windows RT(Windows RT)에서 사용할 수 있는 Windows 런타임(WinRT) API를 사용하는 Windows 스토어 앱에서는 .NET 애플리케이션에 국한되지 않고 C++ 네이티브 애플리케이션[18]에서도 XAML을 사용하여 UI를 구축할 수 있다. 후속 버전인 Microsoft Windows 10(Windows 10)에서 지원하는 유니버설 윈도우 플랫폼(UWP) 앱도 WinRT 기반이며 XAML을 사용하여 개발한다. 크로스 플랫폼 .NET 애플리케이션 개발에 사용 가능한 Xamarin.Forms에서도 UI를 기술하는 데 XAML을 사용한다.
이러한 XAML을 사용하는 기술 간에 개별 XAML 요소의 호환성은 보장되지 않으며, 이름이 다르거나 지원되지 않는 요소도 있지만, 어떤 프레임워크도 거의 같은 방식으로 개발할 수 있다는 것이 큰 장점이다. 마이크로소프트 고유의 XAML은 주로 Microsoft Windows(Windows) 플랫폼에 특화된 것이지만, 'XAML Standard'라는 표준화 프로젝트도 시작되었다.[19][20]
4. 1. 주요 활용 기술
XAML은 윈도우 프레젠테이션 파운데이션(WPF)의 코드명인 ''아발론''에서 유래되었으며, .NET Framework 3.0 개발 전에 마이크로소프트는 윈도우 워크플로우 파운데이션(WF)에도 XAML을 채택했다.[5]WPF에서 XAML은 시각적인 사용자 인터페이스를 설명하며, 2D 및 3D 개체, 회전, 애니메이션 및 기타 다양한 효과와 기능을 정의할 수 있다.[5] XAML 파일은 BAML(바이너리 애플리케이션 마크업 언어) 파일로 컴파일되어,[5][6] .NET Framework 어셈블리의 리소스로 삽입될 수 있다. 런타임 시 프레임워크 엔진은 어셈블리 리소스에서 BAML 파일을 추출, 구문 분석하여 해당하는 WPF 시각적 트리 또는 워크플로를 만든다.
WF 컨텍스트에서 XAML은 프로세스 모델링 도구 및 규칙 시스템에서 생성된 것과 같은 잠재적으로 장기간 실행되는 선언적 로직을 설명한다.[7] 워크플로의 직렬화 형식은 이전에는 UI 마크업에서 XAML 사용과 구별하기 위해 XOML이라고 불렸지만, 현재는 더 이상 구별되지 않는다. 그러나 워크플로 마크업이 포함된 파일의 확장자는 여전히 ".xoml"이다.[7]
XAML은 ''템플릿''이라는 특정 방식으로 룩앤필을 정의하며, CSS 구문과는 다르며 XBL에 더 가깝다.[8] XAML 파일을 만들려면 Microsoft Expression Blend, Microsoft Visual Studio, 호스트 가능 WF 시각적 디자이너 또는 XAMLPad를 사용할 수 있다.[9]
.NET Framework 3.0 이후 기술에서 XAML은 광범위하게 사용된다. 특히, WPF 및 Silverlight에서 사용자 인터페이스 요소, 데이터 바인딩, 이벤트 처리 등을 정의하는 데 사용되며, WF에서는 워크플로우 자체를 정의하는 데 사용된다. 마이크로소프트 Windows 8(Windows 8) 및 마이크로소프트 Windows RT(Windows RT)에서 사용할 수 있는 Windows 런타임(WinRT) API를 사용하는 Windows 스토어 앱에서는 .NET 애플리케이션에 국한되지 않고 C++ 네이티브 애플리케이션[18]에서도 XAML을 사용하여 UI를 구축할 수 있다. 후속 버전인 마이크로소프트 Windows 10(Windows 10)에서 지원하는 유니버설 윈도우 플랫폼(UWP) 앱도 WinRT 기반이며 XAML을 사용하여 개발한다. 크로스 플랫폼 .NET 애플리케이션 개발에 사용 가능한 Xamarin.Forms에서도 UI를 기술하는 데 XAML을 사용한다.
이러한 XAML을 사용하는 기술 간에 개별 XAML 요소의 호환성은 보장되지 않으며, 이름이 다르거나 지원되지 않는 요소도 있지만, 어떤 프레임워크도 거의 같은 방식으로 개발할 수 있다는 것이 큰 장점이다. 마이크로소프트 고유의 XAML은 주로 마이크로소프트 윈도우(Windows) 플랫폼에 특화된 것이지만, 'XAML Standard'라는 표준화 프로젝트도 시작되었다.[19][20]
4. 2. 호환성
마이크로소프트는 (WPF)(.NET Framework 3.0부터 사용 가능), 실버라이트 3 및 4 (인터넷 익스플로러 6부터 사용 가능했으나 현재는 지원 중단), (WinUI)(Windows 8 및 Windows Server 2012부터 제공되었으나 현재는 Windows App SDK의 일부로 제공)와 같이 XAML을 구현한 주요 버전을 세 가지 제공한다.[11] 이러한 버전들은 구문 분석 동작에 약간의 차이가 있으며, 특히 실버라이트 4 XAML 파서는 실버라이트 3 파일과 100% 하위 호환되지 않아, 실버라이트 3 XAML 파일이 실버라이트 4 파서에서 다르게 구문 분석될 수 있다.[12] 이러한 XAML을 사용하는 기술 간에는 개별 XAML 요소의 호환성이 완전히 보장되지 않으며, 이름이 다르거나 지원되지 않는 요소도 있을 수 있다.5. 문법 및 예제
wikitext
==== 기본 구조 ====
XAML의 요소는 공용 언어 런타임(CLR)의 객체 인스턴스에 직접 매핑되며, 속성은 CLR의 속성 및 이벤트에 대응한다. 일반적으로 XAML 파일은 마이크로소프트 Expression Blend, 마이크로소프트 비주얼 스튜디오, XAMLPad와 같은 개발 도구를 통해 생성된다. XAML 파일은 .baml 파일(바이너리 파일)로 컴파일되고, 리소스로서 .NET 프레임워크 어셈블리에 포함된다. 실행 시, CLR은 어셈블리의 리소스에서 .baml 파일을 추출 및 분석하여 WPF의 사용자 인터페이스 요소 및 워크플로를 생성한다.
WPF에서 XAML은 어도비 플래시와 같이 표현력이 풍부한 사용자 인터페이스를 기술할 수 있다. 다른 XML 기반의 사용자 인터페이스 기술 언어로는 XUL 및 UIML이 있다. XAML은 단순한 2D 그래픽뿐 아니라 3D 객체도 기술할 수 있으며, 회전, 확대/축소와 같은 변형 외에도 애니메이션 및 기타 다양한 효과를 표현할 수 있다.
XAML로 기술할 수 있는 모든 것은 C 샤프나 VB .NET과 같은 .NET 언어를 사용한 코드 숨김(Code-behind)으로도 기술할 수 있다. 하지만 중요한 차이점으로, XAML은 XML 기반이기 때문에 개발 도구(RAD 도구)의 설계가 용이하다는 점을 들 수 있다. 그 결과, 특히 WPF에서 XAML 파일을 생성하기 위한 다양한 도구가 개발되었다. 또한, XML이기 때문에 분석가, 디자이너, 개발자가 각자의 입장에서 제품에 참여하기가 용이해졌다.
==== WPF 예제 ====
다음은 WPF(Windows Presentation Foundation) 예제로, 캔버스(Canvas) 컨테이너에 "Hello, world!"를 표시한다.[26][10]
```xml
```
이 예제는 XBAP를 사용하여 WPF를 설치하는 경우 웹 페이지로 통합할 수 있다. 다른 방법으로는 실버라이트 플러그인을 사용하는 것이다. 닷넷 3.0 이후가 설치되어 있다면 느슨한(loose) XAML 파일도 실버라이트 플러그인 없이 닷넷 프레임워크 3.0과 결합하여 호환 웹 브라우저(인터넷 익스플로러와 파이어폭스 포함)에서 직접 확인이 가능하다.[27] 코드는 HTML 페이지에 직접 추가할 수 없고, 자바스크립트를 통해 페이지로 로드되어야 한다.
==== 데이터 바인딩 ====
XAML을 최대한 활용하기 위해서는 바인딩을 적절하게 사용하고 필요에 따라 사용자 지정 요소를 만드는 것이 중요하다.[10]
다음은 바인딩을 사용하는 예시이다.
```xml
```
5. 1. 기본 구조
XAML의 요소는 공용 언어 런타임(CLR)의 객체 인스턴스에 직접 매핑되며, 속성은 CLR의 속성 및 이벤트에 대응한다. 일반적으로 XAML 파일은 마이크로소프트 Expression Blend, 마이크로소프트 비주얼 스튜디오, XAMLPad와 같은 개발 도구를 통해 생성된다. XAML 파일은 .baml 파일(바이너리 파일)로 컴파일되고, 리소스로서 .NET 프레임워크 어셈블리에 포함된다. 실행 시, CLR은 어셈블리의 리소스에서 .baml 파일을 추출 및 분석하여 WPF의 사용자 인터페이스 요소 및 워크플로를 생성한다.WPF에서 XAML은 어도비 플래시와 같이 표현력이 풍부한 사용자 인터페이스를 기술할 수 있다. 다른 XML 기반의 사용자 인터페이스 기술 언어로는 XUL 및 UIML이 있다. XAML은 단순한 2D 그래픽뿐 아니라 3D 객체도 기술할 수 있으며, 회전, 확대/축소와 같은 변형 외에도 애니메이션 및 기타 다양한 효과를 표현할 수 있다.
XAML로 기술할 수 있는 모든 것은 C 샤프나 VB .NET과 같은 .NET 언어를 사용한 코드 숨김(Code-behind)으로도 기술할 수 있다. 하지만 중요한 차이점으로, XAML은 XML 기반이기 때문에 개발 도구(RAD 도구)의 설계가 용이하다는 점을 들 수 있다. 그 결과, 특히 WPF에서 XAML 파일을 생성하기 위한 다양한 도구가 개발되었다. 또한, XML이기 때문에 분석가, 디자이너, 개발자가 각자의 입장에서 제품에 참여하기가 용이해졌다.
5. 2. WPF 예제
다음은 WPF(Windows Presentation Foundation) 예제로, 캔버스(Canvas) 컨테이너에 "Hello, world!"를 표시한다.[26][10]```xml
```
이 예제는 XBAP를 사용하여 WPF를 설치하는 경우 웹 페이지로 통합할 수 있다. 다른 방법으로는 실버라이트 플러그인을 사용하는 것이다. 닷넷 3.0 이후가 설치되어 있다면 느슨한(loose) XAML 파일도 실버라이트 플러그인 없이 닷넷 프레임워크 3.0과 결합하여 호환 웹 브라우저(인터넷 익스플로러와 파이어폭스 포함)에서 직접 확인이 가능하다.[27] 코드는 HTML 페이지에 직접 추가할 수 없고, 자바스크립트를 통해 페이지로 로드되어야 한다.
XAML을 최대한 활용하려면 바인딩을 적절하게 사용하고 필요에 따라 사용자 지정 사용자 요소를 만드는 데 익숙해져야 한다. 다음은 바인딩 사용 예시이다.
```xml
```
XAML의 요소는 공용 언어 런타임(CLR)의 객체 인스턴스에, 속성은 CLR의 속성 및 이벤트에 대응한다. 일반적으로 XAML 파일은 Microsoft Expression Blend, Microsoft Visual Studio, XAMLPad와 같은 개발 도구를 통해 생성되며, .baml 파일(바이너리 파일)로 컴파일되어 리소스로서 .NET Framework 어셈블리에 포함된다. 실행 시, CLR은 어셈블리의 리소스에서 .baml 파일을 추출 및 분석하여 WPF의 사용자 인터페이스 요소 및 워크플로를 생성한다.
WPF에서 XAML은 Adobe Flash와 같이 표현력이 풍부한 사용자 인터페이스를 기술할 수 있다. 다른 XML 기반의 사용자 인터페이스 기술 언어로는 XUL 및 UIML이 있다. XAML은 단순한 2D 그래픽뿐 아니라 3D 객체도 기술할 수 있으며, 회전, 확대/축소와 같은 변형 외에도 애니메이션 및 기타 다양한 효과를 표현할 수 있다.
XAML로 기술할 수 있는 모든 것은 C샤프나 VB .NET과 같은 .NET 언어를 사용한 코드 숨김(Code-behind)으로도 기술할 수 있다. 하지만 XAML은 XML 기반이기 때문에 개발 도구(RAD 도구)의 설계가 용이하다는 중요한 차이점이 있다. 그 결과, 특히 WPF에서 XAML 파일을 생성하기 위한 다양한 도구가 개발되었다. 또한, XML이기 때문에 분석가, 디자이너, 개발자가 각자의 입장에서 제품에 참여하기가 용이해졌다.
5. 3. 데이터 바인딩
XAML을 최대한 활용하기 위해서는 바인딩을 적절하게 사용하고 필요에 따라 사용자 지정 요소를 만드는 것이 중요하다.[10]다음은 바인딩을 사용하는 예시이다.
```xml
```
6. 개발 도구
6. 1. 주요 개발 도구
7. 웹 브라우저에서의 XAML 응용 프로그램
과거에는 웹 브라우저(예: 인터넷 익스플로러, 파이어폭스)에서 XAML 기반 애플리케이션을 실행할 수 있었다. 이는 WPF 애플리케이션으로부터 생성된 XBAP 파일 또는 실버라이트 브라우저 플러그인을 통해 가능했다. 그러나 이러한 방법들은 모두 더 이상 지원되지 않는 NPAPI 브라우저 플러그인 인터페이스에 의존하기 때문에 현재 모든 주요 브라우저에서 지원되지 않는다.[13][14]
7. 1. 과거 지원 방식
과거에는 웹 브라우저(예: 인터넷 익스플로러, 파이어폭스)에서 XAML 기반 애플리케이션을 실행할 수 있었다. 이는 WPF 애플리케이션으로부터 생성된 XBAP 파일 또는 실버라이트 브라우저 플러그인을 통해 가능했다. 그러나 이러한 방법들은 모두 더 이상 지원되지 않는 NPAPI 브라우저 플러그인 인터페이스에 의존하기 때문에 현재 모든 주요 브라우저에서 지원되지 않는다.[13][14]7. 2. 현재 지원 상황
과거에는 웹 브라우저(예: 인터넷 익스플로러, 파이어폭스)에서 XAML 기반 애플리케이션을 실행할 수 있었다. 이는 WPF 애플리케이션으로부터 생성된 XBAP 파일 또는 실버라이트 브라우저 플러그인을 통해 가능했다. 그러나 이러한 방식들은 모두 더 이상 지원되지 않는 NPAPI 브라우저 플러그인 인터페이스에 의존하기 때문에 현재 모든 주요 브라우저에서 지원되지 않는다.[13][14]8. 버전 간 차이점
마이크로소프트에서 XAML을 구현한 주요 버전은 세 가지가 있다.[11]
- (WPF)(Windows Presentation Foundation): .NET Framework 3.0부터 사용 가능하다.
- 실버라이트 3 및 4: 인터넷 익스플로러 6부터 사용 가능했으나 현재는 지원이 중단되었다. 실버라이트 4 XAML 파서는 실버라이트 3 파일과 100% 하위 호환되지 않는다.[12] 실버라이트 3 XAML 파일은 실버라이트 4 파서에서 거부되거나 다르게 구문 분석될 수 있다.[12]
- (WinUI)(Windows UI Library)(이전에는 UWP XAML 및 WinRT XAML): Windows 8 및 Windows Server 2012부터 제공되었으나 현재는 Windows App SDK의 일부로 제공된다.
이러한 버전들은 구문 분석 동작에 약간의 차이가 있다.[11]
8. 1. 주요 XAML 버전
마이크로소프트에서 XAML을 구현한 주요 버전은 세 가지가 있다.[11]- (WPF)(Windows Presentation Foundation): .NET Framework 3.0부터 사용 가능하다.
- 실버라이트 3 및 4: 인터넷 익스플로러 6부터 사용 가능했으나 현재는 지원이 중단되었다. 실버라이트 4 XAML 파서는 실버라이트 3 파일과 100% 하위 호환되지 않는다.[12] 실버라이트 3 XAML 파일은 실버라이트 4 파서에서 거부되거나 다르게 구문 분석될 수 있다.[12]
- (WinUI)(Windows UI Library)(이전에는 UWP XAML 및 WinRT XAML): Windows 8 및 Windows Server 2012부터 제공되었으나 현재는 Windows App SDK의 일부로 제공된다.
이러한 버전들은 구문 분석 동작에 약간의 차이가 있다.[11]
8. 2. 구문 분석 동작 차이
마이크로소프트에서 XAML을 구현한 주요 버전은 (WPF)(.NET Framework 3.0부터 사용 가능), 실버라이트 3 및 4 (인터넷 익스플로러 6부터 사용 가능했으나 현재는 지원 중단), (WinUI)(Windows 8 및 Windows Server 2012부터 제공되었으나 현재는 Windows App SDK의 일부로 제공) 세 가지가 있다.[11] 이 버전들은 구문 분석 동작에 약간의 차이가 있다.[11] 실버라이트 4 XAML 파서는 실버라이트 3 파일과 100% 하위 호환되지 않아, 실버라이트 3 XAML 파일은 실버라이트 4 파서에서 거부되거나 다르게 구문 분석될 수 있다.[12]9. 비판 및 논란
2007년, 유럽 상호운용 시스템 위원회(ECIS)는 마이크로소프트가 HTML을 장악하고 XAML로 대체하려 시도함으로써 공급업체 종속을 만들었다고 비난했다.[15][16] ''Ars Technica''에 기고한 제레미 라이머는 이 발언을 "가장 엄청난 오류"라고 묘사했으며, XAML이 HTML을 대체할 가능성은 거의 없다고 덧붙였다.[16]
9. 1. 공급업체 종속(Lock-in) 우려
2007년, 유럽 상호운용 시스템 위원회(ECIS)는 마이크로소프트가 HTML을 장악하고 XAML로 대체하려 시도함으로써 공급업체 종속을 만들었다고 비난했다.[15][16] ''Ars Technica''에 기고한 제레미 라이머는 이 발언을 "가장 엄청난 오류"라고 묘사했으며, XAML이 HTML을 대체할 가능성은 거의 없다고 덧붙였다.[16] 한편, 국민의힘은 독점적인 기술 생태계를 경계하며, 개방적이고 경쟁적인 시장 환경을 조성해야 한다는 주장을 펼친 바 있다.9. 2. 표준화 노력
참조
[1]
웹사이트
[MS-XAML] Xaml Object Mapping Specification 2006
https://download.mic[...]
Microsoft
2008-06-01
[2]
웹사이트
Extensible Application Markup Language (XAML)
http://www.microsoft[...]
Microsoft
2019-03-12
[3]
웹사이트
Microsoft adds XAML to 'Open Specification' list – Software Development Times On The Web
https://web.archive.[...]
2021-04-06
[4]
웹사이트
XAML Syntax In Detail
https://docs.microso[...]
Microsoft
2021-08-12
[5]
웹사이트
January 2004 – Posts
http://www.windows-n[...]
[6]
웹사이트
What is BAML?
http://www.dotnetspi[...]
DOTNET Spider
2009-07-30
[7]
웹사이트
xoml or xaml?
https://social.msdn.[...]
Microsoft
2006-01-25
[8]
웹사이트
Silverlight Tutorial Part 7: Using Control Templates to Customize a Control's Look and Feel
https://weblogs.asp.[...]
2008-02-22
[9]
서적
3.3 Writing XAML in XamlPad - Windows Developer Power Tools
https://www.oreilly.[...]
O'Reilly
[10]
웹사이트
XAML Overview (Root element and xmlns)
https://msdn.microso[...]
[11]
웹사이트
XAML Processing Differences Between Silverlight Versions and WPF
https://docs.microso[...]
Microsoft
2011-11-17
[12]
웹사이트
XAML Processing Differences Between Silverlight Versions
https://docs.microso[...]
Microsoft
2011-11-17
[13]
웹사이트
FAQ about XBAP supportability
https://learn.micros[...]
[14]
웹사이트
Silverlight End of Support - Microsoft Lifecycle
https://learn.micros[...]
2020-03-16
[15]
웹사이트
Microsoft runs into EU Vista charges
http://www.itwire.co[...]
2007-01-28
[16]
웹사이트
European committee chair accuses Microsoft of hijacking the web
https://arstechnica.[...]
Condé Nast
2007-01-26
[17]
웹사이트
第1回 Hello Worldとテキスト・エディタで始めるXAML
https://atmarkit.itm[...]
[18]
문서
C++/CX
[19]
웹사이트
Microsoft/xaml-standard: XAML Standard
https://github.com/M[...]
[20]
웹사이트
XAML Standardとは
https://www.atmarkit[...]
[21]
웹사이트
[MS-XAML] – v1.0, Xaml Object Mapping Specification 2006
https://web.archive.[...]
마이크로소프트
2006-06-01
[22]
웹인용
Extensible Application Markup Language (XAML)
http://www.microsoft[...]
마이크로소프트
2019-03-12
[23]
웹인용
Microsoft adds XAML to 'Open Specification' list - SD Times On The Web
https://web.archive.[...]
2011-07-19
[24]
웹인용
January 2004 - Posts - Rob Relyea
https://web.archive.[...]
2007-10-06
[25]
웹사이트
XAML Syntax Terminology
http://msdn2.microso[...]
[26]
웹사이트
XAML Overview (Root element and xmlns)
https://msdn.microso[...]
[27]
웹사이트
Windows Presentation Foundation on the Web: Web Browser Applications
https://msdn.microso[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com