윈도 XP 기반의 소프트웨어 개발 유상열 솔루션 매니저 마이크로소프트 윈도 XP Savvy 어플리케이션  운영체제와 협력하여 최상의 사용자 경험을 제공한다  사용자들은 Savvy 어플리케이션을 윈도 XP 에서 최상의 어플리케이션으로 인식한다  사용자들은 윈도 XP.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

UX, RIA, 그리고 … Silverlight 공도소프트
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Security Solutions (S/W) - Fortify
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
Microsoft® WindowsTM 주요 버전의 역사
Image & Video processing
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
코크파트너 설치 가이드 Window 7.
Power Java 제3장 이클립스 사용하기.
.Net Web Application 2010 컴퓨터공학실험(Ⅰ)
윈도우7 체크 설치 매뉴얼
윤 홍 란 다이알로그(대화상자) 윤 홍 란
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
Power Java 제2장 자바 개발 도구.
MS SQL Server - 마이크로소프트 사가 윈도우 운영 체제를 기반으로 개발한 관계 DBMS
운영체제 박상민.
Ubiquitous Computing Practice - Part I (Installation) -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
소개. 소개 Silverlight, WPF, RIA, UX.... ? Silverlight, WPF, RIA, UX.... ? IT환경의 진화.
Visual Basic .NET 처음 사용하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
AutoBase10 설치 / 데모 프로젝트 실행.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Program Language 환경공학과 천대길.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
Wireless Java Programming
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
홀인원2.0 설치 메뉴얼.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Smart Workplace 개발자 가이드
툴 설치 가이드 PrimeTime SynopsysMentor.
2 보안 1 도구 윈도우 XP > 온밀크 프로그램 설치 장애 (보안 설정) / 품목추가 깨질 때 장애증상
USN(Ubiquitous Sensor Network)
그래픽 모듈 편집.
윈도우 컨트롤.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
HyperWorks Apps 설치 가이드.
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
PMIS 서버 설정 환경설정 작성자 : 배경환.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
오토베이스9 사용자 라이브러리 오토베이스 교육센터 그래픽 모듈 설정과 화면전환에 대하여 자세히 알아본다. <목차>
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
K PaaS-TA 앱 운영.
엑셀 리포트를 웹 클라이언트에서 사용시 설정 방법
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

윈도 XP 기반의 소프트웨어 개발 유상열 솔루션 매니저 마이크로소프트

윈도 XP Savvy 어플리케이션  운영체제와 협력하여 최상의 사용자 경험을 제공한다  사용자들은 Savvy 어플리케이션을 윈도 XP 에서 최상의 어플리케이션으로 인식한다  사용자들은 윈도 XP 를 구매할때 Savvy 어플리케이션을 구매하고 싶어한다

윈도 XP 프로그래밍 지침  새로운 비주얼 스타일과통합  고품질 아이콘 저작  빠른 사용자 전환을 최대한 고려  오토플레이 핸들러 작성  제어판 분류를 따른다  패스포트 인식

윈도 카탈로그  소비자를 ISV, OEM 및 IHV 등과 연결  또한 마이크로소프트를 ISV, OEM 및 IHV 등과 연결하는 방법  모든 종류의 어플리케이션을 나열  로고 어플리케이션은 더욱 주목받는 위치에 배치

윈도 카탈로그  ‘ 시작 ’ 의 ‘ 모든 프로그램 ’ 을 통해 액세스  문제 해결, 도움말, 어플리케이션 호환성 패치 등에 대한 ISV 및 마이크로소프트간 연락처 목록  ISV 로 하여금 베타 정보나 이벤트 등에 관한 정보를 얻을수 있도록

윈도 XP 프로그래머  비주얼 스타일  빠른 사용자 전환  병렬 어셈블리  GDI+  기타  오토 플레이 핸들러  64 비트 윈도  윈도 로고 프로그램  어플리케이션 호환성 테스트  플랫폼 SDK

비주얼 스타일

