강성재 Developer Evangelist 한국마이크로소프트 마이크로소프트 차세대 개발 플랫폼 강성재 Developer Evangelist 한국마이크로소프트
목차 플랫폼으로의 웹 선언적 프로그래밍 모델 경량 프로그래밍 모델 가젯이란?
Software + Service + Hardware PC 산업의 변화 저장, 복사, 계산 데이터베이스 오피스 자동화 PC Software Storage 하이퍼텍스트, E-메일 협업 게임과 멀티미디어 Internet Networking 빈틈없는 컴퓨팅 경험 Display 정보 공유와 사용자 네트워크 Services Software + Service 빈틈없는 생활 경험 Software + Service + Hardware
Information Scenarios 변화의 방향 “엔터프라이즈” “일반 사용자” LOB & ISV Information Scenarios Rapid Prototyping Ecommerce Entertainment Brand Experiences as
변화의 방향 일반 사용자 엔터프라이즈 명칭 Web 2.0 SOA 제어 분산 집중 조직 관리 되지 않는 관리 되는 디바이스 형태 매우 많음 적음 (servers) 디바이스 수 매우 많음 많음 연결 글로벌 중간 영향력 거대함 많음 요구사항 거대함 많음 통신 비동기 통신 / REST 비동기 통신 / WS-* 변화의 속도 빠름 느림 참고 : REST (Representational State Transfer)
Time To Market!!!
.NET 핵심
Windows Presentation Foundation 사용자 인터페이스, 미디어, 문서에 대한 통합된 접근을 통한 생산성
WPF 아키텍처 XPS Viewer Managed Unmanaged Windows Presentation Foundation Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES Packaging Services XPS Documents Animation 2D 3D Audio Imaging Text Video Effects Composition Engine MEDIA INTEGRATION LAYER Controls Layout Windows Presentation Foundation XPS Viewer Property Engine Input / Eventing System .NET Framework 2.0 Desktop Windows Manager Media Integration Layer DirectX Windows Vista Display Driver (LDDM) Windows Media Foundation Composition Engine Print Spooler Managed Unmanaged 10
디자이너 – 개발자의 생산성 XAML을 통한 디자이너와 개발자의 협업 디자인 비즈니스 로직 디자이너와 개발자를 위한 도구 써드 파티 도구 (Mobiform, ZAM 3D) XAML을 통한 디자이너와 개발자의 협업 디자인 비즈니스 로직 If user experience matters, design matters. If design matters, designers matter. If designers matter, we need to make designers first class citizens of the traditional software development process. Let’s talk about how Microsoft is unlocking Developer and Designer collaboration and is empowering them to create successful UX software applications. 1) Traditionally designers would “mockup” the graphic design for a software application. Then by any means possible designers would deliver this “looks” to the developer… they would use JPG images, PNGs, PSDs or even Powerpoint presentations to express the designer intention. Then the developer would receive this “static images” and would try to convert that into reality. If the designer created some “non standard” controls, the developer was forced to code in GDI+ or other complex technologies to create the control raising the time and budget to such level that it was simply better to take the decision of making the UI more “standard”. The developer trying to recreate the idea of the designer would deliver something like what is shown on the right side of the screen. As you can see it represents only a tiny bit of the original vision. 2) In order to enable the collaboration between developers and designers, Microsoft has created XAML. XAML is the format which integrates the development process and is the way for both developers and designers to access the functionalities of WPF. As you can see we have no middle man anymore. XAML is generated by the designer, XAML is consumed by the developer. Further more, the workflow is now two-way meaning that the development process can also start from the developer side who creates XAML and then delivers this XAML to the designer which can take it and style it or completely redesign its appearance. 3) As a brief sample this are the tools that enable this kind of process: On the designer side we have Expression and on the Developer side we have Visual Studio. 11
XAML = Extensible Application Markup Language 도구를 통해 쉽게 접근 코드와 컨탠츠의 구분 클라이언트 애플리케이션과 브라우저에서 랜더링 <Button Width="100"> OK <Button.Background> LightBlue </Button.Background> </Button> XAML Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET 12
플랫폼으로의 웹 환경 : Windows Live Live.com Toolbar Mobile Search Messenger OneCare Local Expo Mail Custom Domains Spaces Safety Center
플랫폼으로의 웹 : Google
가젯이란? 가젯의 유형? 가젯의 종류? 작고, 경량의 특별한 애플리케이션 정보 가젯 애플리케이션 가젯 유틸리티 가젯 17년 3월 1일 13시 40분 36초 가젯이란? 작고, 경량의 특별한 애플리케이션 작다: 물리적으로 작은 크기 경량: 일반 애플리케이션에 비해 적은 코드 특별한: 제한된 특정 기능을 수행 가젯의 유형? 가젯의 종류? 정보 가젯 애플리케이션 가젯 유틸리티 가젯 데스크톱 (사이드바 가젯) 웹 (Live.com 가젯) 디바이스 (사이드쇼 가젯) 15 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
주요 형태 라이브 가젯 (미니 웹 애플리케이션) 사이드바 가젯 (미니 데스트톱 애플리케이션) 17년 3월 1일 13시 40분 36초 주요 형태 라이브 가젯 (미니 웹 애플리케이션) 동적이고 이동이 많은 사용자에게 유리 Live.com 과 사이드 바에서 사용 가능 사이드바 가젯 (미니 데스트톱 애플리케이션) 풍부하고 복잡한 데스크톱 기반 사용자에게 유리 보안 기능 사이드 바에서만 사용 가능 (도킹과 언도킹 가능) 16 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
라이브 가젯 미니 웹 애플리케이션 미니 웹 애플리케이션 예 동적이고, 이동이 많은 사용자 Live.com, 사이드 바, 기타 17년 3월 1일 13시 40분 36초 미니 웹 애플리케이션 동적이고, 이동이 많은 사용자 Live.com, 사이드 바, 기타 예 World Clock Live.com 에서 구동 17 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
라이브 가젯 18
사이드바 가젯 미니 데스크톱 애플리케이션 미니 데스크톱 애플리케이션 예 풍부하고 복잡한 데스크톱 기반 사용자에게 유리 17년 3월 1일 13시 40분 36초 사이드바 가젯 미니 데스크톱 애플리케이션 미니 데스크톱 애플리케이션 풍부하고 복잡한 데스크톱 기반 사용자에게 유리 보안 기능 사이드 바에서만 사용 가능 (도킹과 언도킹 가능) 예 사이드바 가젯 (언도킹) Vista 데스크톱과 사이드바 (도킹) 19 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Windows Presentation Foundation 연계 포인트 라이브 가젯은 사이드바에 사용 가능 사이드바 가젯 데이터는 사이드쇼에 표시 데스크톱 웹 Windows Vista / XP IE & FireFox 사이드바 Live.com DHTML \ Atlas DHTML \ Atlas Windows Presentation Foundation 20
사용자 경험에 따라 + + + + = = = + + + + + + + = = = = = = App.xaml.cs 내용: 애플리케이션 로직 제작: 개발자 App.xaml 내용: UI 스타일링 제작: 디자이너 + + + + = = = 데스크톱 애플리케이션 App.xaml 내용: UI 스타일링 제작: 디자이너 + + + + + + + = = = = = = Gadget.xml & .Gadget 패키지 사이드바 가젯 21
사이드 바 가젯 22
사이드쇼 프로토타입 노트북 뚜껑에 표시 d-pad 와 메뉴 버튼으로 조작 가젯간의 간단한 탐색 17년 3월 1일 13시 40분 36초 사이드쇼 프로토타입 노트북 뚜껑에 표시 d-pad 와 메뉴 버튼으로 조작 가젯간의 간단한 탐색 23 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Media Center remote control small business server
사이드 쇼 가젯 25
신기술 조언 프로그램 기존 Windows 응용프로그램 (Win32/MFC) WPF & 가젯 ASP, PHP, JSP 등의 스크립트 기반 웹 프로그램 AJAX & WPF/E, XBAP 플래시, 애플릿, ActiveX 기반의 웹 응용 프로그램 WPF/E, XBAP
참고 자료 및 링크 http://www.microsoftgadgets.com http://msdn.microsoft.com/live/ http://dev.live.com/ http://atlas.asp.net/ http://protopage.com/v2 http://www.pageflakes.com/
17년 3월 1일 13시 40분 36초 28 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.