Top

[RIA 개발을 위한]
실버라이트 입문

  • 원서명Silverlight 1.0 Unleashed (ISBN 9780672330070)
  • 지은이애덤 네이썬
  • 옮긴이이정웅
  • ISBN : 9788960770379
  • 25,000원
  • 2008년 03월 27일 펴냄 (절판)
  • 페이퍼백 | 336쪽 | 185*235mm
  • 시리즈 : 웹 프로페셔널

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

실버라이트는 가볍지만 매우 강력한 웹 브라우저 플러그인이다. 실버라이트에는 RIA를 만들기 위한 벡터, 애니메이션, 고화질 비디오 등 다양한 기능이 포함되어 있다. 또한 운영체제에 독립적으로 동작하기 때문에 실버라이트로 만든 애플리케이션은 윈도우, 맥 OS X, 리눅스 등에서 모두 실행된다.

실버라이트는 WPF의 기능을 제공하고 성능이 뛰어나며 HTML이나 AJAX 등 웹 개발 기술과 쉽게 연동할 수 있다. 마이크로소프트 개발자이자 실버라이트 구루로 알려진 애덤 네이썬이 직접 저술한 책이기에 매우 실용적이고 유용한 내용이 담겨 있다.


[ 책 소개 ]

실버라이트는 웹사이트 개발과 디자인에 관한 사람들의 고정관념을 깨고 있다. 이 책에서는 실버라이트로 할 수 있는 모든 것을 배울 수 있다. 실버라이트를 쓰면 값비싼 개발 툴이나 디자인 툴 없이도 리치 웹 애플리케이션을 쉽게 만들 수 있다. 취미로 하는 사람부터 전문가에 이르기까지 실버라이트는 사람들이 원하는 소프트웨어를 만드는 최선의 길이 될 것이다.

실버라이트에 관한 새로운 서적들이 쏟아져 나올 것이다. 하지만 이 책들이 과연 이 기술에 대해 적절히 소개할지 확신할 수는 없었다. 따라서 필자는 이 책을 쓸 때 다음과 같은 목표를 정하고 작업을 시작했다. 마지막으로 이 책은 당신이 소장한 책 중에 유용한 책이 될 것이다.

■ 실버라이트에 대한 기초적인 지식을 실용적이고 세련된 방법으로 제공한다.
■ 대부분의 개발자들이 궁금해하는 부분의 답을 제공하고 일반적으로 사용되는 방법에 대해 소개한다.
■ 신뢰할 만한 내용을 제공하기 위해 실버라이트 개발팀이 직접 작성했다.
■ 현재 실버라이트의 단점과 문제점들에 대해서 기술했다.
■ 내용을 찾기 찾아보기 쉽도록 구성했다.


[ 이 책에서 다루는 내용 ]

■ XAML에 대한 모든 것
■ 그래픽, 텍스트, 오디오, 비디오, 애니메이션, 잉크, 이벤트 등 실버라이트 기능
■ 재사용 가능한 컨트롤 만들기나 드래그앤드롭 기능 구현 방법
■ 비동기적으로 리소스를 다운로드 받는 방법을 통한 사용자 경험 극대화
■ HTML이나 플래시 컨텐트와 실버라이트 컨텐트를 연동하는 방법
■ 실버라이트 차기 버전에 나올 기능

이 책에 나온 예제에는 XAML, HTML, 자바스크립트 같은 기술이 쓰여졌지만 내용을 이해하기 위해 그 모두에 정통할 필요는 없다.

1.0 버전을 중심으로 이 책에는 현재 버전에서 할 수 있는 것과 없는 것을 명확하게 보여준다. 만약 실버라이트에 추가될 새로운 기능에 대해 더 알고 싶다면 'Windows Presentation Foundation(WPF) Unleashed' 라는 책을 참고하길 바란다. 실버라이트의 차기 버전은 WPF와 비슷하기 때문에 이 책을 통해 실버라이트의 차기 방향을 간파할 수 있을 것이다.


[ 이 책의 대상 독자 ]