마이크로소프트 역할  깨끗하고 단순한 비주얼 스타일 제공  ISV 로 하여금 새로운 스타일을 활용하기 위한 메카니즘을 제공  커먼 컨트롤  Theming API  가이드라인 제공

비주얼 스타일을 적용하는 이유  고객의 즐거움과 열정을 이끌어낼 수 있다  주요 릴리즈임을 알린다  장엄해 보이는 ‘ 클래식 ’ 스타일을 변경  비주얼 디자인을 사용자 경험의 키 컴포넌트로 활용한다

새로와진 점 둥근 컨트롤 Alpha 지원 컨트롤의 Hot State

Theme 매니저 + Comctl V6  새로운 conctl32 를 활용하는 쉘 및 어플리케이션에 Theme 을 적용  윈도 어플리케이션의 외관을 혁신  공개 API 는 어플리케이션 작성자로 하여금 쉽게 새로운 외관을 구성하도록 한다

Theme 매니저 uxtheme.dll  새로운 컨트롤의 랜더링을 담당  컨트롤의 파트를 위치시키기 위한 정보 API 를 제공  모든 어플리케이션의 비클라이언트 영역에 대한 새 비주얼 스타일 랜더링  스크롤 바  타이틀 바  메뉴

커먼 컨트롤 (Comctl32.dll V6)  윈도우 컨트롤 ( 버튼, 리스트 박스, 에디트 컨트롤, 등 ) 과 공용 컨트롤 ( 리스트 뷰, 탭 컨트롤, 툴바, 툴팁, 등 ) 이 Comctl V6 에 통합  이들은 Theme 매니저를 이용하여 시각적 랜더링  기존 어플리케이션은 별도의 manifest 를 제공하지 않으면 Comctl v5.8 을 이용  Comctl V6 는 하위버젼에는 탑재되지 않는다

동작 원리 ComCtl32 V6 Html Other Applications Luna Theme 매니저 (UxTheme) 미래의 themes? Other Applications 커스텀 컨트롤

Theme 매니저를 사용하는 이유  윈도의 외형을 Refresh 할 필요성  Refresh 가 필요한 많은 영역  Comctl, HTML, 커스텀 컨트롤 …  디자이너로 하여금 개발과정과 독립적인 혁신을 이루도록  컨트롤 로직과 컨트롤 디자인의 분리

새로운 커먼 컨트롤 사용 이유  상위 목표 : 기존 어플리케이션을 유지  하위 목표 : 소비자의 즐거움을 증대  목표의 충돌  Comctl32 의 요소를 바꾸면 어플리케이션의 균형이 깨짐  병렬 어셈블리 공유를 사용하여 두 목표를 모두 만족  구버젼과 신버젼이 머신에 공존  미래 버젼으로 하여 이전 버젼에 균열이 가지 않는다  어플리케이션은 자신이 시험한 버젼을 사용

ComCtl32 V6ComCtl32 V5 DLL Loader SxS Manager 어플리케이션 Manifest 병렬식 동작 원리

지원 방법  COMCTL32.DLL 에 링크한다  Manifest 를 이용하여 COMCTL32.DLL 에 대한 종속성을 기술한다  커스텀 컨트롤 및 Owner Draw 컨트롤에 대해 Theme API 를 사용한다  모든것이 잘 동작하는지 시험한다

새버젼 컨트롤을 사용하는 Manifest ... Your app description here ... Your app description here    <assemblyIdentity  type="win32"  name="Microsoft.Windows.Common-Controls"  version=" "  processorArchitecture="X86"  publicKeyToken="6595b64144ccf1df"  language="*"  />   ...

Manifest 명명  실행 파일 예  c:\Program Files\OutLook Express\msimn.exe.manifest  제어판 예  c:\windows\system32\desk.cpl.manifest  리소스  RT_MANIFEST

새로운 아이콘 작업  Gifmoviegear 등의 툴을 이용  아이콘마다 9 개의 이미지 제공 : 4bit, 8bit 및 32bit 컬러  파일 아이콘 추천 크기 : 48x48, 32x32, 16x16  툴바 아이콘 추천 크기 : 24x24, 16x16

