'번역/ScottGu's Blog'에 해당되는 글 25건

  1. 2008.10.16 실버라이트 2 출시
  2. 2008.09.30 jQuery와 마이크로소프트
  3. 2008.09.26 실버라이트 2 RC 버전 출시
  4. 2008.05.13 비주얼 스튜디오 2008과 닷넷 프레임웍 3.5의 서비스 팩 1 베타
  5. 2008.05.10 Professional ASP.NET 3.5 도서가 아마존에서 한시적으로 $16에 판매되고 있습니다.
  6. 2008.04.15 4월 11일자 링크 모음 : ASP.NET, ASP.NET AJAX, ASP.NET MVC, 비주얼 스튜디오, 실버라이트
  7. 2008.04.11 ASP.NET 동적 데이터 프리뷰
  8. 2008.04.05 팁/트릭 : 실버라이트와 WPF 사용자 정의 컨트롤 만들고 사용하기
  9. 2008.04.02 실버라이트 유닛 테스트
  10. 2008.03.21 ASP.NET MVC 소스 코드가 공개되었습니다.

실버라이트 2 출시

번역/ScottGu's Blog 2008. 10. 16. 16:45

원문 : http://weblogs.asp.net/scottgu/archive/2008/10/14/silverlight-2-released.aspx

실버라이트 2의 최종 릴리즈가 오늘 출시되었습니다. 이곳에서 실버라이트 2와 비주얼 스튜디오 2008과 익스프레션 블렌드 2용 실버라이트 2 지원 도구를 다운로드 할 수 있습니다.

크로스 플랫폼 / 크로스 브라우저 .Net 개발

실버라이트 2는 브라우저 내에서 풍부한 미디어 경험과 .NET RIA(리치 인터넷 응용프로그램)를 지원하는 크로스 플랫폼 브라우저 플러그인입니다.

실버라이트 2는 크기가 작고(4.6MB), 겨우 4초에서 10초 가량이면 설치가 가능합니다. 닷넷 프레임웍은 설치되어 있지 않아도 괜찮습니다. 실버라이트 설치 다운로드는 비디오를 재생하고 응용프로그램을 실행하는 데 필요한 모든 것을 포함하고 있습니다.