이 책은 사람들이 원하는 웹 컨텐츠, 애플리케이션, 컨트롤 등을 만드는 개발자나 디자이너를 위해 쓰여졌다. 또한 독자들의 다른 기술에 대한 지식에 관계 없이 실버라이트에 대한 거의 모든 내용을 담고 있다. 그리고 이미 실버라이트에 대해 어느 정도 알고 있다고 하더라도 이 책에는 아직 더 알아야 하는 부분이 있다고 확신한다.


[ 이 책의 구성 ]

1부는 기초적인 설명이다. 1장은 실버라이트 컨텐츠를 웹페이지에 넣는 방법과 HTML과 통신하는 방법에 초점을 맞췄다. 2장은 이 책의 대부분과 실제 개발에서 마주치게 될 XAML에 대해 심도있게 다룬다.

2부는 실버라이트가 렌더링 하는 여러 가지 정적 컨텐츠에 대해 다룬다. 텍스트와 이미지뿐 아니라 정교한 벡터기반 컨텐츠까지도 다룬다. 2부의 마지막인 6장에서는 여러 개의 조각으로 구성된 컨텐츠의 편집, 리사이징, 트랜스폼에 대해 배운다.

3부에서는 다른 정적 컨텐츠를 만들수 있는 방법을 설명한다. 7장은 개발자들에게 가장 중요한 부분이다. 입력 이벤트는 인터랙티브한 애플리케이션을 만들어 주기 때문이다. 8장은 큰 용량의 컨텐츠, 이를테면 오디오나 비디오(9장과 10장에서 다룸) 같은 것을 조금씩 다운로드하며 실행하는 방법과 그 진행과정을 표시해주는 방법에 대해 설명한다. 아마 이를 통해 꽤 멋진 컨텐츠를 만들 수 있을 것이다.


[ 추천의 글 ]

실버라이트는 웹과 유비쿼터스 컴퓨터 환경의 사용자 경험을 향상시키기 위해 마이크로소프트가 공들여 준비한 차세대 웹 기술이다. 미디어와 RIA 등으로 말할 수 있는 최근의 웹개발 트렌드 속에서 가장 주목받고 있는 기술 중 하나이며, 세계적으로도 많은 개발자들이 이 분야에 뛰어들어 새로운 기술이 웹 세상에 새로운 옷을 입히는 시대의 변화에 동참하고 있다. 실버라이트가 주목받는 이유 중 하나는 가장 최근에 등장한 기술이라는 이유도 있지만, 마이크로소프트가 윈도우 운영체제 환경하에 오랫동안 애플리케이션 개발 환경과 도구들을 제공하면서 축적된 오랜 노하우와 경험들을 기반으로 심혈을 기울여 웹 환경에 접목시켜 만들어낸 중요한 이정표가 되는 기술이라는 것에 더 무게를 둔다. 특히 그래픽과 UI 요소들을 XML 형태로 표현한 XAML과 이를 해석하는 뛰어난 수준의 벡터 그래픽 프리젠테이션 엔진은 실버라이트가 시간이 흐를수록 더 멋진 플랫폼 기술로 거듭날 것이라는 기대를 갖게 한다.

이 책의 저자 애덤 네이썬은 초창기 닷넷 개발에서 ‘기초 공사’에 해당하는 CLR 개발 등에 참여한 핵심 개발자 중에 한 명으로서, 이 책을 통해서 실버라이트의 뼈대를 이루는 XAML의 기초적인 부분부터 깊이 있는 내용까지 기본을 다질 수 있는 주제를 다루고 있다. 독자들은 이 책을 통해서 실버라이트의 구조와 동작 원리에 대해서 좀더 깊이 이해할 수 있을 것이다. 주변에 처음 실버라이트를 시작하려는 개발자가 있다면 언제든지 진심으로 이 책을 권하고 싶다. 현재 미국에서 출간된 그 어떤 책보다도 가장 많은 호응을 얻은 실버라이트 전문 서적이며 해외 유명 온라인 서점에서도 좋은 평가를 얻고 있다.