비주얼 스타일 Theme 매니저 커먼 컨트롤

병렬식 어셈블리 공유

어셈블리  스스로를 설명  하나 이상 DLL 의 집합  명명, 바인딩, 설치의 단위  불변의  수정이 없다

사이드 바이 사이드 어셈블리  윈도 XP 가 제공하는 기반 구조  버젼화된 어셈블리  설치 및 저장소  적재  개발자들은 병렬식 코딩을 해야한다  다수의 버젼이 동시에 실행된다

공유 병렬식 어셈블리  시스템 관리 폴더에 윈도 인스톨러를 이용하여 설치  윈도 파일 보호에 의해 보호된다  공개키 기반으로 사인되어야 한다  윈도 인스톨러가 없으면 사적으로만 설치된다

사적 어셈블리  어플리케이션 아래 설치  해당 어플리케이션에 의해서만 사용  XCopy 나 윈도 인스톨러 등 설치 방법 무관  어플리케이션 내에서 유일한 이름

Manifest  어셈블리를 설명  DLL 목록  Win32® 글로벌 등록  윈도 클래스  종속성  설치 및 실행시 사용  XML 양식  별도의 파일 -or- 실행 파일이나 DLL 의 리소스

어셈블리 생성 추천 절차  포함할 리소스 결정  복수의 DLL 동시 실행시 서로 영향을 미치지 않도록 설계  서로 영향을 주어서는 않된다  어셈블리 Manifest 생성  공유 어셈블리는  어셈블리를 사인하고 사유키는 보호한다  모든 버젼에 동일 키 사용  시험

격리 어플리케이션  Manifest 를 통한 자기 기술  종속성 기술 :  공유 병렬식 어셈블리  사적 병렬식 어셈블리  완전 격리 어플리케이션  모든 종속성이 병렬식  부분 격리 어플리케이션  일부 종속성만이 병렬식

윈도 XP 에서 SxS 어셈블리 사용 ComCtl32 V6.0 DLL Loader 어플리케이션 ManifestManifest 병렬식 캐시의 공유 어셈블리 ComCtl32 V6.1 Manifest 사적어셈블리 Manifest 운영체제가 설치 서비스팩이나 윈도 업데이트 혹은 윈도 인스톨러가 설치 Manifest생성 manifest 를 이용하여 활성화 컨텍스트 생성. 적당한 버젼 적재 manifest 를 이용하여 활성화 컨텍스트 생성. 적당한 버젼 적재 공유 및 사적 어셈블리에 대한 종속성 기술

윈도 XP 의 병렬식 컴포넌트 윈도 커먼 컨트롤 GDI+ 비주얼 C++ 런타임 라이브러리 버젼 6.0 MFC ATL

빠른 사용자 전환

 기본적으로 프로파일 사용  설치시 혹은 필요에 따라 사용자 계정을 생성  기본적으로 암호가 사용되지 않는다  그림으로 표시된 로그온 화면을 소개  사용자 계정의 추가 / 편집을 위한 제어판  빠른 사용자 전환 가능  복수의 사용자가 동시에 로그온 가능

빠른 사용자 전환 사용  어플리케이션이 현재의 데스크톱에 있지 않은 경우 :  프로세서 사용을 최소화  소리를 사용하지 않는다  시스템 자원 사용을 센스있게  서비스는 활성화된 세션에 notify 를 준다

어플리케이션의 다른 인스턴스  FindWindow(Ex) 는 단일 세션에서만 동작한다  이벤트, 세마포어, 뮤텍스, waitable timers, 파일 매핑 오브젝트 및 job 오브젝트는 윈도 2000 이상에서 Global\ 혹은 Local\ 을 사용 가능

