Programmer/Silverlight - 해당되는 글 4건

SilverlightOverview&Silverlight2.0
김도영(동영상본부 동영상개발팀)

1. 서론
 ★ 요즘 RIA형 서비스가 증가하면서 사용자 요구사항도 증가하고 있으며 이를 위한 플랫폼도 쏟아지고 있습니다.
 ★ 대표적인 플랫폼으로 Adobe사의 Flesh, Flex, Air 등이 시장에 많은 부분을 차지하고 있습니다.
 ★ 저는 MS사에서 2005년부터 개발하고 작년부터 본격 오픈을 시작한 Silverlight에 대해 간략한 소개를 드릴까합니다.


2 What's Silverlight?
 ★ 필자에게 Silverlight는 무엇입니까? 라고 질문을 하시는 분이 있다면 가장 간단하게 RIA를 개발할 수 있는 환경을 제공하는 Microsoft사(이하 MS사)의 RIA 플랫폼이라고 답변을 드리고 싶습니다.

 2-1 MS사의 설명
 ★ Microsoft Silverlight는 웹에서 사용할 차세대 .NET 기반 미디어 환경 및 풍부한 대화형 애플리케이션을 제공하기 위한 다중 브라우저, 다중 플랫폼 플러그인입니다.
 ★ 원문 : http://www.microsoft.com/korea/msdn/asp.net/bb187358.aspx


3. RIA

 ★ RIA는 Rich Internet Application의 약자로 2002년 MacroMedia사에서 처음 소개 되었으며 HTML 표현의 한계를 극복하고 웹 한 페이지 내에서 동작 될 수 있는 웹 어플리케이션입니다.

 3-1 RIA의 장점

 ★ 네트워크 효율성 증가
    ☆ Ajax의 기본개념인 전체 페이지가 아닌 갱신이 필요한 데이터만 서버에 요청하여 페이지를 변경하기 때문에 네트워크 효율성 증가 및 서버의 기능을 향상을 기대할 수 있습니다.
 ★ 인터페이스 향상
    ☆ HTML, Javascript에서는 표현이 어려운 인터페이스 및 애니메이션도 쉽게 개발 및 표현이 가능합니다.

 3-2 RIA의 단점

 ★ 사용자 경험의 재고
    ☆ RIA는 체크 박스를 둥글게 만든다거나 버튼을 세모로도 표현이 가능하기 때문에 사용자는 기존의 사용자경험이 무시되고 다른형식의 어플리케이션에 대한 경험을 통해 RIA에 적응해야 하는 상황이 발생할 수도 있습니다ㅏ.
 ★ 검색의 제한
    ☆ Silverlight의 경우 XAML(자믈 or 재믈)이라고 불리는 XML 형태의 파일 또는 DLL로 구현되는 RIA용 언어는 검색엔진에 노출되기 힘든 단점을 가지고 있습니다.


4 Silverlight의 시작 코드명 WPF/E(Windows Presentation Foundation/Everywhere)

 ★ '''05년''' .Net Framework 3.0버전이 개발되면서 WPF(Windows Presentation Foundation)라는 새로운 기능이 공개 되었고 WPF의 기능을 웹상에서 표현 가능하게 하자는 최초 의도로 개발되었습니다.

 4-1 WPF의 대표기능

 ★ WPF는 금번 TechNote의 주제와는 벗어나지만 최초 WPF/E의 코드명으로 개발된 Silverlight의 변화에 쉽게 접근하기 위해 간단한 기능만 다루도록 하겠습니다.
  4-1-1 백터표현방식의 그래픽표현
  ★ WPF에서는 기존의 점을 이용한 표현방식에서 탈피하여 선의 단위로 표현가능한 벡터 표현방식을 지원합니다.
  ★ WPF라는 단일 기술을 통해 광범위한 기능을 제공하면 최신 사용자 인터페이스를 훨씬 쉽게 구현할 수 있다는 장점이 있습니다
  ★ 아래의 그림은 벡터표현방식으로 구성된 WPF App의 화면입니다.
 

사용자 삽입 이미지

 4-1-2 3D랜더링 지원
 ★ WPF에서는 별도의 3D랜더링 모듈을 설치하지 않아도 3D 표현 및 관련 Application을 쉽게 개발할 수 있습니다.
 ★ 아래 링크는 WPF를 이용하여 개발된 웹사이트입니다.(링크 페이지는 .Net Framework가 설치되어있지 않으면 표현이 불가합니다.]
