실버라이트 시작하기
 
우선 Visual Studio 2008 Beta 2 와 실버라이트 개발 툴을 설치를 하자.
 
훈스 닷넷 실버라이트 강좌 ( 실버라이트 개발 환경 설정하기 )
http://www.hoonsbara.com/hoonsboard.aspx?table_name=sivlerlighttip&board_idx=452919&page=1&keyword=&search=&boardmode=2

2009-06-20 아래의 경로는 접속할 수 없습니다
실버라이트 그림판 예제
http://umc.pe.kr/Sample/Silverlight/Silverlight-Picture/SilverlightPicture.html

 
새 프로젝트를 통해 Silverlight 프로젝트를 만들자.
 
새 프로젝트를 통해 Silverlight Project 만들기
 
실버라이트 프로젝트를 만들게 되면, 기본적으로 개발에 필요한 xaml 과 html, js 파일들이 만들어 진다.
 
그럼 Page_Loaded 에 다음과 같이 이벤트를 등록하는 코드를 작성해 보자.
 
public void Page_Loaded(object o, EventArgs e)
{
         InitializeComponent();
         this.MouseLeftButtonDown += new MouseEventHandler(Page_MouseLeftButtonDown);
         this.MouseLeftButtonUp += new MouseEventHandler(Page_MouseLeftButtonUp);
         this.MouseMove += new MouseEventHandler(Page_MouseMove);
}
 
실버라이트는 마우스 오픈쪽 버튼에 대한 이벤트가 제공되지 않는다.
웹에 표시된 후, 실버라이트 영역에서 마우스 오른쪽 버튼을 누르면 기본적으로
Silverlight Configuration 컨텍스트 메뉴가 뜨기 때문에, 제공되지 않는 듯 하다.
 
그럼 코드에서 등록한 이벤트 메서드를 보자.
 
private bool isDrawing = false;
private Point lastPoint = new Point();
 
void Page_MouseMove(object sender, MouseEventArgs e)
{
         if (!isDrawing) return;
         Line line = new Line();
         line.X1 = lastPoint.X;
         line.Y1 = lastPoint.Y;
         line.X2 = e.GetPosition(null).X;
         line.Y2 = e.GetPosition(null).Y;
         line.Stroke = new SolidColorBrush(Color.FromRgb(0, 0, 0));
         line.StrokeThickness = 2;
 
         Canvas canvas = ((Canvas)sender);
         canvas.Children.Add(line);
 
         lastPoint.X = e.GetPosition(null).X;
         lastPoint.Y = e.GetPosition(null).Y;
}
 
void Page_MouseLeftButtonUp(object sender, MouseEventArgs e)
{
         isDrawing = false;
}
 
void Page_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
         isDrawing = true;
         lastPoint.X = e.GetPosition(null).X;
         lastPoint.Y = e.GetPosition(null).Y;
}
 
그럼 위 소스를 실행해 보자.
 
소스코드 실행
 
 
과연 실버라이트?
 
위처럼 굉장히 짧은 코드로 자바스크립트로 표현하기 힘든 부분을 무척 간단하게 작성할 수 있다.
아마 최근 가장 이슈가 되고 있는 실버라이트… 과연, 실무에서도?
MS 엔 실버라이트가 있지만, 이미 광범위하게 Adobe 의 Flex 가 자리잡고 있다.
하지만, 그것이 문제는 아니다. Flex 진영에선 Flex 전문 디자이너 및 개발자가 있지만,
실버라이트는 개발, 디자인을 모두 개발자가 한다?
.NET 을 개발하고 있는 개발자에겐 무척이나 매력적인 기술이겠지만, 디자이너에겐
실버라이트와 Blend 툴이 밥줄이 될 수 있을까 하는 걱정이다.
Xaml 과 같은 마크업 랭귀지의 등장이 디자이너와 개발자의 업무를 분리시키는 동시에
협업에 파격적인 변화를 줄거라고 생각하지만,
위의 디자이너 영역을 개발자가 왠지 떠맡게 될 것 같은 느낌이 드는건 나만 그럴까?
우리나라와 같은 기형적인 IT 환경에선 충분히 가능한 업무구조가 될 것 같다.
아무튼, 가장 주목받고 있는 기술인 만큼 그 릴리즈를 무척 기대해보며 이만 마친다.
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by 땡초 POWERUMC

댓글을 달아 주세요