0
겨울계절학기

윈도우 8.1
스토어앱개발
족집게강의
이 길 복 CTO / 휴 즈 플 로 우
About…
휴즈플로우
<HugeFlow>라 쓰고 <휴즈플로우>라 읽어요.

C#/XAML 전문개발기업, 멀티터치 테이블/키오스크 솔루션 집중.
7년된 회사예요.

마이크로소프트 MVP
6년째 하고 있어요.
분야가 실버...
Give me six hours to chop down a
tree and I will spend the first four
sharpening the axe.
Abraham Lincoln
dev.windows.com
Shortcut
단축키
Ctrl + .
아는 클래스 이름 입력. -> Ctrl + . 단축키 -> Enter 키
-> 코드 상단에 using 문 자동추가!
Ctrl + .
있었으면…하는 클래스 생성구문(new) 입력 -> Ctrl + . 단축키 -> Enter 키
-> 클래스.cs 파일과 함께 클래스 선언 자동생성
Ctrl + .
있었으면…하는 함수 또는 변수 입력. -> Ctrl + . 단축키 -> Enter 키
-> 함수 선언/변수 선언 자동생성!
Code Snippet
코드조각
Built-in Code Snippets
이것만 기억하세요. foreach<탭><탭>!
Built-in Code Snippets
switch<탭><탭>!
Code Snippets Manager
[TOOLS – Code Snippets Manager]
Custom Code Snippets
확장자(.snippet )를 가진 XML 파일
위치 예: [내 문서Visual Studio 2013Code SnippetsVisual C#My Code Snippets]
AppBar
앱바
요점
Page에는 AppBar타입의 TopAppBar와 BottomAppBar 속성이 있음.

CommandAppBar라는 추상화된 AppBar를 사용하면 편함.
CommandAppBar에는 PrimaryCommands...
예제
더볼것
Icon의 종류
◦
◦
◦
◦

SymbolIcon (기본)
PathIcon
FontIcon
BitmapIcon

BitmapIcon의 배신
◦ 렌더링에 문제
◦ http://gilverlight.net/3454
Flyout
플라이아웃
요점
장착방법 2가지
◦ Button에 Flyout 속성에 할당.
◦ Button이 아닌 경우, Flyout.AttachedFlyout 정적속성에 할당.

Flyout은 Flyout, MenuFlyout 두 종류
◦ F...
MenuFlyout
MenuFlyoutItem – 플라이아웃이 닫히며 즉시 작업 수행
ToggleMenuFlyoutItem – 옵션 켜기 또는 끄기

MenuFlyoutSeparator – 메뉴 구분선
Using Flyout
플라이아웃 활용 시나리오
데이터 표시
Flyout의 DataContext는 자기를 연 객체(opener)의 DataContext를 상속 받음.
◦ 예를들어 AppBarButton의 DataContext로 특정 인스턴스를 할당.
Flyout 닫기
Button의 Flyout 속성이용.

기타 UIElement의 경우 GetValue(…) 메서드를 이용.
Privacy Policy
개인정보취급방침
심사탈락의 단골 손님
개인정보를 입력받는 경우.
티스토리 같은 블로그 하나 개설하고, 개인정보취급방침 글을 써서 URL을 GET!

스토어 등록정보에서도 한 번 적고, 설정 메뉴에서도 한 번 활용.
예 - http://...
RESTful API
REST API 소비하기
요약
HttpClient 클래스로 GET / POST / PUT / DELETE 를 지원
◦
◦
◦
◦
◦

GetAsync
PostAsync
PutAsync
DeleteAsync
GetStringAsync*
예제
GET

POST
Handling XML
XML 다루기
요약
XDocument와 LINQ to XML을 활용.
Handling JSON
JSON 다루기
JSON 읽기
Model 클래스에 약간의 Attribute 작업 필요
◦ public 프로퍼티는 기본적으로 Serialize에 포함됨.
◦ 포함시키지 않으려면 [JsonIgnore]를 붙여줄 것.
JSON 쓰기
Model 클래스에 약간의 Attribute 작업.
◦ public 프로퍼티는 기본적으로 Serialize에 포함됨.
◦ 포함시키지 않으려면 [JsonIgnore]를 붙여줄 것.

JsonConvert.S...
요약
JSON.NET이라는 고마운 것이 존재.
◦ Nuget 지원 : http://www.nuget.org/packages/newtonsoft.json/
◦ Package Manager Console에서

◦ Packa...
RSS
RSS 소비하기
요약
RSS나 Atom 규약에 대응하는 Syndication*이라는 고마운 클래스군이 존재.
◦ SyndicationClient
◦ SyndicationFeed
◦ SyndicationItem 등
Media Player
Framework
미디어 플레이어 프레임웍
요약
오픈소스 프로젝트: Player Framework by Microsoft
◦ http://playerframework.codeplex.com/

MediaPlayer 클래스 인스턴스 하나면 준비 끝.
윈도우 8.1...
Toast Notification
토스트 알림
요약
맨땅에 짜지 말고 NotificationExtensions 활용
◦ Nuget 지원: http://www.nuget.org/packages/NotificationsExtensions.WinRT/
◦ Package ...
예제
ToastText02는 템플릿 카탈로그에서 찾을 수 있는 이름!
Live Tile
라이브타일
요약
토스트 알림처럼 NotificationExtensions 활용.
토스트 알림과 마찬가지로 템플릿 카탈로그가 존재. 보고 디자인 결정.
◦ 타일 템플릿 카탈로그 (Windows Store apps)
◦ http://...
알림큐
선입선출(FIFO)로 최대 5개의 타일 알림이 자동 순환.

각 타일 알림은 모두 다른 템플릿을 가져도 됨.
예제
BulkAccess
벌크액세스
요약
Windows.Storage.BulkAccess
◦ 파일의 개수가 많은 경우,
가장 빠르게 파일의 속성들을 읽을 수 있는 방법을 제공하는 네임스페이스

FileInformationFactory 클래스가 주인공.
Launching
Default WebBrowser
웹브라우저 띄우기
요약
Launcher.LaunchUriAsync로 쉽게 웹브라우저를 띄울 수 있음.

웹브라우저가 차지하고 남을 공간을 LauncherOptions이 가진
ViewSizePreference 타입의 DesiredRemai...
Default WebBrowser?
운영체제에 등록된 기본 웹브라우저를 뜻함.
IE의 경우 Desktop IE와 Metro IE 구분은?
◦ Desktop IE에서 [도구 – 인터넷옵션 – 프로그램탭]의
Internet...
Code for Trial
체험판 만들기
CurrentApp과 CurrentAppSimulator
테스트는 CurrentAppSimulator 정적클래스를 이용해야하고,
스토어에 등록할 패키지는 CurrentApp 정적클래스를 이용해야함.
실수하면, 스토어 심...
Application Settings
앱 설정
ApplicationData
string 타입의 key와 object 타입의 value로 관리.

설정 저장소 종류
◦ ApplicationData.Current.LocalSettings
◦ ApplicationData...
Good bye 
gilbok@live.com

http://gilverlight.net
Upcoming SlideShare
Loading in...5
×

겨울계절학기 윈도우 8.1 스토어앱개발 족집게강의 by 이길복 CTO / HugeFlow

1,553

Published on

마이크로소프트 테크데이즈 미니 세미나
Microsoft tech.days mini Seminar

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,553
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
17
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "겨울계절학기 윈도우 8.1 스토어앱개발 족집게강의 by 이길복 CTO / HugeFlow"

  1. 1. 겨울계절학기 윈도우 8.1 스토어앱개발 족집게강의 이 길 복 CTO / 휴 즈 플 로 우
  2. 2. About… 휴즈플로우 <HugeFlow>라 쓰고 <휴즈플로우>라 읽어요. C#/XAML 전문개발기업, 멀티터치 테이블/키오스크 솔루션 집중. 7년된 회사예요. 마이크로소프트 MVP 6년째 하고 있어요. 분야가 실버라이트라고 하면 동정의 눈빛을 보내주세요.
  3. 3. Give me six hours to chop down a tree and I will spend the first four sharpening the axe. Abraham Lincoln
  4. 4. dev.windows.com
  5. 5. Shortcut 단축키
  6. 6. Ctrl + . 아는 클래스 이름 입력. -> Ctrl + . 단축키 -> Enter 키 -> 코드 상단에 using 문 자동추가!
  7. 7. Ctrl + . 있었으면…하는 클래스 생성구문(new) 입력 -> Ctrl + . 단축키 -> Enter 키 -> 클래스.cs 파일과 함께 클래스 선언 자동생성
  8. 8. Ctrl + . 있었으면…하는 함수 또는 변수 입력. -> Ctrl + . 단축키 -> Enter 키 -> 함수 선언/변수 선언 자동생성!
  9. 9. Code Snippet 코드조각
  10. 10. Built-in Code Snippets 이것만 기억하세요. foreach<탭><탭>!
  11. 11. Built-in Code Snippets switch<탭><탭>!
  12. 12. Code Snippets Manager [TOOLS – Code Snippets Manager]
  13. 13. Custom Code Snippets 확장자(.snippet )를 가진 XML 파일 위치 예: [내 문서Visual Studio 2013Code SnippetsVisual C#My Code Snippets]
  14. 14. AppBar 앱바
  15. 15. 요점 Page에는 AppBar타입의 TopAppBar와 BottomAppBar 속성이 있음. CommandAppBar라는 추상화된 AppBar를 사용하면 편함. CommandAppBar에는 PrimaryCommands와 SecondaryCommands 속성이 있음. ◦ PrimaryCommands 속성 – 앱바 오른편에 위치하는 앱바버튼들 ◦ SecondaryCommands 속성 - 앱바 왼편에 위치하는 앱바버튼들 AppBarButton의 Icon 속성과 Label 속성만 잘 정의하면 준비 끝 ◦ Icon 속성 – 미리 정의된 많은 아이콘을 지원 ◦ Label 속성 – 아이콘 아래 표현될 글자
  16. 16. 예제
  17. 17. 더볼것 Icon의 종류 ◦ ◦ ◦ ◦ SymbolIcon (기본) PathIcon FontIcon BitmapIcon BitmapIcon의 배신 ◦ 렌더링에 문제 ◦ http://gilverlight.net/3454
  18. 18. Flyout 플라이아웃
  19. 19. 요점 장착방법 2가지 ◦ Button에 Flyout 속성에 할당. ◦ Button이 아닌 경우, Flyout.AttachedFlyout 정적속성에 할당. Flyout은 Flyout, MenuFlyout 두 종류 ◦ Flyout – 마치 ContentPresenter처럼 Content로 어떤 UI나 품을 수 있음. ◦ MenuFlyout – 컨텍스트 메뉴와 같은 스타일 Flyout은 LightDismiss를 지원 ◦ Flyout 바깥 영역을 클릭 또는 탭하여 닫을 수 있음.
  20. 20. MenuFlyout MenuFlyoutItem – 플라이아웃이 닫히며 즉시 작업 수행 ToggleMenuFlyoutItem – 옵션 켜기 또는 끄기 MenuFlyoutSeparator – 메뉴 구분선
  21. 21. Using Flyout 플라이아웃 활용 시나리오
  22. 22. 데이터 표시 Flyout의 DataContext는 자기를 연 객체(opener)의 DataContext를 상속 받음. ◦ 예를들어 AppBarButton의 DataContext로 특정 인스턴스를 할당.
  23. 23. Flyout 닫기 Button의 Flyout 속성이용. 기타 UIElement의 경우 GetValue(…) 메서드를 이용.
  24. 24. Privacy Policy 개인정보취급방침
  25. 25. 심사탈락의 단골 손님 개인정보를 입력받는 경우. 티스토리 같은 블로그 하나 개설하고, 개인정보취급방침 글을 써서 URL을 GET! 스토어 등록정보에서도 한 번 적고, 설정 메뉴에서도 한 번 활용. 예 - http://privacypolicy.tistory.com/
  26. 26. RESTful API REST API 소비하기
  27. 27. 요약 HttpClient 클래스로 GET / POST / PUT / DELETE 를 지원 ◦ ◦ ◦ ◦ ◦ GetAsync PostAsync PutAsync DeleteAsync GetStringAsync*
  28. 28. 예제 GET POST
  29. 29. Handling XML XML 다루기
  30. 30. 요약 XDocument와 LINQ to XML을 활용.
  31. 31. Handling JSON JSON 다루기
  32. 32. JSON 읽기 Model 클래스에 약간의 Attribute 작업 필요 ◦ public 프로퍼티는 기본적으로 Serialize에 포함됨. ◦ 포함시키지 않으려면 [JsonIgnore]를 붙여줄 것.
  33. 33. JSON 쓰기 Model 클래스에 약간의 Attribute 작업. ◦ public 프로퍼티는 기본적으로 Serialize에 포함됨. ◦ 포함시키지 않으려면 [JsonIgnore]를 붙여줄 것. JsonConvert.SerializeObject에 인스턴스만 넘겨주면 JSON 문자열을 얻을 수 있다!
  34. 34. 요약 JSON.NET이라는 고마운 것이 존재. ◦ Nuget 지원 : http://www.nuget.org/packages/newtonsoft.json/ ◦ Package Manager Console에서 ◦ Package Manager Console은 [TOOLS – Library Package Manager – Package Manager Console] 이렇게 띄움
  35. 35. RSS RSS 소비하기
  36. 36. 요약 RSS나 Atom 규약에 대응하는 Syndication*이라는 고마운 클래스군이 존재. ◦ SyndicationClient ◦ SyndicationFeed ◦ SyndicationItem 등
  37. 37. Media Player Framework 미디어 플레이어 프레임웍
  38. 38. 요약 오픈소스 프로젝트: Player Framework by Microsoft ◦ http://playerframework.codeplex.com/ MediaPlayer 클래스 인스턴스 하나면 준비 끝. 윈도우 8.1 기본 동영상 플레이어와 Look & Feel이 같음. 다양한 기능을 속성으로 지원. 폭넓은 지원 ◦ ◦ ◦ ◦ ◦ Windows 8 HTML5 Silverlight Windows Phone Etc.
  39. 39. Toast Notification 토스트 알림
  40. 40. 요약 맨땅에 짜지 말고 NotificationExtensions 활용 ◦ Nuget 지원: http://www.nuget.org/packages/NotificationsExtensions.WinRT/ ◦ Package Manager Console에서 ◦ Package Manager Console은 [TOOLS – Library Package Manager – Package Manager Console] 이렇게 띄움 템플릿 카탈로그가 존재. 보고 디자인 결정. ◦ 알림 템플릿 카탈로그 (Windows Store apps) ◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761494.aspx
  41. 41. 예제 ToastText02는 템플릿 카탈로그에서 찾을 수 있는 이름!
  42. 42. Live Tile 라이브타일
  43. 43. 요약 토스트 알림처럼 NotificationExtensions 활용. 토스트 알림과 마찬가지로 템플릿 카탈로그가 존재. 보고 디자인 결정. ◦ 타일 템플릿 카탈로그 (Windows Store apps) ◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761491.aspx ◦ 버전1과 버전2가 존재하는데 8.1은 버전2를 사용
  44. 44. 알림큐 선입선출(FIFO)로 최대 5개의 타일 알림이 자동 순환. 각 타일 알림은 모두 다른 템플릿을 가져도 됨.
  45. 45. 예제
  46. 46. BulkAccess 벌크액세스
  47. 47. 요약 Windows.Storage.BulkAccess ◦ 파일의 개수가 많은 경우, 가장 빠르게 파일의 속성들을 읽을 수 있는 방법을 제공하는 네임스페이스 FileInformationFactory 클래스가 주인공.
  48. 48. Launching Default WebBrowser 웹브라우저 띄우기
  49. 49. 요약 Launcher.LaunchUriAsync로 쉽게 웹브라우저를 띄울 수 있음. 웹브라우저가 차지하고 남을 공간을 LauncherOptions이 가진 ViewSizePreference 타입의 DesiredRemainingView 속성을 통해 설정할 수 있음.
  50. 50. Default WebBrowser? 운영체제에 등록된 기본 웹브라우저를 뜻함. IE의 경우 Desktop IE와 Metro IE 구분은? ◦ Desktop IE에서 [도구 – 인터넷옵션 – 프로그램탭]의 Internet Explorer 열기에서 사용자가 선택.
  51. 51. Code for Trial 체험판 만들기
  52. 52. CurrentApp과 CurrentAppSimulator 테스트는 CurrentAppSimulator 정적클래스를 이용해야하고, 스토어에 등록할 패키지는 CurrentApp 정적클래스를 이용해야함. 실수하면, 스토어 심사과정에서 원인 모를 앱종료 현상과 싸워야 함. 두 클래스가 공통부모가 없음.
  53. 53. Application Settings 앱 설정
  54. 54. ApplicationData string 타입의 key와 object 타입의 value로 관리. 설정 저장소 종류 ◦ ApplicationData.Current.LocalSettings ◦ ApplicationData.Current.RoamingSettings
  55. 55. Good bye  gilbok@live.com http://gilverlight.net
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×