개발자는 모든 닷넷 언어(VB, C#, JavaScript, IronPython, IronRuby 포함)를 사용하여 실버라이트  응용프로그램을 개발할 수 있습니다. 실버라이트는 개발과 관련하여 아래와 같은 풍부한 기능을 제공합니다.

  • WPF UI 프레임웍: 실버라이트 2에는 강력한 웹 응용프로그램을 더욱 쉽게 만들 수 있는 풍부한 UI 프레임웍이 탑재되어 있습니다. 이에는 강력한 그래픽과 애니메이션 엔진 뿐만 아니라, 컨트롤, 레이아웃 관리, 데이터 바인딩, 스타일, 템플릿 스킨 등과 같은 고수준의 UI 기능이 포함되어 있습니다. 실버라이트의 WPF UI 프레임웍은 전체 닷넷 프레임웍 WPF UI 프레임웍의 호환 가능한 하위 집합이라서, 개발자들은 강력한 크로스 브라우저 웹 응용프로그램과 데스크탑 윈도우즈 응용프로그램을 개발하는 있어 기술, 컨트롤, 코드, 컨텐츠를 재활용할 수 있습니다.

  • 풍부한 컨트롤들: 실버라이트 2에는 개발자와 디자이너가 신속하게 응용프로그램을 만들 수 있도록 풍부한 컨트롤이 내장되어 있습니다. 실버라이트 2는 핵심 폼 컨트롤(TextBox, CheckBox, RadioButton, ComboBox 등), 내장 레이아웃 관리 패널(StackPanel, Grid, Panel 등), 공통 기능 컨트롤(, ScrollViewer, Calendar, DatePicker 등), 데이터 조작 컨트롤(DataGrid, ListBox 등)을 탑재하고 있습니다. 모든 실버라이트 컨트롤은 풍부한 컨트롤 템플릿 모델을 지원하고 있어서, 개발자와 디자이너가 협업하여 고품질의 솔루션을 만들 수 있습니다.

  • 강력한 네트웍 지원: 실버라이트 2는 강력한 네트웍 지원 기능을 포함하고 있습니다. 이는 REST, WS*/SOAP, POX, RSS, 그리고 표준 HTTP  서비스에 대한 투명한 지원을 포괄하고 있습니다. 게다가 실버라이트 2는 크로스 도메인 네트웍 접근도 지원합니다. (즉, 실버라이트 클라이언트가 웹 상의 리소스나 데이터에 바로 접근할 수 있다는 이야기입니다.) 마지막으로 실버라이트에는 소켓 네트웍 지원도 내장되어 있습니다.

  • 풍부한 베이스 클래스 라이브러리: 실버라이트 2에는 풍부한 기능성 닷넷 베이스 클래스 라이브러리가 탑재되어 있습니다. (컬렉션, IO, 제네릭, 쓰레딩, 전역화, XML, 지역 저장소 등) 또한 HTML DOM/JavaScript를 닷넷 코드와 통합하는 풍부한 API도 내장하고 있으며, LINQ와 LINQ to XML에 대한 지원(따라서 데이터의 전송과 쿼리가 쉽습니다.), 로컬 데이터 캐싱과 저장소에 대한 지원도 포함하고 있습니다.

  • 풍부한 미디어 지원: 실버라이트 2는 고화질의 비디오를 재생하고 웹을 통해 스트리밍(라이브 혹은 온디맨드 방식을 모두 지원합니다) 하기 위한 내장 비디오 코덱을 가지고 있습니다. 실버라이트 2에는 네트웍 상태에 따라 비디오의 비트레이트를 시청 중에 바로 변경할 수 있는 기능(따라서 사용자는 "버퍼링..." 같은 짜증나는 메시지를 보지 않아도 됩니다.), 비디오 스트림에 광고를 삽입하고 측정하는 기능, 컨테츠를 보호하는 기능도 포함되어 있습니다

실버라이트 2 최종 릴리즈는 방대한 수준의 강력함과 유연함을 제공합니다. 이로 인해 기존의 브라우저에서 할 수 있던 일의 경계를 무너뜨리고 놀라운 최종 사용자 경험을 가능하게 합니다.

실버라이트의 고객들

(역자 주 : 이 부분은 실버라이트의 여러 적용 사례를 이야기하고 있습니다. 생략하도록 하겠습니다.)

Over the last few months a number of very high profile sites have successfully launched using the beta releases of Silverlight 2. 

In August, NBC hosted the Olympics live on nbcolympics.com and served up 1.3 billion page views, 70 million video streams, and 600 million minutes of video content - making it the largest ever media event on the web.  Users visiting the site spent an average of 27 minutes on the site when they watched a video - an unprecedented number for online traffic.

In August, the Democratic National Convention was streamed live using Silverlight, and broadcast a 2Mbit live video feed of the event and speeches - receiving outstanding feedback from audiences watching it.

This month a number of other high profile sites are going live with the final release of Silverlight 2.  CBS College Sports Network will be streaming 20,000 hours of live games for 150+ college and university partners.  AOL is launching their new AOL Mail browser version to 60 million users using Silverlight 2.  Blockbuster will be launching their new MovieLink subscription service using Silverlight.  Yahoo! Japan is live today enabling live streaming of Major League Baseball games.  Hard Rock International will be updating their memorabilia site with new features.  And companies like Toyota, HSN and hundreds of others will be live this week as well.

실버라이트 툴팁

실버라이트 2는 수 십 개의 내장 UI 컨트롤과 함께 출시됩니다. 아래는 실버라이트 2의 최종 릴리즈에 포함된 DataGrid, RadioButton, CheckBox, DatePicker의 스크린샷입니다.


이에 더하여 실버라이트 2에서 사용할 수 있는 수 십 개의 컨트롤로 구성된 "실버라이트 툴킷"도 출시됩니다. 향후 몇 달 동안 새로운 컨트롤들이 이 컨트롤 팩에 추가될 예정입니다. (최종적으로 100개가 넘는 컨트롤을 탑재하는 것을 목표로 하고 있습니다.) 툴킷의 첫번째 릴리즈에서는 TreeView, DockPanel, WrapPanel, ViewBox, Expander, NumericUpDown, AutoComplete 등의 컨트롤이 포함되어 있습니다. 모든 컨트롤은 완전한 소스와 함께 제공이 되며, OSI 라이센스를 따르기 때문에 자유롭게 소스를 수정하실 수 있고 어떤한 목적으로든 자유롭게 사용하실 수 있습니다.

상호호환성

또 한 가지 오늘 발표할 내용은, 마이크로소프트가 Soyatec와 파트너가 되어 크로스 플랫폼인 이클립스 개발 플랫폼에서 실버라이트를 개발할 수 있는 추가 툴을 스폰서하기로 하였다는 것입니다. 여기에 가시면 더 자세한 정보를 보실 수 있고 무료 실버라이트 이클립스 플러그인도 다운받을 수 있습니다. 또한 여기에 가시면 이클립스 툴을 이용하여 실버라이트 2 응용프로그램을 개발하는 단계적 튜토리얼도 보실 수 있습니다.

또한 Open Specification Promise (OSP)에 따라 실버라이트 XAML 어휘와 스키마가 릴리즈 되었다는 사실도 알려드립니다. 이에 의해 이제 누구든지 실버라이트 XAML을 읽고 쓸 수 있는 제품을 개발할 수 있게 되었습니다. 이에 대해 더 자세한 내용은 여기서 확인하실 수 있습니다.

실버라이트 2 배우기

실버라이트 2를 배우는 가장 좋은 방법은 www.silverlight.net 웹사이트를 방문하는 것입니다. 그곳에 가시면 무료 온라인 튜토리얼과 비디오와 연습을 찾으실 수 있습니다. 또한 이 사이트에는 MVP와 마이크로소프트 실버라이트 팀원들이 기술적인 질문에 대답을 해주는 포럼도 준비되어 있습니다. 아울러 Silverlight Community RSS Feed, Jesse Liberty의 블로그, Tim Heuer의 블로그를 구독하는 것도 좋은 방법입니다.

저도 얼마전에 제 Digg 클라이언트 튜토리얼을 실버라이트 2 최종 릴리즈에 맞게 업데이트 하였습니다. 이 튜토리얼에는 실버라이트 2 응용프로그램을 처음부터 끝까지 만드는 연습과 이에 대한 프로그래밍적 배경(컨트롤, 레이아웃 관리, 네트워킹, 데이터 바인딩, 사용자 정의 컨트롤, 컨트롤 템플릿 등)이 설명되어 있습니다. 만일 실버라이트나 WPF를 처음 접하신다면 기본 이해 차원에서 읽어보실 것을 권장합니다.

 

비주얼 스튜디오 2008의 어떤 버전을 사용하더라도 실버라이트 2 응용프로그램을 개발할 수 있습니다. 간단히 비주얼 스튜디오 2008용 실버라이트 툴만 설치하시면 됩니다.

만일 VS 2008이 없다면, 무료인 Visual Web Developer 2008 Express SP1 Edition을 설치하시면 됩니다. 이 무료 툴은 강력한 ASP.NET 개발 툴을 지원하는데 이제 실버라이트 2 개발도 지원할 수 있게 되었습니다. Visual Web Developer 2008 Express Edition을 사용해도 위의 튜토리얼을 모두 연습하실 수 있습니다. 물론 완전한 인텔리센스, 디버깅, 배포 기능도 제공됩니다.

베타 버전에서 업그레이드

VS Tools for Silverlight의 베타2 혹은 RC 버전, 또는 실버라이트 2 베타 SDK 나 실버라이트 2 개발자 에디션을 가지고 계신다면 오늘자 릴리즈를 설치하시기 전에 모두 제거하셔야 합니다.

실버라이트 1이나 실버라이트 2 베타1 혹은 베타2를 설치한 사용자는 이달 하순부터 실버라이트 2 최종 릴리즈로 자동 업데이트 됩니다. 그전까지는, 사용자가 실버라이트 2 사이트를 방문하면 일반적인 설치 프롬프트가 뜨는데, 이를 클릭하면 실버라이트 2 최종 릴리즈로 업데이트 되게 됩니다. (사용자는 이전 버전을 삭제할 필요가 없습니다. 실버라이트 2는 실버라이트 1이나 이전 버전들 위에 깨끗하게 설치가 됩니다.)

실버라이트 2 베타2와 실버라이트 2 최종 릴리즈 사이에는 많은 변경이 있었기 때문에, 실버라이트 2 최종 릴리즈를 설치한 사용자는 실버라이트 베타2로 작성된 응용프로그램을 실행할 수 없습니다. 대부분의 주요 실버라이트 2 사이트는 24시간 안에 최종 릴리즈로 업그레이드 될 예정입니다. (따라서 이 문제는 해결이 되게 됩니다.) 하지만 만일 업그레이드 전에 사이트를 방문하면 문제가 발생할 수 있는데, 물론 모든 사이트가 일단 업그레이드 되면 이 문제는 저절로 해결이 될 것입니다. (바로 이 문제 때문에 - 개발자들로 하여금 최종 릴리즈를 준비할 수 있도록 하기 위하여 - 지난 달에 저희가 RC 버전을 발표한 것입니다.)

정리

실버라이트 2는 새로운 응용프로그램과 미디어 경험의 구축을 가능하게 하고 개발자가 모든 브라우저에서 동작하는 응용프로그램을 개발하는데 닷넷을 사용할 수 있도록 한 주요 릴리즈 입니다.

작년 한 해 동안 저희의 작업에 대해 도움과 피드백을 주신 모든 분께 감사드립니다. 저희 실버라이트 팀 모두는 개발자 여러분이 이것을 가지고 무엇을 만들어 내실지 정말 기대가 큽니다.

스캇.

:

jQuery와 마이크로소프트

번역/ScottGu's Blog 2008. 9. 30. 12:53

원문 : jQuery and Microsoft

jQuery는 비교적 짧은 시간에 웹에서 가장 인기 있는 라이브러리 중의 하나가 된 가벼운(겨우 15KB) 오픈 소스 라이브러리입니다.

jQuery의 큰 매력은 최소의 코드로 우아하고 (그리고 효율적으로) HTML 요소를 찾고 조작할 수 있는 방법을 제공한다는 것입니다. jQuery는 "selector" API로 HTML 요소를 찾고 "commands" API를 적용하는 방식으로 이를 지원합니다. jQuery 명령의 특징은 서로 "연결"될 수 있다는 것입니다. 따라서 한 명령의 결과는 다른 명령의 입력이 될 수 있습니다. 또한 jQuery에는 명령으로 사용될 수 있는 애니메이션 API도 내장되어 있습니다. 이러한 특징들을 조합하면 키보드를 몇 번 두드리는 것 만으로 정말 멋진 놈을 만들어 낼 수 있습니다.

예를 들어, 아래는 페이지 내에서 "product" CSS 클래스를 가진 모든 <div>요소를 찾은 후, 이를 서서히 사라지게 하는 jQuery 자바스크립트입니다.

또다른 예로, 페이지에서 id가 "datagrid1"인 특정 <table>을 찾은 후, 데이터그리드의 모든 짝수번 째 행에 대해 그 <tr> 요소에 "even" CSS 클래스를 적용시키는 아래 jQuery 자바스크립트를 들 수 있겠습니다.

[참고 : 위 예제의 출처는 모두 jQuery in Action 입니다.]

위의 예처럼 선택하거나 애니메이션을 적용하는 기능은 많은 개발자들이 ASP.NET AJAX에 바래 왔던 기능이고, 우리 역시 몇 달 전에 발표한 ASP.NET AJAX Roadmap 에서 이러한 기능들을 예정된 기능 목록에 실어두기도 하였습니다. 이 기능들을 개발하기 위해 개발팀이 연구를 시작하고 나서 얼마 되지 않아, jQuery의 기능이 이미 훌륭하게 구현되어 있고 이에 기반한 커다란 생태계와 커뮤니티가 이미 존재하고 있다는 사실을 알았습니다. 게다가 jQuery 라이브러리는 한 페이지 안에서 ASP.NET AJAX와 ASP.NET AJAX Control Toolkit와도 잘 동작합니다.

따라서 우리는 중복된 기능을 개발하기 보다는, jQuery를 원래 상태 그대로 활용할 뿐 아니라 이를 표준적이고 지원이 가능한 VS/ASP.NET의 라이브러리에 추가하여, 우리의 에너지를 jQuery의 이점을 극대화 시키는 새로운 기능 개발에 집중하는 것이 어떨까 하는 생각을 하였습니다. 우리는 이런 생각을 적어 jQuery 팀에게 메일을 보냈는데, 금방 흥미로운 생각이라는 답장을 받았습니다

jQuery 지원

마이크로소프트는 곧 jQuery with Visual Studio를 출시할 것입니다. jQuery 자바스크립트 라이브러리는 원래 상태 그대로 탑재가 되며 소스가 변경되거나 하지는 않을 것입니다. 라이센스 역시 jQuery MIT 라이센스를 그대로 유지하게 됩니다.

비주얼 스튜디오의 뛰어난 자동완성과 디자인 타임의 도움말 통합 기능을 제공하기 위한 자동완성용 주석이 달린 버전도 배포될 것입니다. 예를 들자면 아래와 같습니다.

연결된 명령도 지원합니다.

jQuery의 자동완성 버전은 수 주일 내에 웹에서 무료로 다운로드 받으실 수 있을 것입니다. (VS 2008 SP1과 무료인 Web Developer 2008 Express SP1에서 잘 동작합니다.) 새로운 ASP.NET MVC 버전에도 이 버전이 포함되어, 모든 새 프로젝트에는 기본적으로 jQuery 라이브러리가 추가되게 됩니다.

그리고 올해 연말 부터는 마이크로소프트 제품에 대한 jQuery 지원이 확장되어, 개발자나 개발 회사는 하루 24시간 일주일에 7일, 즉 언제나 마이크로소프트 기술지원 서비스에 전화를 걸어 jQuery에 대한 기술 지원을 받을 수 있게 됩니다.

앞으로 jQuery는 ASP.NET AJAX Control Toolkit에 있는 높은 수준의 컨트롤을 만들 때 사용되는 라이브러리 중의 하나로 활용될 예정입니다. 또한 ASP.NET MVC의 Ajax 서버 사이트 헬퍼 메서드 구현에도 이용될 예정이기도 합니다. 또한 ASP.NET AJAX에 포함될 새 기능들(예를 들어 클라이언트 템플릿 지원 기능)은 jQuery와 잘 통합되도록 설계될 것입니다.

또한 우리는 테스트, 버그 수정, 패치를 통해 jQuery 오픈 소스 프로젝트에도 기여할 예정입니다. 이는 표준 jQuery 패치 리뷰 프로세스를 따르게 됩니다.

정리

jQuery팀과 파트너 관계를 맺게 된 것은 무척 기쁜 일입니다. jQuery는 환상적인 라이브러리일 뿐 아니라 ASP.NET과 ASP.NET AJAX 개발자에게 큰 도움이 될 수 있는 라이브러리입니다. 앞으로 jQuery가 비주얼 스튜디오 그리고 ASP.NET과 더욱 긴밀히 통합되도록 하여 개발자에게 더욱 큰 도움이 되도록 노려하겠습니다.

오늘 발표에 대해 더 자세한 내용을 알고 싶으시면, jQuery 팀의 John Resig의 포스트를 확인하시기 바랍니다. Scott Hanselman도 jQuery와 ASP.NET AJAX(새로운 클라이언트 템플릿 엔진 포함)의 통합과 ADO.NET 데이터 서비스(예전 코드네임은 "아스토리아"였고 지금은 .NET 3.5 SP1에 포함되어 있습니다)에 대한 멋진 튜토리얼을 준비하고 있습니다.

도움이 되길 바라며,

스캇

:

실버라이트 2 RC 버전 출시

번역/ScottGu's Blog 2008. 9. 26. 23:35

원문 : Silverlight 2 Release Candidate Now Available

오늘
저녁에 실버라이트 2 공식적인 RC 버전이 처음으로 발표되었습니다.

최종 버전을 출시하기 전에 해결해야 자잘한 버그들이 아직 많이 남아 있습니다만, 개발자들이 기존의 실버라이트 베타 2 응용프로그램을 업데이트하여 최종 버전이 배포되었을 제대로 동작하도록 하고, 우리가 내부적으로 발견하지 못한 문제에 대해서 개발자들로부터 피드백을 받기 위해서(www.silverlight.net 포럼을 사용하여 주십시오), 오늘 버전을 출시하는 것입니다.

중요 : 현재는 실버라이트 2 개발자 런타임 에디션(그리고 이를 지원하기 위한 VS 블렌드 툴을 포함한) 만이 출시된 것이지, 일반적인 최종 사용자 버전이 출시된 것은 아닙니다. 이는 실버라이트 2 API 최종 버전이 발표되기 전에 개발자에게 기존의 응용프로그램을 업데이트하기 위한 시간을 주어 사이트가 중단 없이 운영되도록 하기 위함 입니다. 베타2 RC 사이에는 변화가 다소 있지만, 기존의 사이트 들이 최종 버전이 발표되면 바로 동작할 있도록 하는 것이 우리의 목표입니다. 따라서 현재는 RC 버전을 개발 용도로만 사용하시고, 최종 릴리즈가 출시되기 전까지는 새로운 API들을 운영 중인 사이트에 적용하지 마시기 바랍니다. (최종 릴리즈는 발표될 것입니다.)

실버라이트의 RC 버전과 이를 지원하는 VS 블렌드는 여기에서 다운로드 받을 있습니다. 실버라이트 2 지원하는 익스프레션 블렌드가 이제 블렌드 2.0 SP1으로 변경된 것에 주의하십시오. 실버라이트 2 지원하는 SP1 서비스 팩을 설치하기 전에 블렌드 2.0 설치되어 있어야 합니다. 블렌드 2.0 설치되어 있지 않다면 여기에서 무료 평가판을 다운로드 받을 있습니다.

베타2 -> RC API 업데이트

현재 RC 버전에는 수많은 버그 수정과 주목할 만한 성능 최적화가 포함되어 있습니다.

또한 현재 RC 버전에는 실버라이트와 전체 닷넷 프레임웍과의 차이점을 해결하기 위한 API 변경이 많이 포함되어 있습니다. 이런 변경(매개변수의 순서, 메서드/속성의 이름 변경, 형식의 네임스페이스 변경 ) 대부분은 수는 많지만 변경의 폭은 비교적 크지 않습니다. 베타2에서 변경된 API 목록은 이 블로그 포스트 이 문서에서 확인하실 있습니다.

실버라이트에 포함된 컨트롤의 스타일이 업데이트 되고, 상태 그룹과 상태 그룹이 사용하는 컨트롤 템플릿의 이름도 수정되었습니다. 베타2에서 업그레이드하는 경우라면, 기존에 정의해 두었던 커스텀 스타일은 임시로 제거해 두고, 먼저 RC 기능을 응용프로그램에 적용한 후에, 기존 스타일을 하나씩 적용하는 것이 편리하실 것입니다.

베타2에서 RC 옮기는 중에 궁금한 점이 있으면 www.silverlight.net포럼에 알려주시면 감사하겠습니다. (실버라이트 멤버가 도움에 주기 위해 대기하고 있을 것입니다.) 하루나 이틀이 지나도 답을 얻지 못하면 저에게 메일(scottgu@microsoft.com) 주십시오. 제가 직접 도와드리거나 아니면 답을 있는 사람에게 연결을 시켜드리겠습니다.

컨트롤들

RC 버전에는 VS 블렌드 툴의 지원을 포함해서 실버라이트 전반에 걸쳐 많은 기능이 추가되고 향상되었습니다. 특히 컨트롤, 네트워킹, 데이터 캐싱, 레이아웃, 렌더링, 미디어 스택, 기타 다른 컴퍼넌트나 하위 시스템에서 많은 향상이 있었습니다.

앞으로 동안 많은 실버라이트 2 컨트롤이 발표될 것입니다. ( 자세한 설명은 포스팅하겠습니다.) 이번 RC 버전에는 가지의 새로운 컨트롤이 포함되었습니다. ComboBox, ProgressBar, PasswordBox 그것인데, 이는 실버라이트 런타임(여전히 크기가 4.6MB 밖에 안되기 때문에 초면 설치가 끝납니다) 직접 포함되어 있습니다.

런타임에서는 기본값으로 컨트롤들이 아래와 같이 보입니다.

실버라이트의 ComboBox 표준 DropDownList 체계를 지원합니다. 위와 같이 정적으로 아이템을 추가할 수도 있지만, 데이터 바인딩을 사용할 수도 있습니다. 예컨데 아래와 같은 Person 클래스가 있다고 하겠습니다.

페이지에 ComboBox 추가합니다.

그리고 아래와 같이 Person 컬렉션을 ComboBox 데이터 바인딩하는 코드를 추가합니다. (ComboBox ItemSource 속성을 설정)

런타임에 간단한 응용프로그램은 데이터 바인딩된 사람의 이름들을 표시합니다. (Person 객체의 "Name" 값을 표시하기 위해 ComboBox DisplayMemberPath 속성을 설정하는 것을 확인하시기 바랍니다.)

ComboBox에서 사람이 선택된 경우에 호출될 SelectionChanged 이벤트 핸들러를 작성합니다.

데이터 바인딩된 ComboBox에서 선택된 "Person" 객체의 참조를 얻기 위해 "SelectedItem" 속성을 사용하는 것을 확인하시기 바랍니다.

그리고 나서 MessageBox.Show() 헬퍼 메서드(RC에서 새로 추가) 호출하여 선택된 사람의 자세한 정보를 표시하는 모달 대화상자를 띄우고 있습니다.

새로운 컨트롤 스킨

실버라이트 2 최종 버전에는 베타1 베타2 있는 보다 훨씬 많은 수려한 기본 컨트롤 템플릿 스킨이 포함됩니다. 기본 컨트롤 템플릿에 대한 우리의 목표는 전문적이고 매력적인 외관을 제공하여, 대부분의 응용프로그램에 그대로 (개발자가 커스텀 템플릿 스타일을 작성할 필요 없이) 사용할 있도록 하는 것입니다. 또한 익스프레션 블렌드로 사용하면여 쉽게 변경할 있도록 하는 것입니다.

RC 버전에는 최종 버전에 예정된 것과 유사한 스킨들이 포함되어 있습니다. (RC 버전이 발표된 이후에라도 컨트롤의 색상이나 컨트롤 템플릿에 중점을 약간의 향상이 있을 수는 있습니다) 아래는 RC 버전에 포함된 DataGrid, RadioButton, CheckBoxes, DatePicker 컨트롤의 기본 외관입니다.

DatePicker 경우에는 사용자가 날짜를 입력하거나(유효한 날짜인지를 보장하기 위한 마스크 포함), 텍스트박스 오른쪽에 있는 달력 아이콘을 클릭하고 팝업 Calendar 컨트롤에서 날짜를 선택할 수도 있습니다.

실버라이트와 WPF 가장 강력한 기능 가지는 물론 디자이너와 개발자가 모든 컨트롤의 외관을 완전히 변경할 있다는 것입니다. 이는 단순히 색상이나 폰트를 변경하는 이상입니다. 그대로 코드를 작성하지 않고 컨트롤의 비주얼한 UI 완전히 변경하거나 동작(예를 들어 애니메이션을 추가) 변경할 있다는 것입니다.

익스프레션 블렌드에서 실버라이트 컨트롤을 오른쪽 클릭하고 "Edit Control Parts" 서브 메뉴를 선택하면 컨트롤 템플릿을 있습니다.

컨트롤 템플릿 편집 모드에서는 컨트롤의 모든 하위 요소(예를 들어 체크박스의 내부 컨텐트) 조작할 있고, 컨트롤이 현재 속한 "상태" 커스터마이즈 있습니다. (아래 빨간색 테두리가 쳐진 상태 패널을 참조) 기능을 사용하면 디자이너가 컨트롤의 상태에 따른 외형을 커스터마이즈 있습니다 (예를 들어 체크된 상태, 체크되지 않은 상태, 마우스 오버 상태 ). 실버라이트는 사용자의 액션에 따라 컨트롤의 상태가 변경되는 애니메이션을 처리할 있습니다.

실버라이트의 비주얼 상태 모델 작업에 대해서는 저의 이전 포스트 참조하시기 바랍니다.

정리

실버라이트의 최종 버전 발표가 얼마 남지 않았습니다.

만일 베타2 응용프로그램을 가지고 계시다면 최종 버전에 대해 준비하시기 바랍니다. 실버라이트 2 발표되면 기존의 베타 버전이 설치된 사용자들은 자동으로 최종 버전으로 업그레이드 되게 됩니다. RC 버전을 이용하시어 최종 버전이 발표되더라도 시간 이내에 기존 응용프로그램을 바로 업그레이드 있도록 준비를 두시기 바랍니다.

RC 대한 각종 이슈가 있으면 http://www.silverlight.net 있는 포럼에 포스트를 남겨주시면 감사하겠습니다.

도움이 되길 바라며,

스캇

:

비주얼 스튜디오 2008과 닷넷 프레임웍 3.5의 서비스 팩 1 베타

번역/ScottGu's Blog 2008. 5. 13. 15:14

글이 길어서 번역이 완료된 부분 만이라도 일단 올립니다. (번역률 50%)

원문 : Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta

오늘 아침 일찍 저희는 .NET 3.5 SP1와 VS 2008 SP1를 출시하였습니다. 이 서비스 팩은 지난 11월에 출시된 제품들에 대한 피드백을 기반으로 하여 버그를 수정하고 성능을 향상시킨 버전입니다. 더불어 .NET 애플리케이션을 더욱 쉽게 개발할 수 있는 여러가지 추가된 기능도 포함하고 있습니다. (추가된 기능에 대해서는 아래에서 자세히 설명합니다.)

.NET 3.5 SP1와 VS 2008 SP1의 정식 버전은 올해 여름에 무료로 출시될 예정입니다. 베타 버전은 여기에서 다운 받을 수 있습니다.

중요 : SP1 베타 설치 노트

오늘 출시된 SP1 베타는 아직 베타 상태입니다. 그러므로 중요한 컴퓨터에 설치할 때는 매우 주의하여야 합니다. SP1 베타를 설치할 때는 아래와 같이  몇 가지 사항을 유념하시기 바랍니다.

1) 만일 윈도우즈 비스타에 설치한다면 .NET 3.5 SP1 베타를 설치하기 전에 비스타 SP1을 먼저 설치하여야 합니다. 비스타 RTM에서 .NET 3.5 SP1를 설치할 때는 약간의 설치 문제가 발생할 수 있습니다. 이 문제는 .NET 3.5 SP1 정식 버전에서는 해결될 예정입니다만, 그 전까지는 .NET 3.5 SP1를 설치하기 전에 반드시 비스타 SP1을 먼저 설치하시기 바랍니다.

