BLOG ARTICLE .NET 3.0 | 1 ARTICLE FOUND

  1. 2007.02.01 HelloWorld for Windows Vista by Expression Blend

많은 관심/무관심 속에 Windows Vista가 정식 런칭되었다. 이번만큼 OS의 향상된 변화의 폭을 가늠하기 애매한 때가 없었던 거 같다. Win16, Win32에 이은 새로운 API 체계인 WinFX를 갖추었지만, WinFX는 결국 .NET 3.0 Framework이기 때문에 획기적이라 부르기에 논란의 여지가 있다. Epic 개발자 발언으로 논란이 되고 있는 DX10 역시 비스타전용으로 분류되기엔 무리가 있다. (이미 발표된 DirectX 2006 Dec. 버전에서 DX10의 기능을 XP에서 개발/활용할 수 있다.)

몇주전에 .NET 3.0 Framework을 깔고나서 Visual Studio.NET 2005(이하 VS.NET)의 Form Designer에 비약적인 성능하락이 있었기 때문에(이벤트와 커맨드를 UI에서 연결해주는 기능이 사라졌다;;), Expression Blend를 오늘 수업사이 남는 시간에 깔아보았다. (* Expression Blend는 별도의 프로그램으로 어플리케이션 개발에서 프리센테이션 레이어인 XAML만을 디자인하는 도구이다.)

M$ Expression Blend의 첫 소감을 말하자면 VS.NET Form Designer + Adobe Flash + Maya 정도랄까, 매우 상이한 여러개의 카테고리가 엉성한 틀안에 공존하는 느낌이다. XAML를 기본으로 하여 폼을 디자인하고 리소스들을 배열하고, Flash와 같이 Timeline을 생성하여 각 구성요소의 애니메이션을 정의하고 트리거를 연결할 수 있다. 또한, 3D 객체와 Material을 불러와 버튼이나 구성요소등으로 활용할 수 있으며, 3D 객체 역시 Timeline을 이용하여 모든 속성(Material, Camera, Translation, ...) 등을 애니메이션할 수 있다.

분명 디자이너를 위한 툴인데, 이 모든걸 소화할 디자이너가 과연 몇이나 있을까...

짬을 내서 만들어본 Hello World. 비정형 윈도우에 3D 객체를 불러온다음, Canvas를 만들고 그 위에 3D 객체의 랜더링 결과를 Visual Brush로 만들어 연결하고 Flip시켜서 Reflection 비스무리한 효과를 만들었다. 그런다음 각 개체의 Animation을 Timeline을 생성하여 만들고, 트리거를 이용하여 마우스 Interaction에 적당히 연결해 놓았다.

결과는 나쁘지 않은데, 비정형 윈도우에서 3D 객체와 이미지들이 알파(투명도)가 먹은채로 잘도 돌아간다. 3D 객체라도 윈도우 기본 이벤트를 모두 내포하고 있기 때문에 버튼이나 기타 컨트롤로 100% 활용이 가능하다. (오른쪽의 병은 마우스 포커스시 Diffuse Color가 Blue로 변하며 클릭시 X Scale이 커지게 되어 있다.) 구경하던 친구말대로 "Application"에 대한 정의를 바꿔놓을 수 있는 잠재성이 있어 보인다.

툴의 단점을 나열하자면, 너무나 많은 부분을 담고 있기 때문에 세세한 부분에서 부족한 점들이 있다. 애니메이션 객체를 지우면 코드에 적용이 안되서 실행시 에러가 난다던지, Timeline 애니메이션에서 Curve Interpolation이 지원안된다던지, 3D 객체를 불러와도 3D 애니메이션은 불러오지 못한다던지, 텍스쳐 적용이 안되고, 쉐이더 역시 사용불가이고, Timeline 애니메이션이 Reverse Play Control이 안되고, Repeat 설정은 XAML에서 직접 해줘야 한다던지, 말하자면 끝이 없다. 차라리 Flash나 Maya에서 디자인된 결과를 XAML 테그로 Export하는 기능이 있는게 나을듯 하다.

Vista의 에어로UI의 룩앤필을 가지고 OS X보다 못하다던지, 그냥 구리다던지 비평하시는 분들이 많은데, 압도적인 기술을 가지고도 멋진 UI를 만들어내지 못하는 M$는 역시나 개발자의 회사임이 틀림없다. 3D 모델이나 효과, 그리고 벡터가 접목된 Vista의 UI는 아직까지 UI 디자이너들의 관심이 절실히 필요한 부분임에 틀림없다.

Hello World 다운 받기(XP이하에선 .NET 3.0 필요)

.NET 3.0 Runtime 다운 받기
AND