본문 바로가기
소년의 IT 쉽게 이해하기/개발 쉽게 이해하기

XML과 XAML의 차이 쉽게 이야기하기

by Circlezoo 2022. 5. 7.

업무를 하다보면 XML이라는 단어를 많이 들을 수 밖에 없습니다.

XML이라는 게 뭐고 XAML이랑은 뭐가 다를까요?

 

Q. XML이란 무엇인가?

 

 우선 XML이란 eXtensible Markup Language라는 뜻으로 확장될 수 있는 표시 언어라는 의미를 가집니다.

확장될 수 있는 Markup Language라는 의미인데 이것을 알기 위해서 우리는 Markup Language를 알아봐야합니다.

 

Q. Markup 언어라는 것은 무엇인가?

 

 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를 명시하기위한 규칙들을 정의한 언어의 일종이다.

데이터를 기술한 언어라는 점에서 프로그래밍 언어와는 분명한 차이를 가지는 언어입니다. 

처음에는 교정 부호 등을 표기하는 데 사용하는 언어였었는 데 점차 용도가 확장되어 문서의 구조를 표현하도록 발전하였다고 합니다.

 

출처: StockSanp on Pixabay

 

 조금 더 쉽게 이야기해보도록 할까요?

프로그램을 책 한권이라고 생각해봅시다. 

책에 볼펜으로 밑줄을 긋거나 표기하는 행위를 마크업 행위의 일종이라고 볼 수 있습니다.

그래서 "책의 표지를 파란색으로 해주시고 제목은 중앙에 흰색 글씨로 크게 해주세요!" 라는 것도 마크업 행위의 일종이라고 볼 수 있는 것이죠.

 

 즉, 마크업 언어는 한번 작성하고 나면 언제 누가 어디서 보든 동일한 모습을 보여준다는 면에서 현실의 아날로그적인 기록매체와 유사한 역할을 한다고 볼 수 있습니다. 

 

 대표적인 마크업 언어 사용의 사례를 보게 되면 위키를 볼 수 있습니다. 위키 내에서 표를 넣고 기호를 이쁘게 넣고 이를 통해서 문서를 깔끔하게 작성할 수 있다는 점에서 위키 내에서 통용되는 문법을 기초로 마크업을 했다고 볼 수 있는 것이죠.

 

Q. 그럼 XML은 어딘가에 표시하거나 다른 사람에게 동일한 모습을 사용하기 위한 마크업 언어라는 것일까요?

 

 네! 우선 XML은 분명히 Markup 언어입니다. 하지만 조금 다른 점이 있는데요.

동일한 Markup언어인 HTML과 비교해서 봅시다.

 

출처: Markup Language - Wikipedia

 

HTML은 우리가 웹사이트에서 F12번을 눌러 개발자 도구를 보면 쉽게 볼 수 있는 언어로 Markup 언어의 일종입니다.

하지만 HTML은 미리 사전에 약속된 태그만을 사용할 수 있습니다.

<h1>은 제목이고 <body>는 본문이고 미리 정해진 약속대로 사용해야하는 것이죠.

 

 하지만 XML은 정해지지 않았고 사용자가 원하는 대로 만들어서 사용할 수 있습니다.

미리 약속해둔 대로 사용해야 언제 어디서든 다른 사람이 봐도 동일하게 볼 수 있는 Markup언어의 역할을 더 잘할 수 있을 것이라고 생각되는 데 왜 그렇게 하지 않았을까요?

 XML은 사용자가 태그를 통해서 데이터를 설명할 수 있도록 하기 위해서 사용자가 임의로 태그를 만들 수 있도록 하였습니다.

즉, 더 필요한 데이터가 추가될 경우 태그 자체를 추가하거나 태그 안의 내용을 추가할 수 있다는 것이죠.

바로 eXtensible하다라는 것이 이 부분때문입니다.

 기존 HTML은 데이터를 설명해 줄 수가 없습니다. 

 

 XML은 Markup 그 자체라기 보다는 Markup을 정의해주기 위한 언어에 더 가깝습니다.

 

Q. 그러면 XAML은 뭐가 다르죠?

 

 XAML은 eXtensible Application Markup Language의 약자로 MicroSoft에서 개발한 XML입니다.

XML언어인데 MS에서 개발한 것이죠.

보통 UI를 작성할 때 사용하고 개발 프로스세스에서 다른 도구와 데이터 교환을 담당합니다.

 

XAML Language 출처: MicroSoft

WPF에서 XAML언어로 UI를 만들고 있습니다.

 

 

출처: 

https://mommoo.tistory.com/17

 

XML 이란?

 오늘은 XML ( eXtensible Markup Language) 에 대해 포스팅 하겠다. 필자가 XML을 처음 본곳은 안드로이드 프로그래밍을 처음 접했을 때 이다. 안드로이드 프로그래밍은 기본적으로 JAVA언어를 채택하여

mommoo.tistory.com

https://namu.wiki/w/%EB%A7%88%ED%81%AC%EC%97%85%20%EC%96%B8%EC%96%B4

 

마크업 언어 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

https://docs.microsoft.com/ko-kr/visualstudio/xaml-tools/xaml-code-editor?view=vs-2022 

 

XAML 코드 편집기 - Visual Studio (Windows)

Visual Studio에서 XAML 코드 편집기 둘러보기

docs.microsoft.com

 

반응형

댓글