2) 컴퓨터에 VS 2008 Tools for Silverlight 2 베타1이 설치되어 있다면 VS 2008 SP1 베타를 설치하기 전에 먼저 제거하여야 합니다. 또한 KB949325 update for VS 2008도 같이 제거하여야 합니다. 그러지 않으면 설치가 실패하게 됩니다. 이에 대한 자세한 단계는 여기서 확인하실 수 있습니다. (주의 : 두 가지를 각각 제거하여야 합니다.) 컴퓨터에 .NET 3.5 SP1와 실버라이트2 런타임이 같이 설치되는 것은 상관이 없습니다만, VS 2008 Tools for Silverlight 2 package는 삭제되어야 합니다. 몇 주 안으로 VS 2008 SP1와 함께 동작하는 VS 2008 Tools for Silverlight package가 출시될 예정입니다.

3) Expression Blend의 이전 버전과 .NET 3.5 SP1을 같이 설치할 경우 문제가 발생할 수 있습니다. .NET 3.5 SP1의 정식 버전이 출시될 때면 Expression Blend의 모든 버전과 호환이 되겠습니다만, 그 전까지는 최근 버전인 Blend 2.5를 사용하시기 바랍니다.

향상된 웹 개발

.NET 3.5 SP1와 VS 2008 SP1에는 웹 애플리케이션 개발을 향상시키는 수 많은 새로운 기능들이 포함되어 있습니다.

