blahblah.egloos.com

by 쌍부라

노예는 주인의 호사는 당연하게 여기면서
다른 노예의 나은 처지는 참질 못한다.
내가 잘 사는 세상이 되었으면 좋겠어요
마크업 언어는 정말 편리한가? -_-;
Acropolis, CTP1 공개 - 철수님의 블로그에서.

UI 개발이 점점 더 편리해지고 있다. Visual C++보다는 Visual Basic에서의 UI 개발이 더 편리하다. 그런데 그 Visual Basic보다도 닷넷에서의 개발은 더 편리하다(라고 생각한다). 또한 UI가 리소스나 폼 형태로 별도로 빠져있던 때와는 달리, 닷넷에서 UI 디자이너를 써서 프로그램을 작성하면 완벽한 언어 코드가 생성된다. 별도의 리소스 컴파일러 같은 것이 없더라도 코드만으로도 컴파일이 된다.

한편, 웹과 HTML은 분명히 성공했다. 분명히 화려하고 쓰기 편한 UI 개발을 위해 모든 것을 제공하지는 않지만, 상대적으로 만들기 쉬웠는지(?) 많이 쓰였고, 인터넷 혁명을 불러오는 것에 크게 공헌한 것이 사실.

웹 개발을 해본 분이라면, Adobe Flex, Java Server Page나 Microsoft ASP.NET 등의 페이지 개발이 어떻게 이루어지는지 얼추 감을 잡을 것이다. (사실 플렉스는 잘 모른다. MXML 샘플만 봤을 뿐이니 그냥 그런갑다 해쥬ㅅ.. JSP도 교재 읽어본게 전부;) 페이지 내에 로직을 섞어 넣기도 하지만 기본적으로 사용되는 컴포넌트를 마크업으로 기술한 페이지와 그 뒤에서 컴포넌트 간의 상호 작용을 이어주는 로직 코드로 되어 있고, 페이지를 이렇게 구성하는 것은 사실 HTML 등의 마크업 언어를 이용한 개발 경험이 있는 사람들이 비슷한 방법으로 넘어오도록 하려는 것이 아닌가 하고 나는 생각한다. 또한 이러한 서버쪽 기술은 그 페이지를 돌려주는 기반 프로그램(= 프레임웍)이 알아서 페이지 내용을 컴파일해서 실행 프로그램으로 만들어서 돌려주게 되므로 리소스와 코드를 별도로 컴파일해줄 필요가 없다. (역시나 코드는 컴파일해서 돌리기도 하지만 딴지는 금물)

ASP.NET을 내놓은 마소가 아주 마크업에 재미를 붙였는지, .NET 3.0의 Windows Presentation Foundation이라는 UI 기술에서는 아예 XAML이라는 마크업 언어가 들어가 있다. 플래시 대항마로 내놓은 Microsoft Silverlight도 마찬가지라서, UI를 XAML이라는 마크업 언어로 작성하고 (물론 프로그램을 짜서 만들 수도 있지만) 뒤에서 실제로 처리하는 코드와 결합시키도록 되어 있다.

..그리고 이제 마크업 언어로 윈도우 애플리케이션의 UI를 설계하려는 Microsoft Codename Acropolis가 CTP (베타보다 조금 불안한 수준의 소프트웨어를 계속계속 공개해나가는 정책) 형태로 공개가 되었다. 어떤 면에서 보면 다시 UI 작성에 필요한 리소스와 코드가 분리된 셈이네..

그런데, 이제와서 묻기는 좀 뻘쭘한데, 마크업 언어로 개발하면 정말 편한가? -_-;

textBox1.Text = "xxxx" 대신 <xxxx:textBox id="textBox1" text="xxxx" /> 라고 적는 것이 더 편하게 짤 수 있는 방법인가? 난 HTML을 배울 때도 HTML이 편리해서 많이 퍼졌다는 생각은 사실 해보지 않았다. 그냥 다들 쓰니까 배운 거지.. 그런데 좀 느슨하게 짜도 되는 HTML과는 달리 저렇게 XML을 이용한 마크업의 경우 예외를 인정하지 않고, XML에 대해서 조금이라도 알아야 뭘 수정했을 때 문제가 안나게 하든지, 왜 문제가 되는지 알 수 있다. 게다가 UI 디자이너가 없는 경우 저 프로퍼티 다 외워서 치려면 한나절 지나간다. 뭐 이점은 C# 등을 이용해서 만들어 쓸때도 마찬가지이긴 하지만 후-후-

..요는 이거다.
<Awx:PartView x:Class="Notepad.NotepadPartView"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:Awx="clr-namespace:Microsoft.Acropolis.Windows;assembly=Microsoft.Acropolis.Windows"
  Title="{Binding Part.Title}"
  Width="Auto" Height="Auto" >

 <Grid>
  <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"
   Text="{Binding Part.Title}"/>
 </Grid>
</Awx:PartView>

라든지

<TextBox Name="NotepadTextbox" Text="{Binding Path=NotepadText.Value,
 Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
 ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto"
 FontFamily="Consolas" FontSize="16" FontWeight="Normal" Width="Auto" Height="Auto"
 AcceptsReturn="True" AcceptsTab="True" Margin="5" ToolTip="{Binding Path=Name}" />

이렇게 마크업을 통해 속성을 좍 서술하는 방법의 개발이 정말 앞선 것인지 묻고 싶다는 거다 -_-;

사실은 이런 것도 숨어있다. ㅆㅂ 있는 것 배워서 쓰기도 바빠 뒈지는데 뭘 자꾸 내놓아서 당황하게 만드냐능....
by 쌍부라 | 2007/06/05 22:49 | 재미없는 이야기 | 트랙백

<< 이전 페이지 다음 페이지 >>

카테고리
이글루 파인더
최근 등록된 트랙백
메뉴릿


rss

skin by 이글루스