Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Silverlight 1.0 시작하기

지난 주 부터 실버라이트 교육을 받고 있다. 가끔 회사에서 직장인 환급 교육관련해서 메일이 오곤 했는데 그닥 눈에 띄는 것도 없고 교육에 대한 자세한 내용도 없고 해서 크게 신뢰할 수도 없다보니 그냥 항상 지나쳤었는데 이번 교육과정들은 웹개발쪽만 있어서 고민을 좀 했는데 마침 실버라이트 1.0/2.0 강좌가 눈에 띄어서 듣기로 했다.

어차피 내돈은 한푼도 안드는거고 주말에 시간만 좀 투자해 주면 되는거였기 때문에... ㅎㅎ 실버라이트 혹은 RIA관련 기술에 대한 관심이 계속 있었지만 다른 일에 치여서(핑계겠지만...) 시작을 전혀 못하고 있었는데 교육을 받으면 반강제(?)적으로도 하게 되고 새로운 랭귀지라서 기초만 좀 익히면 그 다음은 혼자서도 어느정도 할 수 있을 것이라고 생각을 해서 신청을 했다. 그래도 8주 주말 압박은 좀.. ㅡ..ㅡ




어쨌든 지금은 실버라이트 1.0을 배우고 있다. 내가 좀 착각하고 있던 것이 1.1을 없어지다 보니까 1.0도 신경을 안써버리게 된것.... ㅡ..ㅡ

일단 시작이니까 실버라이트 얘기를 좀 하면 MS가 작년에 RIA기술로 실버라이트1.0이라는 기술을 발표했다. 실버라이트는 웹에서 사용할 수 있는 RIA기술로서 윈도우즈 Vista가 출시되면서 등장했던 WPF의 일부기능을 추려서 실버라이트라고 내 놓은 것이다. RIA시장은 현재는 Flash/Flex가 장악하고 있다고 생각하고 있고 실버라이트가 최근에 치고 올라오고 있고 그 외에도  OpenLaszlo나 JavaFX등이 있다.



실버라이트는 브라우저별로 실버라이트 런타임만 설치하면 사용할 수 있기 때문에 플래시 플레이어처럼 어느정도 보급만 되면 불편없이 자연스럽게 사용할 수 있다. 자세한 내용은 잘 모르지만 리눅스 쪽에서도 문라이트라는 녀석이 있어서 리눅스에서도 실버라이트를 볼 수 있다.(실제로는 호환성이 어떤지 모르겠지만... 지금도 베타가 계속나오는 통에 윈도우에서도 런타임 설치에 좀 문제가 있는듯... 파폭에서 잘 설치 안될때도 많고... ㅎ)

실버라이트 1.0은 자바스크립트와 XAML로 이루어져 있다. 그래픽적인 요소들의 정보를 XAML이라는 이름의 XML로 가지고 있고 이것을 자바스크립트로 다루어서 동작하도록 할 수있다. 블랜드라는 툴을 이용해서 디자이너들은 XAML파일을 내보낼 수 있고 개발자는 XAML파일을 이용해서 비쥬얼 스튜디오로 실버라이트 개발을 할 수 있는 협업구조이다.(이런 형태의 협업은 Flex쪽에서도 거의 동일한듯....)

1.0은 내가 보기에는 발표정도의 의미가 강하다. MS가 우리 이런거 한다 하면서 시장 분위기 조성하고 준비하기 위한.... 모두가 알고 있듯이 진짜는 실버라이트 2.0에 있다. 원래는 1.0을 출시하고 올해 1.1을 출시하려고 했지만 MS에서 준비하다보니 1.1의 분량이 너무 많아서 1.1의 이름은 2.0으로 변경하였다. 2.0에서는 C#을 포함하여 여러가지 언어를 지원하고(정확한 지원 언어에 대해서 못찾겠네) 1.0에서 안되던 많은 부분을 지원하고 있어서 많은 사람들이 기대를 하고 있고 현재 Beta 2까지 나와있는상태이다.





일단 실버라이트를 돌려보자. 새로운 언어를 만나면 시작이 Hello World이듯이 실버라이트도 일단 띄워야 멀 하든지 말든지 할 것 아닌가. 현재 실버라이트 1.0에 대해서만 배우고 있는 관계로 일단 1.0에 대해서만 얘기한다. 2.0은 추후에....


<object type="application/x-silverlight" id="silverlightControl" width="300" height="300">
    <param name="source" value="XMLFile.xaml"/>
    <param name="background" value="#1b2d3d" />
    <param name="onError" value="onSilverlightError"/>
</object>


Html파일안에 위처럼 Object태그로 이용해서 삽입할 수 있다.  background속성은 페이지의 배경색과 맞추기 위해서 넣은 속성이다. source 프로퍼티로 XAML파일을 지정해 준다. 어떤 내용을 어떻게 보여줄 지에 대한 정보를 답고 있다. 여기서는 간단한 도형만 보여준다.


<Canvas xmlns="http://schemas.microsoft.com/client/2007"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Ellipse Height="200" Width="200" Stroke="Black" StrokeThickness="10" Fill="SlateBlue" />
</Canvas>


위의 XAML파일은 Silverlight 1.0 QuickStarts에서 가져왔다. XAML에 대한 내용을 작성하기는 양도 많고 어디서 부터 해야할 지도 몰라서...



물론 실버라이트를 보려면 실버라이트 런타임이 설치 되어 있어야 하고 실버라이트가 설치되어 있지 않을때 자동적으로 인스톨링크가 연결된다거나 하는 처리는 되어 있지 않다. 실버라이트를 설치하려면 실버라이트 설치페이지를 통해서 설치할 수 있다. 책에는 Object태그로 실버리아트를 임베드하는 것은 사파리에서는 돌아가지 않아서 embed태그를 써야한다는데 런타임이 2.0으로 업데이트되서인지 지금은 object태그로 4대브라우저(IE, 파이어폭스, 오페라, 사파리)에서 다 잘 돌아간다.


덧) 이것저것 배우고 있기는 한데 아직 정리가 안되서 포스팅하기가 쉽지 않네....
2008/08/04 02:06 2008/08/04 02:06