개발자는 새로운 기술을 만났을 때, 그리고 새로운 것을 만들 수 있는 놀라운 가능성 있는 한 줄의 코드나 함수를 만났을 때 소소하지만 주변에 열심히 전파하고 싶은 욕구를 느낀다. 그리고 그런 생각들을 주변의 다른 개발자들과 나눌 수 있을 때 서로 통한다고 느낀다. 플래시와 플렉스 분야에서도 두각을 나타낸 개발자 이정웅님은 이번 실버라이트 책 번역을 통해 또 다시 새로운 영역으로 자신과 주변의 많은 개발자들을 이끌고 있다. 이처럼 새로운 기술을 빨리 받아들이고 그것을 많은 사람들이 쉽게 공유할 수 있도록 돕는 열정을 지닌 개발자들이 우리 주위에는 많다는 것은 참으로 감사한 일이다.

실버라이트에 관심있는 개발자들이 이 책을 통해서 더 나은 사용자 경험을 제공하기 위해서 웹 세상을 변화시켜가는 여정에 함께 동참할 수 있기를 바라고, 끝으로 미국 생활 중에 고되고 힘든 번역 작업을 무사히 마친 역자 이정웅님에게 한 명의 개발자로서 진심으로 감사의 말을 전하고 싶다.

황리건
한국 마이크로소프트 사용자 경험 전문가

저자/역자 소개

[ 저자 소개 ]