Notification  WTSRegisterSessionNotification  NOTIFY_FOR_THIS_SESSION  NOTIFY_FOR_ALL_SESSIONS  WM_WTSCONSOLE_CHANGE  WTS_CONSOLE_CONNECT  WTS_CONSOLE_DISCONNECT  WTS_REMOTE_CONNECT  WTS_REMOTE_DISCONNECT  WTS_SESSION_LOGON  WTS_SESSION_LOGOFF

빠른 사용자 전환 설정 Notification

GDI+

GDI+ 아키텍처 GDIPlus GDI+ 엔진 2D 벡터 그래픽이미지Typography 시스템 드라이버 GDI DirectX 마이크로소프트.NET 프레임워크 System.Drawing 네임스페이스 Win32 (C++)

GDI+ 사용자  윈도 XP  오피스 XP .NET 프레임워크 SDK  System.Drawing 네임 스페이스  플랫폼 SDK  윈도 98 이후 운영체제에서 재배포 가능  비지오 2002

2D 벡터 그래픽 기능  풍부한 그래픽  투명도  Gradient 및 texture 칠하기  Linear gradients 및 path gradients  고품질 랜더링  Anti-aliasing  두단계 품질 레벨  플로팅 포인트 좌표

2D 벡터 그래픽 코드  Autoshape 을 투명 솔리드 브러시로 칠하기 : // initialize path for Autoshape // and Graphics from HDC Path p; Graphics g; // Create a semitransparent green brush SolidBrush sb = new SolidBrush (Color.FromArgb (128, 0, 128, 0)); g.DrawPath (sb, p);

 Autoshape 을 Linear Gradient 브러시로 칠하기 : 2D 벡터 그래픽 코드 // Create rectangle to define bounds of linear // gradient brush Rectangle r = new Rectangle (0, 0, 200, 200); // Create a linear gradient brush that shades // vertically from blue to black LinearGradientBrush lgb = new LinearGradientBrush ( rect, Color.Blue, Color.Black, LinearGradientMode.Vertical); g.FillPath (lgb, p);

디지탈 이미지 이미지 포맷  이미지 포맷을 인코딩 및 디코딩하는 인터페이스 제공  JPEG, PNG, GIF, BMP, TIFF, EXIF, ICON, EMF, WMF 등을 기본적으로 지원  이미지의 적재 혹은 저장이 한 라인의 코드로 완성

디지탈 이미지 이미지 프로세싱  자주 발생하는 작업 지원  회정, 자르기 (crop), 광도 (brightness), 명암 (contrast), 색의 균형 (color balance), 재 색칠 (recolor), gamma  Scaling 에 많은 품질 모드가 적용된다  Bicubic 그리고 High Quality Bicubic  Bilinear 그리고 High Quality Bilinear  Nearest neighbor  손실없는 JPEG 회전

이미지 코드  이미지를 bicubic filtering 으로 표시 Image MyPicture = new Bitmap (“MyPicture.png”); // Set filtering mode to the highest possible quality. g.SetInterpolationMode = InterpolationMode.HighQualityBicubic; // Render MyPicture to the rectangle (0, 0, 100, 100) // on the screen. g.DrawImage (MyPicture, new Rectangle (0, 0, 100, 100), 0, 0, MyPicture.Width, MyPicture.Height, GraphicsUnit.Pixel);

Typography 기능  윈도 XP 에서 ClearType™ 지원  LCD 에서 문자열 가독성에 300% 향상  Gradient 및 Texture 로 칠해진 문자열  Antialiased 문자열

Typography  다국어 지원  유니코드 3.0 표준  윈도 2000 스크립트를 비롯한 지원 ( 예, Arabic, Hebrew, Indic, Syriac, Thai, Thaana…)  언어에 따른 line breaking 엔진 (Far East line breaking 규칙, Thai 는 사전 기반 )  Far East 는 수직 문자열 지원

GDI+

추가적으로  윈도 로고 프로그램  XP 호환성 테스트  플랫폼 SDK 다운로드 tformsdk/sdkupdate/  오토 플레이 핸들러 msdn magazine, Nov 2001  64 비트 윈도 msdn magazine, Nov 2001

© 2001 Microsoft Corporation. All rights reserved.