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

55
겨울계절학기 윈도우 8.1 스토어앱개발 족집게강의 이길복 CTO / 휴즈플로우

Upload: gilbok-lee

Post on 24-May-2015

1.494 views

Category:

Technology


7 download

DESCRIPTION

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

TRANSCRIPT

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

겨울계절학기

윈도우 8.1

스토어앱개발

족집게강의

이길복 CTO / 휴즈플로우

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

About…휴즈플로우

<HugeFlow>라쓰고 <휴즈플로우>라읽어요.

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

7년된회사예요.

마이크로소프트MVP

6년째하고있어요.

분야가실버라이트라고하면동정의눈빛을보내주세요.

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

Give me six hours to chop down a

tree and I will spend the first four

sharpening the axe.

Abraham Lincoln

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

dev.windows.com

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

Shortcut단축키

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

Ctrl + .아는클래스이름입력. -> Ctrl + . 단축키 -> Enter 키

-> 코드상단에 using 문자동추가!

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

Ctrl + .있었으면…하는클래스생성구문(new)입력 -> Ctrl + . 단축키 -> Enter 키

-> 클래스.cs파일과함께클래스선언자동생성

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

Ctrl + .있었으면…하는함수또는변수입력. -> Ctrl + . 단축키 -> Enter 키

-> 함수선언/변수선언자동생성!

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

Code Snippet코드조각

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

Built-in Code Snippets이것만기억하세요. foreach<탭><탭>!

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

Built-in Code Snippetsswitch<탭><탭>!

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

Code Snippets Manager[TOOLS – Code Snippets Manager]

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

Custom Code Snippets확장자(.snippet )를가진 XML 파일