이에 관해서는 VS Web Dev Tools 팀이 이곳에 자세하게 정리해 놓았습니다.  아래는 이에 대한 좀 더 자세한 설명입니다.

ASP.NET 데이터 스캐폴딩 지원 (ASP.NET 동적 데이터)

.NET 3.5 SP1에는 데이터 주도적인 웹 애플리케이션을 신속하게 만들 수 있는 강력한 ASP.NET 데이터 "스캐폴딩" 프레임웍을 지원합니다. ASP.NET 동적 데이터를 사용하면 다양한 데이터 객체 모델(LINQ to SQL, LINQ to Entities, REST Services, 기타 ORM 혹은 동적 데이터 공급자 객체 모델 포함)에 기반하여 웹 UI를 자동으로(완전한 CRUD - 생성, 조회, 변경, 삭제를 지원하는) 생성할 수 있습니다.

SP1의 이 새로운 기능은 ASP.NET의 기존 컨트롤인 GridView, ListView, DetailsView, FormView과도 통합되어 있으며, 스마트한 유효성 검사와 유연한 데이터 템플릿 옵션도 지원합니다. 또한 서버 컨트롤에 대한 스마트 필터링 기능도 제공하며, 기본 키/참조 키 관계를 자동으로 탐색하여 참조 키의 친근한 이름을 표시하는 것도 가능합니다. - 결과적으로 이 모든 기능은 수 천 줄의 코드를 줄일 수 있는 것입니다.

이 기능에 대해 좀 더 알고 싶으신 분은 여기로 가셔서 Scott Hanselman의 비디오와 튜토리얼을 보시기 바랍니다.

ASP.NET 라우팅 엔진 (System.Web.Routing)

.NET 3.5 SP1은 요청받은 URL을 라우트 핸들러와 매핑시키는 유연하고 새로운 URL 라우팅 엔진을 탑재하고 있습니다. 여기에는 깔끔한 URL(예를 들자면, /Products/Browse/Beverages)에서 매개변수를 파싱하는 기능과, 라우트 레지스트레이션에서 새로운 URL을 계산하고 생성하는 기능이 포함되어 있습니다.

새로운 라우팅 엔진은 ASP.NET 동적 데이터와 ASP.NET MVC 프레임웍에서 모두 사용되며, 웹폼과 MVC 기반의 요청을 모두 지원합니다.

ASP.NET AJAX Back/Forward 버튼 기록 지원

.NET 3.5 SP1에는 브라우저의 기록 리스트를 더욱 편리하게 제어할 수 있는 ASP.NET AJAX API가 추가되었습니다. (브라우저의 뒤로/앞으로 버튼의 동작을 조작할 수 있습니다.)

자세한 내용은 이 기사이 스크린캐스트를 보시기 바랍니다.

ASP.NET AJAX 스크립트 결합 지원

.NET 3.5 SP1에는 <asp:ScriptManager> 서버 컨트롤에 여러 개의 스크립트 참조를 선언적으로 정의할 수 있는 <CompositeScript> 요소가 추가되었습니다.  CompositeScript 요소 내의 모든 스크립트 참조는 서로 결합되어 클라이언트에는 하나의 스크립트인 것 처럼 동작을 합니다. 이는 서버에 대한 요청을 줄여 ASP.NET AJAX 애플리케이션의 페이지 로딩 시간을 향상시킵니다.

스크립트 결합 기능은 경로 기반 스크립와 리소스 기반 스크립트를 모두 지원합니다. 또한 결합된 스크립트를 ScriptResources.axd 핸들러를 이용하여  동적으로 지원할 수도 있습니다.

Visual Studio 2008 HTML 디자이너와 HTML 소스 편집기의 성능 향상

지난 2월에 VS 2008 웹 디자이너의 성능을 향상시키는 HotFix 롤업이 배포된 적이 있습니다. VS 2008 SP1는 이 픽스를 포함하고, 또 추가적인 성능도 향상되었습니다.

Visual Studio 2008 자바스크립트 스크립트 포맷팅과 코드 설정

비주얼 스튜디오는 VB와 C#에 대해서는 오래 전부터 강력한 소스 코드 포맷팅(빈 칸, 줄 바꿈, 괄호 위치 등) 옵션을 제공하여 왔습니다.

VS 2008 SP1는 자바스크립트에 대해서도 이전보다 더욱 강력한 소스 코드 포맷팅을 지원합니다. (인라인 <script> 블록과 .js 파일을 포함). 이제 도구 -> 옵션 대화상자를 이용하면 자바스크립트 코딩 설정을 변경할 수 있습니다.

소스 편집기에서 자바스크립트 코드를 타이프하면 여기서 설정한 내용이 자동으로 반영됩니다. 또는 기존 코드를 선택한 후 오른쪽 버튼을 누르고 "Format Selection" 옵션을 선택하면 기본 코드에 적용할 수도 있습니다. 더 자세한 사항은 여기를 참조하십시오.

다양한 Javascript/AJAX Frameworks를 지원하는 향상된 Visual Studio Javascript 자동 완성

VS 2008의 소스 뷰에서는 자바스크립트 자동 완성이 지원됩니다. VS 2008의 첫 버전에서는 단순한 자바스크립트와 ASP.NET AJAX 자바스크립트 타입 패턴으로 구현된 자바스크립트에 대해서만 자동 완성 기능이 동작하였습니다. 자바스크립트는 매우 유연한 언어이고 많은 자바스크립트 라이브러리들은 이런 유연함을 적극적으로 활용하고 있습니다. 바로 이런 유연한 때문에 자바스크립트의 자동 완성 기능을 구현하는 것은 매우 어려운 일이었습니다.

VS 2008 SP1은 인기 있는 자바스크립트 라이브러리와 같이 사용할 때 이전보다 자동 완성 기능이 대폭 향상되었습니다. (JQuery, Prototype, Scriptaculous, ExtJS, 그리고 기타 대중적인 라이브러리들을 지원합니다.) 또한 저희는 자동 완성 기능을 더욱 향상시키기 위해 자동 완성 힌트 파일을 다운로드 할 수 있게 하고, 인기 있는 라이브러리들에 대해서는 문서화 지원을 할 계획도 검토하고 있습니다.

아래 그림은 JQuery 스타트업 함수에서 VS 2008 SP1 자바스크립트 엔진이 작동하는 모습입니다.

아래 그림과 같이 JQuery 셀렉터에 묶여 있다고 하더라도 VS 2008 SP1이 메서드 매개변수를 완성하는 것을 볼 수 있습니다.

ASP.NET 프로젝트에서 WCF 서비스에 대한 Visual Studio 리팩토링 지원

VS 2008 SP1 ASP.NET 웹 사이트와 ASP.NET 웹 응용프로그램 프로젝트에 포함된 WCF 서비스에 대한 리팩토링을 지원합니다.

클래스 이름이나 인터페이스 계약, 혹은 WCF 서비스의 네임스페이스의 이름을 변경하는 리팩토링을 실행하면, VS 2008 SP1는 web.config와 이를 참조하는 SVC 파일을 자동으로 수정합니다.

클래식 ASP 코드에 대한 Visual Studio의 자동 완성과 디버깅 지원

예전 비주얼 스튜디오는 클래식 ASP(.asp) 페이지에 대한 자동 완성과 디버깅을 지원하였습니다. 이후의 VS 버전들에서는 클래식 ASP 페이지와 프로젝트를 생성하는 파일과 프로젝트 템플릿을 지원하지 않았습니다. VS 2008의 첫 버전에서도 저희는 클래식 ASP를 아직 쓰는 사람은 없을 것이라고 잘못 생각하였었는데, 첫 버전이 출시되고 나서 그렇지 않다는 피드백을 받게 되었습니다.