애덤 네이썬
저자 애덤 네이썬은 마이크로소프트사의 선임 소프트웨어 연구원이며 실버라이트 최초의 애플리케이션인 팝플라이의 개발자이기도 하다. 또한 베스트셀러인 『Windows Presentation Foundation Unleashed』(Sams, 2006)과 『.NET and COM:The Complete Interoperability Guide』(Sams, 2002)를 집필했고 『ASP.NET:Tips, Tutorials, and Code』(Sams, 2001)의 공동저자다. 그리고 『.NET Framework Standard Library Annotated Reference, Vol.2』(Addison-Wesley, 2005)와 『Windows Developer Power Tools』(O'Reilly, 2006)에 일부를 기고하고도 했다.
애덤은 개발자 컨퍼런스나 마이크로소프트 사내 개발 그룹에서 .NET에 대한 주제로 강연을 한다. 1999년 마이크로소프트 사의 Common Language Runtime 팀에서 일을 시작했으며 .NET 기술 초창기부터 개발에 참여해 왔다. 또한 그는 .NET 개발자들을 위한 웹사이트(PINVOKET.NET)와 유용한 툴(비주얼 스튜디오 애드온)을 개발하기도 했다. 애덤의 블로그 주소는 http://www.adamnathan.net이다.


[ 역자 소개 ]

이정웅
명지대학교 컴퓨터학부를 졸업하고 NHN 플래시 게임팀에서 한게임 플래시 게임 제작과 해외지원 업무를 담당했다. 현재는 프리랜서로 활동하고 있으며 어도비 플렉스 사이트에 기술문서를 기고하고 있다. 플래시와 플렉스, 실버라이트, Ajax 등 RIA 인터넷 기술에 관심이 많다.


[ 역자 서문 ]

실버라이트가 나오기 전 역자는 주로 플래시나 플렉스 같은 RIA 개발에 많은 관심이 많았다. 이미 웹을 사용하는 사용자들의 요구는 HTML이 제공하는 기능을 이미 뛰어넘어 버린 지 오래고 이제 RIA라는 개념은 웹사이트를 개발하는 데 필수적인 요소로 자리잡아가고 있는 실정이다.

마이크로소프트 사는 항상 후발주자로 뛰어들어 무서운 근성으로 선발 경쟁업체들을 물리치는 저력을 발휘해 왔다. 현재 RIA업계는 플래시를 시작으로 플렉스가 무서운 속도로 장악해 가고 있기 때문에 실버라이트의 출현은 시작부터 엄청난 관심을 보였다. 곧 2.0을 발표할 예정이라고는 하지만 아직 사용되고 있는 버전이 1.0이기 때문에 부족한 부분들도 종종 보이지만 새로운 플랫폼의 출현은 개발자로서 즐거운 일이고 또한 아직 선두를 지키고 있는 플래시 업계도 경쟁 플랫폼의 등장으로 인해 긴장을 늦추지 못하고 있을 것이다. 어떤 개발 플랫폼이든간에 홀로 독주를 하고 있으면 벤더에서 개발자들의 소리에 귀를 잘 기울이지 않는 경우도 있기 때문에 경쟁 관계에 진입하는 것은 사용자의 입장에서 볼 때 매우 바람직한 현상이라고 생각한다.

이 책에서는 저자가 마이크로소프트 임직원이고 실버라이트 개발에 참여했었기 때문에 팔이 안으로 굽을 거란 역자의 예상과는 달리 굉장히 객관적인 시각을 유지하려는 노력이 엿보였다. 1부에서는 실버라이트 플랫폼에 대한 개념적인 부분, 특히 XAML과 실버라이트 컨트롤 자체에 초점을 맞추어서 가장 기본적인 내용을 충실히 다루고 있고 2부부터는 실버라이트의 드로잉 기능들을 풍부한 예제와 함께 제공하고 있다. 마지막 3부에서는 실버라이트의 핵심이라고 할 수 있는 이벤트 처리와 실버라이트의 기능 중 특화된 영역에 대해서 자세히 기술하고 있다. 또한 각 장에서는 실버라이트의 장점뿐 아니라 단점, 그리고 앞으로 나아갈 로드맵 등 많은 부분에 대해서 부가 정보를 포함하고 있다.

또한 경고나 팁 같은 도구를 통해 실버라이트 개발상의 단점에 대해 자세히 설명하고 그것을 피해가거나 해결하는 방법까지 구체적으로 제시하고 있다. 솔직담백한 이 책을 통해 역자처럼 플래시나 플렉스를 다루고 있고 실버라이트를 처음 접하는 개발자들이 실버라이트 플랫폼에 대해서 정확하게 이해하는 데 많은 도움이 될 것이다.

앞으로 우리나라에서도 실버라이트는 웹 기반의 비디오 스트리밍 솔루션을 중심으로 빛을 발할 것이다. 그 이외에도 .NET 개발툴이 가진 개발적인 효율성과 퍼포먼스 적인 측면에서도 많은 장점을 가지고 있기 때문에 앞으로의 선전이 더욱 기대된다.

목차

목차
  • 1부 기초
  • 01장 개요 25
    • 실버라이트 컨트롤 직접 임베딩하기 30
    • Silverlight.js의 복잡한 내부 역할 36
      • Silverlight.createObject 37
      • Silverlight.createObjectEx 39
      • 합쳐 만들어보기 40
    • 실버라이트 컨트롤의 옵션 44
      • source 44
      • 프로퍼티 47
      • 이벤트 55
    • 실버라이트 컨트롤과 통신 59
      • Settings 프로퍼티 59
      • Content 프로퍼티 60
      • 그밖의 요소 63
    • 정리 64
  • 02장 XAML 65
    • 요소와 속성 66
    • XML 네임스페이스 68
    • 프로퍼티 요소 69
    • 타입변환기 70
    • Object 요소의 자식들 72
      • 컨텐트 프로퍼티 72
      • 컬렉션 요소 72
    • 붙임 프로퍼티 74
      • XAML과 자바스크립트의 관계 76
      • XAML에 정의된 요소와 통신 76
    • 정리 89
  • 2부 정적 컨텐트 구성
  • 03장 도형, 선, 곡선 93
    • 기본적인 쉐이프 94
      • Rectangle 94
      • Ellipse 96
      • Polygon 98
    • 직선과 곡선 100
      • 선 101
      • Polyline 101
      • Path 103
    • Geometry 104
      • 영역 자르기를 위해 Geometry를 사용하는 법 105
      • PathGeometry 106
      • GeometryGroup 111
      • Geometry를 문자열로 나타내기 113
    • 스트로크 116
      • Line Cap 116
      • Line Join 117
      • Dash 119
    • 정리 120
  • 04장 텍스트 121
    • 텍스트 디스플레이 설정하기 122
      • 기본적인 폰트 프로퍼티 122
      • 추가적인 설정 옵션 126
      • TextBlock의 크기 구하기 128
    • 리치 텍스트 만들기 129
      • Run 130
      • LineBreak 132
    • 사용자 정의 폰트 사용하기 134
      • 사용자 폰트 다운로드 134
      • Glyphs 요소 사용하기 136
      • 텍스트를 Path로 변환하기 138
    • 정리 139
  • 05장 브러쉬와 이미지 141
    • SolidColorBrush 142
    • LinearGradientBrush 143
    • RadialGradientBrush 150
    • ImageBrush와 Image 153
    • VideoBrush 159
    • 브러쉬를 투명마스크로 사용하기 161
    • 정리 163
  • 06장 UI 요소 배치와 변형 165
    • Canvas에 대한 모든 것 166
      • UI 요소 배치하기 166
      • UI 요소를 뒤로 보내거나 앞으로 가져오기 170
      • Canvas 크기 조절과 영역 자르기 173
      • 여러 개의 Canvas를 이용해서 관리하기 쉬운 UI 만들기 176
    • Transform 적용하기 180
      • RotateTransform 181
      • ScaleTransform 184
      • SkewTransform 189
      • TranslateTransform 191
      • MatrixTransform 191
      • 여러 가지 Transform 사용하기 192
    • 정리 196
  • 3부 실제 컨텐트 만들기
  • 07장 입력 이벤트 다루기 199
    • 실버라이트 이벤트에 대해서 199
      • 이벤트 핸들러 201
      • 이벤트 핸들러 적용하기 202
    • 마우스 이벤트 206
      • 영역과 충돌체크 210
      • 마우스 포인터에 대해서 211
      • 이벤트 버블링 213
      • 마우스 캡처하기 216
      • 예제: Scrollbar 컨트롤 만들기 219
      • 실버라이트에서 스타일러스 사용하기 231
    • 키보드 이벤트 237
      • 기초 237
      • 어떤 키가 눌렸는지 알아내기 239
    • 전체화면 모드 사용하기 243
    • 정리 245
  • 08장 동적으로 컨텐트 다운로드 받기 247
    • 초기화 248
    • 다운로드 컨텐트 사용하기 249
    • 압축(.zip)파일 로 묶여있는 여러 파일을 동시에 다운로드 받기 251
    • 프로그레스 바 만들기 253
      • 간단한 프로그레스 바 253
      • 프로그레스 바 커스터마이징하기 257
    • 정리 261
  • 09장 애니메이션 263
    • 애니메이션에 대해 264
      • 직접 애니메이션 만들기 264
      • 실버라이트 지원 기능으로 애니메이션 만들기 268
    • 자바스크립트로 애니메이션 제어하기 276
      • Storyboard를 제어하기 위한 함수 276
      • Completed 이벤트 278
    • 타임라인 조절하기 279
      • BeginTime 279
      • SpeedRatio 280
      • AutoReverse 280
      • RepeatBehavior 281
      • FillBehavior 283
    • 스토리보드에 대해서 283
      • 대상 프로퍼티 지정하기 283
      • 대상 요소 지정하기 287
      • 스토리보드를 애니메이션 요소처럼 제어하기 290
    • 키프레임 애니메이션 293
      • 선형 키프레임 294
      • 스플라인 키프레임 295
      • 불연속 키프레임 297
    • 정리 299
  • 10장 오디오와 비디오 301
    • MediaElement로 오디오와 비디오 재생하기 303
      • Source 프로퍼티 303
      • 비주얼 효과 305
      • 오디오에 관련된 기능 306
      • 비디오에 관련된 기능 307
      • 프로그레시브 다운로드와 스트리밍 308
    • 자바스크립트로 오디오와 비디오 제어하기 310
      • 미디어의 상태 변경 310
      • 기본적인 미디어 이벤트 311
      • 오디오와 비디오 재생 위치 312
      • 타임라인 마커 사용하기 313
      • 미디어 플레이어 UI 제작하기 315
    • 익스프레션 인코더 사용하기 318

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안