위치예: [내문서\Visual Studio 2013\Code Snippets\Visual C#\My Code Snippets]

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

AppBar앱바

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

요점Page에는 AppBar타입의 TopAppBar와 BottomAppBar속성이있음.

CommandAppBar라는추상화된 AppBar를사용하면편함.

CommandAppBar에는 PrimaryCommands와 SecondaryCommands속성이있음.

◦ PrimaryCommands속성 –앱바오른편에위치하는앱바버튼들

◦ SecondaryCommands속성 - 앱바왼편에위치하는앱바버튼들

AppBarButton의 Icon속성과 Label속성만잘정의하면준비끝◦ Icon 속성 –미리정의된많은아이콘을지원

◦ Label 속성 –아이콘아래표현될글자

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

예제

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

더볼것Icon의종류◦ SymbolIcon (기본)

◦ PathIcon

◦ FontIcon

◦ BitmapIcon

BitmapIcon의배신◦ 렌더링에문제

◦ http://gilverlight.net/3454

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

Flyout플라이아웃

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

요점장착방법 2가지◦ Button에 Flyout속성에할당.

◦ Button이아닌경우, Flyout.AttachedFlyout정적속성에할당.

Flyout은 Flyout, MenuFlyout두종류◦ Flyout –마치 ContentPresenter처럼 Content로어떤 UI나품을수있음.

◦ MenuFlyout –컨텍스트메뉴와같은스타일

Flyout은 LightDismiss를지원◦ Flyout바깥영역을클릭또는탭하여닫을수있음.

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

MenuFlyoutMenuFlyoutItem –플라이아웃이닫히며즉시작업수행

ToggleMenuFlyoutItem –옵션켜기또는끄기

MenuFlyoutSeparator –메뉴구분선

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

Using Flyout플라이아웃 활용 시나리오

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

데이터표시Flyout의 DataContext는자기를연객체(opener)의 DataContext를상속받음.

◦ 예를들어 AppBarButton의 DataContext로특정인스턴스를할당.

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

Flyout닫기Button의 Flyout속성이용.

기타 UIElement의경우 GetValue(…) 메서드를이용.

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

Privacy Policy개인정보취급방침

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

심사탈락의단골손님개인정보를입력받는경우.

티스토리같은블로그하나개설하고, 개인정보취급방침글을써서 URL을 GET!

스토어등록정보에서도한번적고, 설정메뉴에서도한번활용.

예 - http://privacypolicy.tistory.com/

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

RESTful APIREST API 소비하기

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

요약HttpClient클래스로 GET / POST / PUT / DELETE 를지원◦ GetAsync

◦ PostAsync

◦ PutAsync

◦ DeleteAsync

◦ GetStringAsync*

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

예제GET

POST

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

Handling XMLXML 다루기

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

요약XDocument와 LINQ to XML을활용.

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

Handling JSONJSON 다루기

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

JSON 읽기Model 클래스에약간의 Attribute 작업필요◦ public 프로퍼티는기본적으로 Serialize에포함됨.

◦ 포함시키지않으려면 [JsonIgnore]를붙여줄것.

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

JSON 쓰기Model 클래스에약간의 Attribute 작업.

◦ public 프로퍼티는기본적으로 Serialize에포함됨.

◦ 포함시키지않으려면 [JsonIgnore]를붙여줄것.

JsonConvert.SerializeObject에인스턴스만넘겨주면 JSON 문자열을얻을수있다!

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

요약JSON.NET이라는고마운것이존재.

◦ Nuget지원 : http://www.nuget.org/packages/newtonsoft.json/

◦ Package Manager Console에서

◦ Package Manager Console은[TOOLS – Library Package Manager – Package Manager Console] 이렇게띄움

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

RSSRSS 소비하기

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

요약RSS나 Atom 규약에대응하는 Syndication*이라는고마운클래스군이존재.

◦ SyndicationClient

◦ SyndicationFeed

◦ SyndicationItem등

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

Media Player Framework미디어 플레이어 프레임웍

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

요약오픈소스프로젝트: Player Framework by Microsoft

◦ http://playerframework.codeplex.com/

MediaPlayer클래스인스턴스하나면준비끝.

윈도우 8.1 기본동영상플레이어와 Look & Feel이같음.

다양한기능을속성으로지원.

폭넓은지원◦ Windows 8

◦ HTML5

◦ Silverlight

◦ Windows Phone

◦ Etc.

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

Toast Notification토스트 알림

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

요약맨땅에짜지말고 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

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

예제ToastText02는템플릿카탈로그에서찾을수있는이름!

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

Live Tile라이브타일

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

요약토스트알림처럼 NotificationExtensions활용.

토스트알림과마찬가지로템플릿카탈로그가존재. 보고디자인결정.

◦ 타일템플릿카탈로그 (Windows Store apps)

◦ http://msdn.microsoft.com/ko-kr/library/windows/apps/hh761491.aspx

◦ 버전1과버전2가존재하는데 8.1은버전2를사용

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

알림큐선입선출(FIFO)로최대 5개의타일알림이자동순환.

각타일알림은모두다른템플릿을가져도됨.

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

예제

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

BulkAccess벌크액세스

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

요약Windows.Storage.BulkAccess

◦ 파일의개수가많은경우, 가장빠르게파일의속성들을읽을수있는방법을제공하는네임스페이스

FileInformationFactory클래스가주인공.

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

Launching Default WebBrowser웹브라우저 띄우기

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

요약Launcher.LaunchUriAsync로쉽게웹브라우저를띄울수있음.

웹브라우저가차지하고남을공간을 LauncherOptions이가진ViewSizePreference 타입의 DesiredRemainingView 속성을통해설정할수있음.

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

Default WebBrowser?운영체제에등록된기본웹브라우저를뜻함.

IE의경우 Desktop IE와 Metro IE 구분은?

◦ Desktop IE에서 [도구 –인터넷옵션 –프로그램탭]의Internet Explorer 열기에서사용자가선택.

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

Code for Trial체험판 만들기

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

CurrentApp과 CurrentAppSimulator테스트는 CurrentAppSimulator정적클래스를이용해야하고, 스토어에등록할패키지는 CurrentApp 정적클래스를이용해야함.

실수하면, 스토어심사과정에서원인모를앱종료현상과싸워야함.

두클래스가공통부모가없음.

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

Application Settings앱 설정

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

ApplicationDatastring 타입의 key와 object 타입의 value로관리.

설정저장소종류◦ ApplicationData.Current.LocalSettings

◦ ApplicationData.Current.RoamingSettings

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

Good bye

[email protected]

http://gilverlight.net