VS 2008 SP1에는 클래식 ASP 자동 완성과 디버깅이 다시 추가되었습니다.

Visual Web Developer Express 에디션의 클래스 라이브러리와 웹 응용프로그램 프로젝트 지원

무료인 Visual Web Developer 2008 Express 에디션도 SP1으로 업데이트 되면서 클래스 라이브러리와 ASP.NET 웹 응용프로그램 프로젝트 타입을 지원하게 됩니다. Visual Web Developer Express의 이전 버전은 오직 ASP.NET 웹 사이트 프로젝트만 지원했었습니다.

클래스 라이브러리와 ASP.NET 웹 응용프로그램 프로젝트 타입 지원에는 여러 가지 이점이 있지만, 그 중에서도 ASP.NET MVC와 Silverlight 프로젝트가 Visual Web Developer 2008 Express에서도 무료로 개발될 수 있다는 것이 가장 큰 이점이 될 것입니다. 위에서 말씀 드린 자바스크립트, 동적 데이터, 클래식 ASP, AJAX 향상 기능들은 모두 Visual Web Developer Express에도 동일하게 적용됩니다.

향상된 클라이언트 개발

.NET 3.5 SP1와 VS 2008 SP1에는 클라이언트 애플리케이션을 개발함에 이어 성능과 배포와 기능면에 있어 대폭적인 향상이 있습니다.

Tim Sneath의 블로그에 가시면 이 중 일부에 관한 기사를 보실 수 있습니다. 아래는 이에 관한 상세한 설명입니다.

애플리케이션 시동과 워킹 셋 성능 향상

.NET 3.5 SP1에는 애플리케이션의 시동 시간을 훨씬 단축시키는 CLR의 성능 향상이 포함되었습니다. 이는 특히 "차가운 시동"(실행되고 있는 .NET 애플리케이션이 하나도 없는 경우) 시나리오의 경우에 더욱 그렇습니다. 이는 CLR NGEN 이미지의 내부 블록의 레이아웃을 변경하고 디스크 IO 접근 패턴을 대폭 최적화하였기 때문에 가능해졌습니다. 또한 JIT 코드 생성기도 최적화 하여 구조체를 사용하는 인라인 메서드가 더 많이 사용되도록 하였습니다.

저희가 측정한 바에 의하면 SP1이 설치된 큰 .NET 클라이언트 애플리케이션은 40% 정도 시동 시간이 빨라졌습니다. 또한 ASP.NET 애플리케이션의 초당 요청 처리는 경우에 따라서는 10% 가량 향상되었습니다.

New .NET Framework Client Profile Setup Package

.NET 3.5 SP1 introduces a new setup package option for developers building .NET client applications called the ".NET Framework Client Profile".  This provides a new setup installer that enables a smaller, faster, and simpler installation experience for .NET client applications on machines that do not already have the .NET Framework installed.

The .NET Framework Client Profile setup contains just those assemblies and files in the .NET Framework that are typically used for client application scenarios.  For example: it includes Windows Forms, WPF, and WCF.  It does not include ASP.NET and those libraries and components used primarily for server scenarios.  We expect this setup package to be about 26MB in size, and it can be downloaded and installed much quicker than the full .NET Framework setup package.

The assemblies and APIs in the .NET Framework Client setup package are 100% identical to those in the full .NET Framework setup package (they are literally the same binaries).  This means that applications can target both the client profile and full profile of .NET 3.5 SP1 (no recompilation required).  All .NET applications that work using the .NET Client Profile setup automatically work with the full .NET Framework.

A developer can indicate that the client application they are building supports both the .NET Framework Client Profile and the full .NET Framework by pulling up the project properties page for a client application within VS 2008 SP1.  Within the project properties page they can select a new checkbox that indicates it only requires those assemblies included in the .NET Framework Client Profile:

VS 2008 will then ensure that the project can only reference those assemblies shipped in the client profile setup package (and it will generate a compile error if you try and use a type in an assembly not included in the client redist).  The compiled client application will then run on machines that have both the full .NET Framework installed, as well as machines that only have the .NET Framework Client Profile installed.

If you have a machine that only has the .NET Framework Client Profile installed, and you try and run a .NET application on it that did not mark itself as supporting the .NET Framework Client Profile, then the CLR will refuse to run the application - and will instead prompt the end-user to upgrade to the full .NET Framework package.  This ensures that applications always run correctly - and that developers do not need to worry about missing assembly exceptions at runtime if a user tries to run an application that requires the full .NET Framework on a machine that only has the .NET Framework Client Profile installed.

We believe that a large class of .NET client applications will be able to use this new .NET Client Profile setup to significantly speed up their installation, and enable a much more consumer friendly experience.

New .NET Framework Setup Bootstrapper for Client Applications

.NET 3.5 SP1 introduces a new "bootstrapper" component that you can use with client applications to help automate making sure that the right version of the .NET Framework is installed. 

The bootstrapper component can handle automatically downloading and installing either the .NET Framework Client Profile or the full .NET Framework Setup Package from the Internet if your machine doesn't have either of them installed.  The boostrapper can also automatically handle upgrading machines that have a previous version of the .NET Framework installed.  For example, if your machine already has .NET 3.0 installed, and your application requires .NET 3.5, the bootstrapper can optionally download just the update files needed to upgrade it to .NET 3.5 (and avoid having to download the full .NET Framework setup download).

The setup bootstrapper component can be used with both ClickOnce based setup packages, as well as with third party installer products (like Installshield).  The boostrapper optionally enables fully customized setup branding experiences (splash screens, custom setup wizard steps, etc) and should make it much easier to build optimized client setup experiences.

ClickOnce Client Application Deployment Improvements

.NET 3.5 SP1 includes several improvements for ClickOnce deployment of both Windows Forms and WPF applications.  Some of these improvements include:

  • Support for the .NET Framework Client Profile (all ClickOnce features are supported with it)
  • ClickOnce applications can now be programmatically installed through a ‘Setup.exe’ while displaying a customized, branded install UX
  • ClickOnce improvements for generating MSI + ClickOnce application packages
  • ClickOnce error dialog boxes now support links to application specific support sites on the Web
  • ClickOnce now has design-time support for setting up file associations
  • ClickOnce application publishers can now decide to opt out of signing and hashing the ClickOnce manifests as they see appropriate for their scenarios.
  • Enterprises can now choose to run only Clickonce Applications Authenticode signed by ‘Known Publishers’ and block anything else from running
  • FireFox browser extension to support Clickonce installations using FireFox browsers

Windows Forms Controls

SP1 adds several new Windows Forms controls - including new vector shape, Printing, and DataRepeater controls:

WPF Performance Improvements

.NET 3.5 SP1 includes several significant performance optimizations and improvements to WPF.  Some of the specific graphics improvements include:

  • Smoother animations
  • Hardware accelerated rendering of Blur and DropShadow Bitmap Effects
  • Text Rendering speed improvements - especially with VisualBrish and 3D scenes
  • 2D graphics improvements - especially with z-index scenarios
  • A new WriteableBitmap class that enables real-time and tear-free bitmap updates.  This enables custom "paint"-style applications, data visualizations, charts and graphs that optionally bypass the default WPF 2D graphics APIs.
  • Layered window performance improvements

SP1 also adds support for better data scalability in WPF.  The ListView, ListBox and TreeView controls now support "item container recycling" and "virtualization" support which allows you to easily achieve a 40% performance improvement with scrolling scenarios.  These controls also now optionally support a "deferred scrolling" feature which allows you to avoid scrolling in real time and instead wait until a user releases the scroll thumb (the default scrolling mode in Outlook). This can be useful when scrolling over very large data sets quickly. 

WPF Data Improvements

.NET 3.5 SP1 includes several data binding and editing improvements to WPF.  These include:

  • StringFormat support within {{ Binding }} expressions to enable easy formatting of bound values
  • New alternating rows support within controls derived from ItemsControl, which makes it easier to set alternating properties on rows (for example: alternating background colors)
  • Better handling and conversion support for null values in editable controls
  • Item-level validation that applies validation rules to an entire bound item
  • MultiSelector support to handle multi-selection and bulk editing scenarios
  • IEditableCollectionView support to interface data controls to data sources and enable editing/adding/removing items in a transactional way
  • Performance improvements when binding to IEnumerable data sources

WPF also now exposes hooks that enable developers to write custom panels w/ virtualized scrolling.  We'll be using this support together with the above data binding improvements to build the new WPF datagrid that will be shipping later this year.

WPF Extensible Shader Effects

.NET 3.5 SP1 adds support in WPF for a new shader effects architecture and API that allows extremely expressive visual effects to be created and applied to any control or element within WPF.  These shader effects support blending multiple input compositions together.  What makes them particularly powerful is that WPF executes effects (including custom effects you build yourself) using the GPU - giving you fully hardware accelerated graphics performance.  Like almost everything in WPF, you can also use WPF databinding and animation on the properties of an effect (allowing them to be fully integrated into an experience).

Applying an effect onto a Control is super easy - just set a Control's "Effect" property.  For example, to add a hardware accelerated drop-shadow effect on a button you can use the built-in <DropShadowEffect> on it via either code or XAML:

Which will cause the button to render like so:

Because Effects are extensible, developers can create their own custom Effect objects and apply them.  For example, a custom "DirectionalBlurEffect" could be created and added to a ListBox control to change its scroll appearance to use a blur effect if you rapidly scroll across it:

Keep an eye on Greg Schechter's blog to learn more about how the Effects architecture works and to learn how you can both create and apply new effects within your applications (his first set of posts are here). 

Note: In addition to introducing the new Shader Effects API, WPF in SP1 also has updated the existing Blur and DropShadow Bitmap effects already in WPF to be hardware accelerated.

WPF Interoperability with Direct3D

.NET 3.5 SP1 adds support to efficiently integrate Direct3D directly into WPF.  This gives you more direct access to the hardware and to take full advantage of the Direct3D API within WPF applications.  You will be able to treat Direct3D content just like an image within an application, as well as use Direct3D content as textures on WPF controls. 

For example, below are three samples from the Direct3D SDK:

We could either load them in as image surfaces within a WPF application, or map them as textures on WPF controls.  Below is an example of mapping them as textures onto cubes in a WPF 3D application:

Note: the Direct3D integration isn't today's SP1 beta release.  It will appear in the final SP1 release.

VS 2008 for WPF Improvements

VS 2008 SP1 includes several significant improvements for WPF projects and the WPF designer.  These include:

  • Several performance improvements
  • Events tab support within the property browser
  • Ability to sort properties alphabetically in the property browser
  • Margin snaplines which makes form layout much quicker
  • Better designer support for TabControl, Expander, and Grid
  • Code initiated refactoring now updates your XAML (including both control declarations and event declarations in XAML)
  • Go to Definition and Find All References now support things declared in XAML

The debugger has also been updated in SP1 so that runtime errors in XAML markup (for example: referencing styles, datasources and/or other objects that don't exist) will now be better identified within the debugger:

Data Development Improvements

.NET 3.5 SP1 and VS 2008 SP1 include a bunch of improvements for data development. Some of them include:

SQL 2008 Support

VS 2008 and .NET 3.5 are being updated to include support for the upcoming SQL 2008 release.  Visual Studio 2008 data designers, projects and wizards now fully supporting connecting and working against SQL 2008 databases. 

ADO.NET Entity Framework and LINQ to Entities:

.NET 3.5 SP1 includes the new ADO.NET Entity Framework, which allows developers to define a higher-level Entity Data Model over their relational data, and then program in terms of this model.  Concepts like inheritance, complex types and relationships (including M:M support) can be modeled using it.  VS 2008 SP1 now includes built-in designer support to help with this modeling:

The ADO.NET Entity Framework and the VS 2008 Entity Framework Designer both support a pluggable provider model that allows them to be used with any database (including Oracle, DB2, MySql, PostgreSQL, SQLite, VistaDB, Informix, Sybase, and others).

Developers can then use LINQ and LINQ to Entities to query, manipulate, and update these entity objects.

ADO.NET Data Services (formerly code-named "Astoria")

.NET 3.5 SP1 includes a flexible framework that enables the creation of REST-based data services.  Formerly code-named "Astoria", the ADO.NET Data Services framework provides support for publishing data through a standard REST URI syntax and using standard HTTP verbs to operate on the data resources.  Developers can easily expose data models created using the ADO.NET Entity Framework, and/or use a pluggable provider model to expose other data models.

In addition to publishing data sources, the framework also adds a client API for working with remote REST services.  Included with this client API is a LINQ library that allows the remote query of REST services.

WCF Development Improvements

.NET 3.5 SP1 and VS 2008 SP1 include several enhancements for WCF development.  Some of these include:

  • Significant scalability improvements (5-10x) in Web-hosted application scenarios
  • Support for using ADO.NET Entity Framework entities in WCF contracts
  • API usability improvements with DataContract Serializers, and with the UriTemplate and WCF web programming models
  • Enhanced TestClient support within VS 2008 SP1
  • New Hosting Wizard in VS 2008 SP1 for WCF Service Projects
  • Improved debugging support in partial trust scenarios
VB and C# Improvements

The VB and C# teams have also added some nice improvements to VS 2008 SP1:

Visual Basic

You can now add "XML to Schema" items to Visual Basic projects.  On adding these project items a wizard will open that allows you to create a XSD schema set from a variety of XML sources.  This schema set is then added to the project and it enables VB XML intellisense. This support was previously available as a web download - you can learn more about it here.

A XSD browser is also now included with VS 2008 SP1 and allows you to browse XSD schema sets.  With the final SP1 release, developers will be able to right-click on XML element names (either in XML properties or XML literals) in the VB code editor and select “Go To XML Schema Definition” - this will open the XSD browser and display the schema set (and select the current element) for the VB project.

C#

The C# code editor now identifies and displays red squiggle errors for many semantic code issues that previously required an explicit compilation to identify.  For example, if you try to declare and use an unknown type in the C# code-editor today you won't see a compile error until you do a build.  Now with SP1 you'll see live red squiggle errors immediately (no explicit compile required):

The debugger in VS 2008 SP1 has also been improved to provide more debugging support for evaluating LINQ expressions and viewing results at debug time:

LINQ enabled data sources now have a "Results View" node show up within the debugger watch window.  Expanding this node will evaluate a LINQ expression and allow you to examine the materialized objects it returns:

Team Foundation Server Improvements

TFS 2008 SP1 includes a ton of improvements.  Please read Brian Harry's Team Foundation Server 2008 SP1 Preview blog post for more details.

Summary

.NET 3.5 SP1 and VS 2008 SP1 provide a bunch of bug fixes, performance improvements, and additional feature enhancements that make building all types of .NET applications better.  It will be a fully compatible service pack release. 

We plan to ship the final release of both .NET 3.5 SP1 and VS 2008 SP1 this summer as free updates.  You can download and use the beta now here.

Hope this helps,

Scott

:

Professional ASP.NET 3.5 도서가 아마존에서 한시적으로 $16에 판매되고 있습니다.

번역/ScottGu's Blog 2008. 5. 10. 00:17

원문 : Professional ASP.NET 3.5 Book (only $16 on Amazon for a short time)

제가 좋아하는 일 중의 한 가지는 Amazon.com의 도서 판매량을 지켜보는 일입니다. 도서 판매량을 보면 개발자들이 관심 있어 하는 분야에 대한 모니터링을 할 수 있기 때문이지요. 특정 도서에 대한 판매량을 알고 싶으면 저는 www.TitleZ.com 사이트(ASP.NET으로 구축된 사이트입니다)를 이용하는데, 이 사이트에서는 아마존의 실시간 판매 순위와 7일간, 30일간, 90일 간의 판매 순위의 평균에 대한 보고서를 볼 수 있습니다.

오늘 아침에도 이 보고서를 봤는데요, 판매량이 가장 많은 리스트에서 눈에 띄는 책을 한 권 보았습니다. 바로 Bill Evjen와 Scott Hanselman와 Devin Rader가 공저한 "Professional ASP.NET 3.5: In C# and VB" 이었습니다. 놀랍게도 아마존에서 판매되는 모든 책을 통틀어 95위에 랭크되어 있었습니다. 이 순위는 해리 포터 보다도 많이 팔렸다는 의미입니다. (기술 서적으로는 전례가 없던 일입니다.)

실상을 알고 보니 아마존에서 한시적으로 몇 몇 책들에 대해 할인 판매를 하고 있는데, 이 책이 그 중 한 권이었습니다. 정가가 $54인데 한시적으로 $16.49에 판매를 하고 있습니다. 할인 판매를 언제까지 할지는 모르겠지만, 혹 ASP.NET 3.5에 관한 책을 구매할 계획이시라면 이 책을 구매하시는 것도 좋은 선택이 될 듯 합니다.

이 책은 ASP.NET 3.5에 관한 탁월한 책이며 리소스입니다. 지난 3월에 출간된 이후로 줄곧 프로그래밍 도서 분야의 베스트 셀러 자리를 지키고 있으며 (대체로 모든 프로그래밍 관련 도서 중 탑 5에 속해 왔습니다.), 독자들로부터 수 많은 리뷰를 받기도 했습니다. (저도 몇 주 전에 아마존에 리뷰를 남기면서 별 5개를 주었습니다.)

ASP.NET 책을 찾고 계시다면 늦기 전에 아마존에 가셔서 이 책을 구매하시기 바랍니다. (혹 이 포스트를 보신 이후에 책의 가격이 인상되었다면 죄송합니다.)

도움이 되길 바라며,

스캇

추신 : .NET 3.5와 VS 2008에 관한 다른 책을 추천하자면, 저는 C# 3.0 In a NutshellLINQ in ActionPro LINQ: Language Integrated Query in C# 2008를 추천하겠습니다. (모두 아마존에서 평균 별 5개를 받은 책들입니다.)

:

4월 11일자 링크 모음 : ASP.NET, ASP.NET AJAX, ASP.NET MVC, 비주얼 스튜디오, 실버라이트

번역/ScottGu's Blog 2008. 4. 15. 01:49

원문 : April 11th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, Silverlight

아래는 저의 링크 리스트 시리즈의 최신 버전입니다. 제가 예전에 쓴 반응이 좋은 기사들은 ASP.NET 팁, 트릭, 튜토리얼 페이지실버라이트 튜토리얼 페이지에서도 찾으실 수 있습니다.

ASP.NET
ASP.NET AJAX
ASP.NET MVC
  •  ASP.NET MVC : 멤버쉽 스타터 킷 : Troy Goode는 ASP.NET MVC용 멤버쉽 스타터 킷을 만들었습니다. 이 스타터 킷은 등록 페이지, 사용자 인증 로그인 페이지, 사용자와 권한을 생성/관리하는 관리자 기능을 포함하고 있습니다. 다운로드는 여기서 하실 수 있습니다.

  • ASP.NET MVC : 에러 처리 액션 필터 : Troy Goode는 런타임 에러를 잡아서 처리하는 ASP.NET MVC 액션 필터에 대한 기사도 썼습니다.

  • ASP.NET MVC와 IIS6을 사용하여 URL을 예쁘게 만드는 방법 : James Geurts는 IIS6에서 동작하는 ASP.NET MVC를 이용하여 익스텐션을 사용하지 않는 URL을 만드는 방법에 관한 기사를 썼습니다. (참고 : IIS7에서 동작하는 ASP.NET MVC에서는 따로 특별한 설정을 하지 않아도 됩니다.)

비주얼 스튜디오
실버라이트
  • Dave Campbell의 실버라이트 링크 시리즈: Dave Campbell는 실버라이트 기사와 실버라이트 웹 컨텐트에 대한 링크를 담은 링크 시리즈를 정기적으로 작성합니다. 실버라이트에 대한 최신 정보를 지속적으로 얻고 싶다면 그의 블로그를 구독하실 것을 강력하게 추천합니다.

  • 실버라이트 2 Map과 DataGrid 튜토리얼 : Jason Zander는 Map 컨트롤과 DataGrid 컨트롤을 함께 사용하여 데이터를 필터링하고 분석하는 데이터 기반 애플리케이션을 작성하는 방법을 설명하는 두 파트로 된 튜토리얼을 썼습니다.

  • 실버라이트 2와 WCF와 LINQ to SQL을 함께 사용한 CRUD 동작 : 스위스 MSDN 팀의 Ronnie Saurenmann은 WCF를 이용하여 LINQ to SQL과 연결된 실버라이트 2에서 삽입, 변경, 삭제 작업을 하는 방법을 다루는 비디오를 제작하였습니다.

  • 템플릿 기반의 실버라이트 2 컨트롤 제작 : Shawn Burke는 컨트롤을 확장하고 축소하는 기능을 구현하는 템플릿 기반의 실버라이트 컨트롤을 만드는 방법에 대한 기사를 썼습니다.

도움이 되길 바라며,

스캇

:

ASP.NET 동적 데이터 프리뷰

번역/ScottGu's Blog 2008. 4. 11. 13:49

원문 : ASP.NET 동적 데이터 프리뷰

몇 달 전에 우리는 올 연말에 출시될 새로운 기능들(ASP.NET AJAX 확장, ASP.NET MVC, ASP.NET 실버라이트 지원, ASP.NET 동적 데이터 등)을 묶은 ASP.NET 3.5 Extensions Preview를 발표하였습니다.

그 중 ASP.NET 동적 데이터 지원은 LINQ to SQL 혹은 LINQ to Entities 객체 모델을 사용하여 데이터 주도적인 웹사이트를 신속하게 작성할 수 있는 기능입니다. ASP.NET 동적 데이터는 ORM 데이터 모델의 메타 데이터를 기반으로 하여, 완전한 기능을 가진 데이터 입력 페이지와 보고서 페이지를 자동으로 만들어냅니다. 또한 HTML 이나 코드를 사용하여 뷰 템플릿을 커스터마이징하는 것도 가능합니다.

ASP.NET 동적 데이터 프리뷰

오늘 말씀드릴 것은 이 ASP.NET 동적 데이터 프리뷰의 업데이트된 버전입니다. 여기에 가시면 자세한 정보를 얻으실 수 있고, 다운로드도 가능합니다.

ASP.NET 동적 데이터 프리뷰는 이제 표준 내장 ASP.NET 데이터 컨트롤(GridView, ListView, FormView, DetailsView 등)들 지원합니다. 뿐만 아니라 컨트롤들이 참조키 관계를 제어하는 것도 가능하게 합니다. 그리드뷰를 예로 들자면, 참조키 컬럼에 (숫자가 아닌) 알아보기 쉬운 이름이 표시되며, 또한 편집 모드에서는 드롭다운 리스트가 나타납니다.

또한 동적 데이터 지원은 데이터 모델 클래스에서 설정해둔 제약 사항에 따라 UI의 유효성 검사도 지원합니다 (클라이언트 측과 서버 측 모두). 예를 들어, 데이터베이스의 컬럼에 50글자 미만이고 널을 허용하지 않는다고 제약 사항을 두었다면, 이는 해당 UI 컨트롤 유효성 검사기에 자동으로 반영이 됩니다. LINQ to SQL 혹은 LINQ to Entities의 데이터 모델 클래스의 제약 사항이 변경되면 UI는 이름 자동으로 감지하고 변경 사항을 반영합니다.

표준 데이터 모델 메타데이터에 더하여 커스텀 메타데이터를 선언하면 더욱 복잡한 유효성 검사를 수행할 수도 있습니다.

지금까지 말씀드린 모든 기능은 LINQ to SQL와 LINQ to Entities에 모두 사용할 수 있습니다.

비주얼 스튜디오 동적 데이터 프로젝트 마법사

ASP.NET 동적 데이터 런타임 지원에 이어 VS 웹 도구 팀은, 데이터 주도적인 웹사이트를 신속하게 만들 수 있는 동적 데이터 프로젝트 마법사의 첫번째 프리뷰도 발표하였습니다. 마법사를 사용하면 작성하고자 하는 LINQ to SQL 데이터 모델의 데이터베이스, 테이블, 뷰, 저장 프로시저를 선택할 수 있습니다.

데이터 모델을 만들고 나면, 마법사를 이용하여 UI를 구성할 동적 데이터 템플릿 페이지를 선택할 수 있습니다.

그 다음에는 각 페이지가 추가/편집/삭제 UI를 포함할 것인지를 지정합니다.

마침을 누르면, 데이터 모델 클래스와 데이터 UI 페이지들을 가지고 있는 프로젝트가 만들어집니다. 여기에 가시면 마법사에 대한 더 많은 정보와 마법사가 실제로 동작하는 스크린캐스트를 보실 수 있습니다.

How to Get Started

이 곳에 가시면 ASP.NET 동적 데이터 프리뷰에 대한 더 자세한 정보를 볼 수 있고 로컬에서 실행할 수 다운로드도 받으실 수 있습니다.

David Ebbo의 dynamic data presentation at MIX 08을 보시면 ASP.NET 동적 데이터 프리뷰의 동작 방식을 이해하는 데 도움이 될 것입니다. Scott Hunter의 스크린캐스트와 Brad Millington의 스크린캐스트도 유용한 자료입니다. 또한 David의 포스트를 보시면 ASP.NET 동적 데이터의 12월 프리뷰와 이번 버전 사이에 변경된 점도 확인하실 수 있습니다.

질문과 피드백은 www.asp.net포럼을 이용하시면 됩니다.

도움이 되길 바라며,

스캇

:

팁/트릭 : 실버라이트와 WPF 사용자 정의 컨트롤 만들고 사용하기

번역/ScottGu's Blog 2008. 4. 5. 16:13

원문 : Tip/Trick: Creating and Using Silverlight and WPF User Controls

실버라이트와 WPF의 기본 설계 목표 중 한 가지는 UI 기능을 재사용 가능한 컨트롤로 캡슐화하기 쉽게 하는 것입니다.

Control 클래스들(즉  Control  기초 클래스 혹은 TextBox, Button 같은 컨트롤)에서 상속받아 새로운 사용자 지정 컨트롤을 구현할 수 있습니다. 또는 XAML 마크업 파일을 이용하여 UI를 구성하는(따라서 무척 쉽게 개발할 수 있습니다) 재사용가능한 사용자 정의 컨트롤을 만들 수도 있습니다.

저의 Digg.com 튜토리얼 파트 6에서 VS 2008의 "새 항목 추가" 대화 상자를 통해 사용자 정의 컨트롤을 만드는 방법을 보여드린 적이 있습니다. 사용자 정의 컨트롤에 캡슐화된 UI의 최종 모습을 예상할 수 있다면 이는 좋은 방법입니다. 또한 이 방법은 Expression Blend를 사용할 때도 적용될 수 있습니다.

기존 UI를 캡슐화하여 사용자 정의 컨트롤로 만들기

실제로 부모 페이지나 부모 컨트롤에 올려지기 전까지는 그 캡슐화된 UI 기능을 알 수 없는 사용자 정의 컨트롤도 있을 수 있습니다.

예를 들어, 사용자로부터 배송 정보와 결제 정보를 입력받는 폼을 개발한다고 가정하겠습니다. 먼저 배송 정보를 캡슐화하는 UI를 작성하여야 합니다. <border> 컨트롤을 페이지에 올려 놓고, 그 안에 그리드 레이아웃 패널을 집어 넣습니다(2열 4행). 그리고 라벨과 텍스트박스들을 추가합니다.

신중하게 레이아웃을 완성한 후에야 다음과 같은 사실을 알게 됩니다. "아하, 똑같은 UI를 결제 정보에도 사용할 수 있겠구나. 재사용 가능한 주소 사용자 정의 컨트롤을 만들어서 재사용하면 되겠네".

"새 항목 추가" 프로젝트 템플릿을 이용하여 빈 사용자 정의 컨트롤을 만들고 위 UI를 복사/붙여넣기 합니다.

블렌드를 이용하면 이 작업을 더 수월하게 할 수 있습니다. 사용자 정의 컨트롤로 캡슐화할 컨트롤들을 선택한 후, "오른쪽 클릭"한 후 "Make Control"을 선택합니다.

"Make Control"을 선택하면 새 사용자 정의 컨트롤의 이름을 묻는 확인 상자가 뜹니다.

"AddressUserControl"이라고 이름을 지정한 후 확인 버튼을 누릅니다. 그러면 위에서 선택한 컨트롤들을 포함하는 새 사용자 정의 컨트롤이 만들어집니다.

프로젝트를 다시 빌드하고 원래의 페이지로 돌아가면, 이전과 동일한 UI를 볼 수 있습니다. 하지만 이 UI는 이제 AddressUserControl로 캡슐화되어 있습니다.

첫 번째 AddressUserControl을 "ShippingAddress" 이라고 이름을 지정한 후 결제 정보를 받는 두 번째 사용자 정의 컨트롤을 추가합니다. (이 이름은 "BillingAddress" 라고 지정 합니다.)

이제 주소 정보의 UI를 변경해야 할 경우, 한 곳에서만 수정을 하면 배송과 결제 정보의 UI가 모두 변경이 됩니다.

AddressUserControl에 바인딩되는 데이터 바인딩 Address 객체

지금부터는 AddressUserControl에 바인딩할 수 있는 Address 데이터 모델 클래스를 작성하도록 하겠습니다. 아래와 같이 클래스를 정의합니다. (자동으로 구현된 속성 기능을 사용하였습니다.)

Page.xaml의 코드 비하인드 파일에 Address 객체의 인스턴스를 두 개 생성합니다. 하나는 배송 정보를 나타내며 다른 하나는 결제 정보를 나타냅니다. (예제 목적이므로 더미 데이터로 채우도록 하겠습니다.) 그리고는 Address 객체를 AddressUserControl에 프로그래밍 방식으로 바인드하는데, 이는 각 사용자 정의 컨트롤의 "DataContext" 속성에 배송 혹은 결제 Address 데이터 모델 인스턴스를 지정하면 됩니다.

마지막 단계는 AddressUserControl.xaml 파일에 선언적으로 {Binding} 구문을 지정하는 것입니다. 이는 사용자 정의 컨트롤 내부에 있는 텍스트박스 컨트롤의 "Text" 속성과 Address 데이터 모델 객체의 속성을 바인딩하는 것입니다.

F5를 눌러 애플리케이션을 실행하면 Address 데이터 모델이 자동적으로 AddressUserControl에 바인딩이 되는 것을 확인할 수 있습니다.

{Binding} 선언을 "Mode=TwoWay"로 선언하였기 때문에 텍스트박스에 입력된 변경내용운 자동으로 Address 데이터 모델 객체로 전달됩니다. (어떠한 코드도 필요가 없습니다.)

예를 들어, 브라우저에서 원래의 배송 주소를 디즈니랜드로 변경을 하겠습니다.

"Save" 버튼의 "Click" 이벤트 핸들러에 디버거 중단점을 걸고 "Save" 버튼을 누르면, 위 텍스트박스의 변경 내용이 자동으로 "_shippingAddress" 데이터 모델 객체에 반영이 되는 것을 확인할 수 있습니다.

따라서 SaveBtn_Click 이벤트 핸들러에 배송과 결제 Address 데이터 모델 객체를 저장하는 코드를 추가하면 되는데, 이떄 페이지의 UI로부터 값을 수동으로 읽어들이거나 할 필요가 없습니다.

이처럼 WPF와 실버라이트가 지원하는 뷰와 모델의 명확한 구분을 사용하면, 주소 사용자 정의 컨트롤이 변경되더라도 페이지의 코드는 변경되지 않으므로 더욱 유연한 애플리케이션을 작성할 수 있습니다. 또한 유닛 테스트도 더욱 수월하게 수행할 수 있습니다. (자세한 내용은 저의 실버라이트 유닛 테스트(한국어) 포스트를 읽어보시기 바랍니다.)

정리

WPF와 실버라이트를 사용하면 매우 편리하게 컨트롤의 UI 기능을 캡슐화할 수 있습니다. 사용자 정의 컨트롤과 바인딩과 함께 사용하면 뷰와 모델의 분리가 가능해, 데이터를 조작하는 코드를 매우 깔끔하게 작성할 수 있습니다.

위 샘플을 직접 실행시켜 보고 싶으신 분들은 여기서 다운받을 수 있습니다.

실버라이트와 WPF에 대해 더 자세한 알고 싶으면, 저의 실버라이트 튜토리얼 링크 페이지를 방문해보시기 바랍니다. 그리고 MIX08에서 Karen Corby가 한 강연(사용자 정의 컨트롤, 사용자 지정 컨트롤, 스타일링, 컨트롤 템플릿 등을 다루고 있습니다)도 적극 추천합니다. 여기에 가시면 무료로 보실 수 있습니다.

도움이 되길 바라며,

스캇

:

실버라이트 유닛 테스트

번역/ScottGu's Blog 2008. 4. 2. 23:46

원문 : Unit Testing with Silverlight

실버라이트 베타1이 출시되었을 때 가장 중요한 기능 중 한 가지는 API 레벨과 UI 레벨에서 수행할 수 있는 유닛 테스트 도구였습니다. 실버라이트의 유닛 테스트 도구는 크로스 브라우저와 크로스 플랫폼을 지원하고, 또한 자동화된 유닛 테스트를 신속하게 수행할 수 있습니다.

실버라이트 유닛 테스트 도구에는 이 도구를 이용하여 작성된 2,000 개의 유닛 테스트 소스도 포함되어 있습니다. 이 소스는 실버라이트 컨트롤 소스에 대한 자동화된 커버리지를 제공합니다. 실버라이트 컨트롤 소스의 라이센스는 상당히 관대하기 때문에, 이를 수정한 후 유닛 테스트를 실행하여 검증하고 다시 배포하는 것도 가능합니다.

실버라이트를 유닛 테스트 하는 방법

Jeff Wilcox(실버라이트 유닛 테스트 프레임웍과 도구를 개발한 개발자입니다.)는 실버라이트 유닛 테스트 프로젝트를 솔루션에 추가하는 방법을 설명한 멋진 블로그 포스트를 작성하였습니다.(링크) 그가 테스트한 채팅 애플리케이션은 지난 달에 제가 작성한 Expression Blend 블로그 포스트 튜토리얼(한국어)에서 다운로드 받을 수 있습니다. 또한 그는 유닛 테스트를 수행하는 과정을 담은 유용한 비디오 포스트도 공개하였습니다.

Jeff의 포스트가 설명하는 것 처럼, 이제 비주얼 스튜디오 솔루션에 “실버라이트 테스트 프로젝트”를 추가할 수 있습니다.

clip_image002

그 다음에는 테스트 프로젝트에 API나 실버라이트 컨트롤의 UI 액션을 시뮬레이션하는(버튼 클릭 시뮬레이션 등) 테스트 클래스를 추가합니다.

clip_image004

그리고 테스트 프로젝트를 실행하면 테스트 결과를 검증하고 그 상태를 확인할 수 있습니다.

Jeff의 테스트 프레임웍은 브라우저 기반의 테스트 도구와 보고서 시스템을 제공합니다. (이 말은 실버라이트가 실행되는 어떠 브라우저나 OS에서도 사용할 수 있다는 의미입니다.)

clip_image006

Jeff의 테스트 프레임웍은 각각의 테스트 후 곧바로 컨트롤을 다시 설정하는 기능을 제공합니다. (따라서 새로운 브라우저를 재시작하는 작업을 하지 않아도 되는데, 이는 대단한 시간 절약이라고 할 수 있겠습니다.)

수 백 혹은 수 천 개의 자동화된 테스트도 몇 초 안에 수행이 됩니다.

clip_image008

녹색은 테스트가 통과되었다는 의미입니다. 적색은 테스트 케이스가 실패하여, 실패한 어셜션 (그리고 / 또는) 런타임 예외에 대한 로그를 기록하였다는 의미입니다.

정리

AJAX 애플리케이션과 관련하여 자동화된 유닛 테스트 혹은 TDD 전략에 대한 고민을 많이 하셨다면, 실버라이트가 제공하는 테스트 도구가 훌륭한 선택이 될 수 있을 것입니다. 비주얼 스튜디오를 사용하면 테스트 프로젝트를 별도의 프로젝트로 뺄 수 있어, 실버라이트 프로젝트에 테스트 코드를 포함시키지 않을 수도 있습니다.

실버라이트 2 최종 버전에서는 여태까지 말씀 드린 유닛 테스트 도구와 프레임웍 뿐만 아니라 UI 자동화 API도 지원될 예정입니다. 이 기능을 이용하면 장애우들도 접근 가능한 애플리케이션을 만들 수 있습니다. 또한 실제 마우스와 키보드의 동작을 그대로 흉내 내는 UI 테스트를 수행할 수도 있게 됩니다. 결과적으로 이러한 기능들이 결합하면 더욱 튼튼하고 유지보수가 유연한 RIA 솔루션을 만들 수 있게 되는 것입니다.

도움이 되길 바라며,

스캇

추신 : 저의 “실버라이트 팁, 트릭, 튜토리얼, 링크” 포스트에 가시면 실버라이트 2에 대한 더 많은 내용을 보실 수 있습니다.

:

ASP.NET MVC 소스 코드가 공개되었습니다.

번역/ScottGu's Blog 2008. 3. 21. 21:00

원문 : ASP.NET MVC Source Code Now Available

지난 달에 저는 ASP.NET MVC 로드맵에 관한 글을 썼습니다. 그리고 2주 전에는 ASP.NET Preview 2 릴리즈가 발표되었지요. 이 릴리즈에 대해서는 ASP.NET 팀의 Phil Haack가 훌륭한 포스트를 썼습니다. 또한 Scott Hanselman은 ASP.NET MVC 튜토리얼 비디오를 여러 편 만들었습니다.

제가 MVC 로드맵에는 ASP.NET MVC 프레임웍의 소스 코드가 공개되어서 빌드와 디버거와 패치 작업이 쉽게 것이라는 구절이 있었습니다. (따라서 버그를 발견하더라도 다음 버전까지 기다릴 필요가 없이 직접 해결할 수가 있다는 의미입니다.

앞으로 출시될 여러 버전의 ASP.NET 릴리즈에서 공통으로 사용할 수 있는 소스가 포함된 ASP.NET CodePlex 프로젝트가 오늘 날짜로 공개되었습니다. 여기에 가시면 빌드가 가능한 ASP.NET MVC 프리뷰2의 소스를 다운받을 수 있습니다.

ASP.NET MVC 프레임웍 빌드하기

여기 zip 파일을 다운받아서 압축을 풀면 "MVC" 하위 폴더에 VS 2008 솔루션 파일이 있습니다.

파일을 더블 클릭하면 MVC 소스를 포함하고 있는 MVC 프로젝트가 VS 2008에서 열립니다.

빌드를 실행하면 프로젝트가 컴파일 되고 결과물로 System.Web.Mvc.dll 어셈블리가 .zip 디렉토리의 루트의 \bin 디렉토리에 생성됩니다. 어셈블리를 프로젝트나 애플리케이션으로 복사하여 사용하면 되겠습니다.

참고 : 커스터마이징된 ASP.NET MVC 바이너리를 재배포 하는 것은 라이선스 위반입니다. (호환되지 않는 ASP.NET MVC 버전들이 여기 저기 떠돌아 다니며 서로 충돌하는 것을 막기 위함입니다.) 하지만 해결할 없는 버그를 감추기 위해 코드를 수정하고 리빌드하는 것은 괜찮습니다.

다음 단계

소스 코드의 공개는 앞으로도 계속 이어질 것입니다. 공식적인 프리뷰를 업데이트할 마다 소스도 같이 공개될 예정입니다. 만일 소스를 자주 분석하고 빌드하고자 하는 요구가 있다면, 프리뷰 중간 중간에라도 소스를 업데이트할 예정입니다.

그리고 향후에는 ASP.NET MVC 단위 테스트 슈트도 발표할 계획입니다. (현재는 테스트할 저희 내부용 모킹 프레임웍을 사용하고 있는데, 출시될 때는 이런 의존성은 해소될 것입니다.)

도움이 되길 바라며,

스캇.

: