지난 시간까지는 Eclipse4SL을 사용하기 위한 환경설정까지 해 보았습니다. 이번 시간에는 대망(?)의 Hello World의 작성방법에 대해서 살펴 보도록 하겠습니다. Eclipse는 Java 이외에도 다양한 언어를 추가적으로 지원하기 위해서 Perspective라는 기능이 있습니다. 해당 개발 언어에 따라서 다른 인텔리센스나 환경을 제공하기 위한 것으로 Eclipse4SL을 설치하게 되면 Silverlight Perspective가 함께 설치 됩니다.
Windows –> Open Perspective –> Other… 안에 Silverlight와 관련된 항목을 찾을 수 있습니다.
추가적으로 Plugin을 확장해 나가면 여기에 Perspective가 계속 추가되는 것을 볼 수 있습니다. Visual Studio에서도 Plugin이라는 용어 대신에 Add-in이라고 불리는 방식에 의해서 계속해서 기능이 확장이 가능한데 최근에는 Visual Studio에서 Flex 개발이 가능해지고 있는 것과 같은 방식이 모두 Add-in에 의해서 추가된 기능입니다.
이제 새로운 프로젝트를 하나를 만들어 보겠습니다.
File –> New –> Silverlight Web Project 를 선택해서 새로운 프로젝트를 시작합니다. Silverlight Perspective가 선택되어 있으면 New에서 바로 선택할 수 있고 그렇지 않은 경우는 Silverlight 항목을 찾아서 선택하셔야 합니다.
Silverlight와 관련한 Project Template은 두 가지 타입이 있는데
- Silverlight project
- Silverlight Web Project
이와 같이 두 가지가 있습니다. Silverlight Project는 Silvelight만 개발하기 위한 프로젝트를 생성해 주고 Silverlight Web Project를 선택하게 되면 Silverlight project와 함께 Silverlight를 실행시키는데 필요한 Web Project도 함께 생성해 줍니다. 편리하게 개발하고 테스트를 하기 위해서는 Silverlight Web Project를 선택할 것을 추천해 드립니다.
Silverlight 프로젝트를 생성하기 위해서는 마지막으로 프로젝트 이름을 입력하면 됩니다. 여기서는 HelloWorldTutorial이라는 이름으로 프로젝트를 생성 합니다.
프로젝트가 생성되고 나면 아래와 같은 프로젝트 구조를 볼 수 있습니다.
여기 캡쳐 화면에는 4개의 프로젝트가 보이는데 DataGridTutorial과 DataGridTutorial.Web은 다른 용도로 미리 만들어 둔 것이기 때문에 무시해 주시기 바랍니다. 실제로 지금 만들어진 것은 HelloWorldTutorial과 HelloWorldTutoroal.Web 두 개의 프로젝트 입니다. HelloWorldTutorial이 Silverlight 프로젝트 입니다.
Project를 생성하자 마자 바로 실행시켜 볼 수도 있습니다. 물론 실행은 시킬 수 있지만 아무것도 없는 흰색 바탕의 Web page만 볼 수 있습니다.
실행을 시켜보고 나서 HelloWorldTutorial.Web 을 다시 잘 살펴보게 되면 ClientBin 폴더안에 HelloWroldTutorial.xap 파일이 생성된 것을 볼 수 있습니다. *.xap는 Silverlight개 배포될 때 사용하는 압축 포멧입니다.
이제 Silverlight project에 button을 하나 추가해 보도록 하겠습니다.
‘
Palette 안에 Silverlight에서 사용할 수 있는 컨트롤들이 이미 정리가 잘 되어 있는 것을 볼 수 있습니다. 이중에서 버튼을 선택하고 추가하게 되면 XAML상에는 아래와 같은 Tag가 삽입됩니다.
<Button x:Name="MyButton" Content="Push Me !" Width="100" Height="50" />
이제 이렇게 추가된 버튼에 이벤트 핸들러를 작성해 보겠습니다. 이벤트 핸들러는 C# 차원의 소스에서 추가하셔도 되겠지만 XAML상에서 추가하는게 여러모로 편리 합니다.
Click이라고 이벤트를 입력하고 잠시 기다리게 되면 Visual Studio와 마찬가지로 인텔리센스 기능이 동작하면서 이벤트 헨들러의 작성을 도와줍니다.
이벤트 핸들러에서 ButtonClick이라고 명명하고 OK를 누르게 되면 이벤트 핸들러가 작성됩니다.
작성된 이벤트 핸들러에 아래와 같이 소스를 입력해 봅니다.
/**
* Event handler of <code>ButtonClick</code>.
*/
private void ButtonClick(object sender, RoutedEventArgs arg1) {
MyButton.Content = "Pushed";
}
그리고 내서 실행을 시켜보고 버튼을 클릭해 보면 버튼의 텍스트가 Pushed로 바뀌는 것을 볼 수 있습니다.
여기까지 잘 따라 오셨다면 Eclipse를 가지고도 Silverlight를 잘 다룰 수 있는 기본 준비가 완료되었습니다.
이렇게 Eclipse를 가지고 Silverlight 작업을 할 수도 있지만 Visual Studio나 혹은 Expression Studio를 함께 활용하시면 좀 더 편리하게 개발을 하실 수 있을 것 같습니다.
다음에 좀 더 시간이 나게 되면 Java기반의 웹 서비스와 연동하는 부분을 계속해서 설명해 드리도록 하겠습니다.
감사합니다.
댓글을 달아 주세요