[ http://www.dosv.jp/parts_assembler/PartsAssembler.xbap ]


5 Silverlight ver 1.0

 ★ 2007년 4월 Silverlight 1.0 베타버전 오픈
 ★  당시에는 런타임 사이즈가 1.5MB로 타 MS사이트 설치 런타임 사이즈에 비해 많은 경량화를 이룬 버전이라고 할 수 있습니다.
 ★ 1.0버전은 2007년 11월 정식버전 오픈

 5-1 1.0 버전의 특징

  5-1-1- Javascript
 ★ Silverlight의 최초버전은 Javascript로만 동작하도록 되어 배포되었습니다.
 ★ 아래 소스코드는 Silverlight 1.0 버전을 포함한 웹페이지에서 Silverlight를 로딩할 수 있도록 해주는 코드입니다.
 ★ (아래 js파일은 Visual Studio에서 Silverlight 프로젝트를 생성할 때 자동포함되는 파일입니다.)
{{{
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript" src="createSilverlight.js"></script>

}}}

  5-1-2 XAML
 ★ 앞서 잠시 언급되었던 XAML(자믈 또는 재믈 코드라 불림)코드가 1.0 버전부터 등장하게 되며
 ★ 실제 Microsoft사의 사이트 내에서 사용되기 시작한 버전이기도 합니다.
 ★ XAML코드는 아래와 같이 흔히 볼수 있는 Html 코드와 비슷하며 XAM형태로 구성되어 있어 가독성과 개발이 쉽습니다.
 ★ 이러한 형태의 코드는 Adobe사의 Flex의 코드와도 매우 비슷합니다.

    <Canvas Width="250" Height="200">
            <Rectangle Canvas.Top="25" Canvas.Left="25" Width="200" Height="150" Fill="Black" />
    </Canvas>



 5-2 1.0 버전에서 발견된 단점

 ★ 1.0버전은 런타임 사이즈를 경량화 하여 1.5MB대로 낮추었지만 실제 개발시에 제공되는 Namespace나 컨트롤은 현저하게 부족한 상태로 오픈이 되었습니다.
 ★ 당시에는 이벤트 핸들링 또는 서비스 호출등에 Javascript를 통해야 했기때문에 생산성도 떨어졌습니다.


6 Silverlight ver 1.1 (Alpha Refresh)

 ★ 2007년 5월 Silverlight 1.1 알파버전 오픈
 ★ Silverlight 1.0 베타 버전이 출시되고 1달 후 1.1알파 버전이 출시되어 많은 사람의 혼란을 초래한 버전이기도 했습니다.
 ★ 1.0버전은 2007년 9월 1.1 Alpha Refresh 버전 오픈

 6-1 1.1 버전의 특징
  6-1-1 CLR / DRL 추가
 ★ 기존의 1.0 Beta버전의 기능 포함
 ★ Silverlight 1.1 Alpha 에서는 MS사 .Net 런타임 언어인 CLR기능이 추가되어 일부 .Net의 기능을 사용할 수 있수 있습니다.
 ★ 루비, 파이선 등의 언어를 사용하여 개발이 가능하도록 DLR(Dynamic Language Runtime)을 지원하였습니다.
  6-1-2 미디어 기능 강화 및 실제 서비스 등장
 ★ Flash가 대부분의 웹 동영상 플래이어 시장을 독식하다 시피하는 상황에서 Silverlight 1.1버전의 미디어 기능 제공은 새로운 경쟁구도를 만드는 계기가 되었습니다.
 ★ 1.1버전이 출시 되면서부터 실제 서비스가 등장하기도 했습니다. (SBS, M-net, Nexon 등)
 ★ 아래는 실제로 서비스되고 있는 SBS의 NView 서비스 링크 입니다.
 [ http://news.sbs.co.kr/nview/nview_index.jsp?news_id=N1000396923 ]
  6-2 1.1 버전에서 발견된 단점
 ★ Silverlight 1.1버전에서 .NET의 런타임 언어를 지원하면서 .Net Framework가 설치되어야 실행되는 단점이 있습니다.


7 Silverlight ver 2.0 베타

 ★ 2008년 3월 6일 Silverlight 2.0 Beta 공개
 ★ Silverlight가 공개된지 약 1년. 그간 공개된 버전은 1.0 Beta, 1.1 Alpha, 1.1 Alpha Refresh, 1.0 정식(오픈날짜 순) 입니다..
 ★ 그러나 지난 3월초 1.1정식이 아닌 2.0이 공개되었습니다. 국내 많은 Silverlight개발자 및 관심을 가졌던 사람들은 당황하였습니다.

  7-1 왜 갑자기 2.0 인가?
 ★ 최초 1.0버전과 1.1버전을 동시 개발중이던 MS에서는 1.0을 정식 오픈하고 차후 버전이라 생각한 1.1버전을 개발중에 1.0버전에 비해서는 너무 많은 변화를 시도했기 때문에 1.1이 아닌 2.0으로 출시 했다는 애기입니다.
 
  7-2 무엇이 변하였는가?

 ★ 처음부터 읽으신 분들은 Silverlight의 코드명을 기억하실 것입니다. '''WPF/E!!''' 그러나 1.0, 1.1버전 설명에서는 코드명과 무관 하다는것을 느낄수가 있는데요. 2.0 Beta가 공개되면서 원래 코드명과의 컨셉이 비슷해지기 시작했습니다.
  7-2-1 런타임의 변화
 ★ 1.0 버전은 Javascript에 의해 구동되었으며 1.1 버전은 CLR/DRL에 의해 구동되었었습니다.
 ★ 2.0에서는 .Net Framework를 필요기능만 추출하여 간소화하면서 Silverlight용 Framework를 탑재 하였습니다.
 ★ 기존의 1.0버전의 1.5MB의 용량보다는 많고 .Net Framework 3.0에 종속되었다는 1.1버전(4.5MB)보다는 경량화된 4.3MB으로 최초 공개 되었습니다.
 ★ Silverlight 2.0 Runtime 설치 [ http://www.microsoft.com/silverlight/resources/installationFiles.aspx?v=2.0 ]
  7-2-2 WPF UI 프레임워크 지원
 ★ Silverlight 2에서는 보다 쉽게 RIA형 Application을 만들수 있도록 WPF기반의 자체 UI Framework를 포함합니다.
 ★ 강력한 그래픽표현, 애니메이션 엔진의 제공하며 컨트롤, 레이아웃 도구, Data Binding, 스타일 등 상위레벨의 UI기능을 제공합니다.
 ★ 또한, .Net Framework 3.0이상버전의 WPF UI 프레임워크의 일부기능과 호환 가능합니다. (Silverlight 자체 Framework에 의해)
  7-2-3 풍부한 컨트롤 제공
 ★ 1.0버전은 정식 오픈을 했지만 컨트롤을 10개미만으로 제공하며 심지어 버튼기능도 없어 개발자가 직접 만들어 써야 하였습니다.
 ★ 이런 불편함을 해소하기 위해 2.0버전에서는 WPF의 대부분 컨트롤을 지원합니다. (아래 표 참고)


1.1 (Alpha) 1.1 (planned = 2.0) WPF
Button Sample Yes Yes
TextBox No Yes Yes
Scrollbar Sample Yes Yes
Slider Sample Yes Yes
ListBox Sample Yes Yes
CheckBox No Yes Yes
RadioButton No Yes Yes
ComboBox No Yes Yes
TreeView No No Yes
RichTextBox No No Yes
DataGrid No No 3rd party
UserControl Yes Yes Yes
Canvas Yes Yes Yes
Grid No Yes Yes
StackPanel No Yes Yes
ViewBox No Yes Yes
Mouse Event No Yes Yes
Keyboard Event Partial Yes Yes
Resource dictionary Partial Yes Yes
Data binding No Yes Yes
Styling No Yes Yes
3D vector graphics No No Yes
GPU 하드웨어 가속 No No Yes
Out of browser No No Yes
Cross 플랫폼 Yes Yes No


7-3 풍부한 네트워크기능 제공
 ★ Silverlight 2.0에서는 REST, POX, RSS, WS*, SOAP 방식과 같은 통신을 지원합니다. 또한 2.0 버전부터는 실버라이트 클라이언트가
 ★ 웹상의 소스로부터 직접 데이터와 리소스를 접근할 수 있게 하는 크로스 도메인을 지원하며 Beta 1에서는 소켓 네트워킹 기능을 제공합니다
  7-3-1 .Net 기능의 풍부한 기반 클래그 라이브러리 지원
 ★ 2.0 버전에서는 .Net 기반에서 지원하던 풍부한 클래스 라이브러리의 기능들을 포함할 예정이라고 합니다.
 ★ 포함예정 라이브러리로는 Collection(ArrayList제외 List형 지원), IO, generics, Threading, globalization, XML 등의 기능들 입니다.
 ★ 또한 .Net Framework가 3.0에서 3.5로의 업그레이드 핵심이였던 LINQ기능과 풍부한 HTML DOM API가 포함된다고 합니다.


8 결론

 ★앞으로 많은 변화를 꾀하는 MS사의 Silverlight와 Adobe사 Flex 3.0과 Air에 대한 변화와 경쟁구도에 주목할 만하다고 생각합니다.
 ★또한 현재 RIA에서 많은 부분을 차지하는 Flash와 장단점을 꾸준히 벤치마킹하여 각각의 장점을 살린 서비스를 생각해 볼 만할거라 생각합니다.


9 참고 문헌

 ★Microsoftwere 2월호 - 2008년을 뜨겁게 달굴 웹개발 기대주 Best 5

10  참고 사이트
 ★ [ http://silverlight.net/ ]
 ★ [ http://www.hoons.kr ]
 ★ [ http://cafe.naver.com/mssilverlight.cafe ]


|
한국MS, 한국 사용자 의견 반영 프로그램 실시
2008년 03월 11일 17:43:02 / 심재석 기자 sjs@ddaily.co.kr

한국마이크로소프트(www.microsoft.com/korea, 사장 유재성)는 자사의 차세대 웹 플랫폼 기술인 ‘실버라이트 2.0’ 한국 사용자 의견 반영 프로그램을 진행한다고 11일 밝혔다.
 
이 프로그램은 한국MS가 신제품 및 신기술을 미리 사용해 보는 프로그램으로, 지난 해 ‘비주얼 스튜디오 2008’을 출시 당시 처음 선보였다.

MS는 실제 사용자 시나리오를 통해 제품의 버그를 발견, 수정함으로써 제품의 질을 향상시키고 고객의 의견을 개발 프로젝트에 반영한다.

한국MS 소프트웨어 연구소는 엄격한 심사를 통해 다음 커뮤니케이션, 보체웹, CJ인터넷, iMBC, IMC게임스, 투비소프트 등 6개사를 참여 회사로 선정했다.

선정된 업체는 향후 6개월 동안 한국MS 소프트웨어 연구소에 버그, 제안 사항 등 제품에 대한 의견과 사용자 시나리오 등을 제공하게 된다.

<심재석 기자> sjs@ddaily.co.kr

위 기사는 디지털데일리에 심재석 기자님이 작성하신 기사로 저작권 및

권한은 심재석 기자님께 있으며 작성자의 요청시에는 삭제하도록 하겠습니다

|
아래 사항은 금일 14시부터 진행된 Velocity, Silverlight 팀내 세미나 중 Silverlight 세션에서 발표했던

내용입니다. 첨부파일은 프리젠테이션 자료이며 자료를 상업적 또는 악성으로 사용하실 경우

법적 권리는 다음커뮤니케이션과 작성자에게 있음을 알려드립니다.

내용은 PPT 메모에 있습니다. 참고하시고 저작권상 배경과 템플릿이 실 내용과 차이가 있는점

양해 바랍니다...

참고 사이트는 훈스닷넷(http://hoons.kr),

실버라이트 카페 (http://cafe.naver.com/mssilverlight.cafe)

공도님 블로그 (http://gongdo.tistory.com/)

스캇구 블로그(http://weblogs.asp.net/scottgu/default.aspx)

MS MSDN 페이지 등 입니다.

p.s 메모의 내용은 기술적인 기정사실 외 개인적인 생각이 첨가된 내용도 있으므로 참고바랍니다.

|

(기존 코드명 “WPF/E”)

Microsoft Silverlight는 웹에서 사용할 차세대 .NET 기반 미디어 환경 및 풍부한 대화형 애플리케이션을 제공하기 위한 다중 브라우저, 다중 플랫폼 플러그인입니다. Silverlight는 AJAX, Python, Ruby 및 .NET 언어(예: Visual Basic 및 C#)를 지원하는 유연하고 일관성 있는 프로그래밍 모델을 제공하며 기존 웹 응용 프로그램과 통합됩니다. Silverlight 미디어 기능에는 Mac 또는 Windows에서 실행되는 Firefox, Safari 및 Internet Explorer를 포함하여 모든 주요 브라우저에 고품질 오디오 및 비디오를 빠르고 경제적으로 제공할 수 있는 기능이 포함되어 있습니다. 디자이너와 개발자는 Expression Studio 및 Visual Studio를 통해 현재 보유하고 있는 기술을 활용하여 더욱 효과적으로 공동 작업을 진행하면서 웹의 미래를 이끌어 갈 수 있습니다.

위의 문서는 MS MSDN 사이트 중 http://www.microsoft.com/korea/msdn/asp.net/bb187358.aspx
내용의 일부 입니다.

음...필자는 아직 유연성과 일관성을 제공하는데는 조금 부족하다는 생각이 든다. 빠른 정식버전 런칭으로 서버나 OS에 종속되지 않는 유연성을 제공했으면 하는 바램이있다..

|

No7Do's Blog is powered by Daum & tistory