SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
겨울계절학기

윈도우 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와 SecondaryCommands 속성이 있음.
◦ PrimaryCommands 속성 – 앱바 오른편에 위치하는 앱바버튼들
◦ SecondaryCommands 속성 - 앱바 왼편에 위치하는 앱바버튼들

AppBarButton의 Icon 속성과 Label 속성만 잘 정의하면 준비 끝
◦ Icon 속성 – 미리 정의된 많은 아이콘을 지원
◦ Label 속성 – 아이콘 아래 표현될 글자
예제
더볼것
Icon의 종류
◦
◦
◦
◦

SymbolIcon (기본)
PathIcon
FontIcon
BitmapIcon

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

Flyout은 Flyout, MenuFlyout 두 종류
◦ Flyout – 마치 ContentPresenter처럼 Content로 어떤 UI나 품을 수 있음.
◦ MenuFlyout – 컨텍스트 메뉴와 같은 스타일

Flyout은 LightDismiss를 지원
◦ Flyout 바깥 영역을 클릭 또는 탭하여 닫을 수 있음.
MenuFlyout
MenuFlyoutItem – 플라이아웃이 닫히며 즉시 작업 수행
ToggleMenuFlyoutItem – 옵션 켜기 또는 끄기

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

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

스토어 등록정보에서도 한 번 적고, 설정 메뉴에서도 한 번 활용.
예 - http://privacypolicy.tistory.com/
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.SerializeObject에 인스턴스만 넘겨주면 JSON 문자열을 얻을 수 있다!
요약
JSON.NET이라는 고마운 것이 존재.
◦ Nuget 지원 : http://www.nuget.org/packages/newtonsoft.json/
◦ Package Manager Console에서

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

MediaPlayer 클래스 인스턴스 하나면 준비 끝.
윈도우 8.1 기본 동영상 플레이어와 Look & Feel이 같음.
다양한 기능을 속성으로 지원.

폭넓은 지원
◦
◦
◦
◦
◦

Windows 8
HTML5
Silverlight
Windows Phone
Etc.
Toast Notification
토스트 알림
요약
맨땅에 짜지 말고 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
예제
ToastText02는 템플릿 카탈로그에서 찾을 수 있는 이름!
Live Tile
라이브타일
요약
토스트 알림처럼 NotificationExtensions 활용.
토스트 알림과 마찬가지로 템플릿 카탈로그가 존재. 보고 디자인 결정.
◦ 타일 템플릿 카탈로그 (Windows Store apps)
◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761491.aspx
◦ 버전1과 버전2가 존재하는데 8.1은 버전2를 사용
알림큐
선입선출(FIFO)로 최대 5개의 타일 알림이 자동 순환.

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

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

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

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

http://gilverlight.net

Contenu connexe

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

C#강좌
C#강좌C#강좌
C#강좌e12g
 
[액션스크립트] 1부 액션 스크립트 2.0
[액션스크립트] 1부 액션 스크립트 2.0[액션스크립트] 1부 액션 스크립트 2.0
[액션스크립트] 1부 액션 스크립트 2.0MinGeun Park
 
프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)Devgear
 
Modern web application with meteor
Modern web application with meteorModern web application with meteor
Modern web application with meteorJaeho Lee
 
Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료HyeonJeong Jo
 
HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)Devgear
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
코딩 생산성 높이기
코딩 생산성 높이기코딩 생산성 높이기
코딩 생산성 높이기Lee-Jong-Chan
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연Joohyun Han
 
웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)JoonHee Lee
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
Cb기술조사 김동혁
Cb기술조사 김동혁Cb기술조사 김동혁
Cb기술조사 김동혁kpad2
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 Yong Joon Moon
 
Windows7처음다루기 it전문교육
Windows7처음다루기 it전문교육Windows7처음다루기 it전문교육
Windows7처음다루기 it전문교육parkso
 
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축Youngil Cho
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1정환 임
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1정환 임
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드SangIn Choung
 
IntelliJ로 Salesforce 개발환경 구축
IntelliJ로 Salesforce 개발환경 구축IntelliJ로 Salesforce 개발환경 구축
IntelliJ로 Salesforce 개발환경 구축Jaewon Lee
 

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

C#강좌
C#강좌C#강좌
C#강좌
 
[액션스크립트] 1부 액션 스크립트 2.0
[액션스크립트] 1부 액션 스크립트 2.0[액션스크립트] 1부 액션 스크립트 2.0
[액션스크립트] 1부 액션 스크립트 2.0
 
프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)
 
Modern web application with meteor
Modern web application with meteorModern web application with meteor
Modern web application with meteor
 
Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료
 
react-ko.pdf
react-ko.pdfreact-ko.pdf
react-ko.pdf
 
HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)HD 애플리케이션 만들기(파이어몽키 활용)
HD 애플리케이션 만들기(파이어몽키 활용)
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
코딩 생산성 높이기
코딩 생산성 높이기코딩 생산성 높이기
코딩 생산성 높이기
 
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
200725 AWS 클라우드 컴퓨팅으로 배우는 생물정보학 - 덕성여대 강연
 
웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)웹기술 이해 (프론트엔드 기초)
웹기술 이해 (프론트엔드 기초)
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
Cb기술조사 김동혁
Cb기술조사 김동혁Cb기술조사 김동혁
Cb기술조사 김동혁
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
Windows7처음다루기 it전문교육
Windows7처음다루기 it전문교육Windows7처음다루기 it전문교육
Windows7처음다루기 it전문교육
 
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축
2017 Pycon KR - Django/AWS 를 이용한 쇼핑몰 서비스 구축
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 
IntelliJ로 Salesforce 개발환경 구축
IntelliJ로 Salesforce 개발환경 구축IntelliJ로 Salesforce 개발환경 구축
IntelliJ로 Salesforce 개발환경 구축
 

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