티스토리 뷰

반응형

Universal App Model - Build 2016

https://channel9.msdn.com/Events/Build/2016/B809

 

 

UWP App Model은 앱이 패키징되고, 인스톨되고, 데이터와 상태를 저장하고, 백그라운드 프로세스와 멀티테스킹을 하는지, 시작/서스팬드/리줌이 되는 라이프 사이클을 관리하고, 언인스톨되는지에 대한 내용으로 Andrew가 새로운 앱 모델에 대해서 설명한다.

 

 

1. 왜 우리에게 앱 모델이 필요 한가요?

1) 윈도우는 앱에 대해 정의를 한적이 없다.

2) 당신은 그것을 알고 사용하지만 그 내용을 정리를 하지는 않았다.

3) 확장자 exe로 시작하지만.. 어떻게 설치하고, 어떻게 상태를 저장하고, 앱이 얼마나 실행되고, OS에 통합되는지..다른 앱과 연결해서 사용할수 있는지..

4) UWP App Model은 당신의 그러한 질문에 대한 답변이다.

 

 

1-1. 그렇다면 Universal Windows App Model이란 무엇인가용?

1) 앱이 라이프사이클로 정의 된다.

2) 모든 윈도우 디바이스에서 사용이 가능하다.

3) 무덤에서 요람까지의 순서..

Install

Runtime environment
Resource Management
Update
Data Model
Uninstall

 

1-2. 고객이 당신의 앱을 얻기 까지

1) 작년에는 발표했던 .appX라는 일반적인 UWP 인스톨 패키지를 이용해서 설치할 수 있었다.

2) 그런데 이제는 추가 설치 방법이 필요하게 되었다. 데스크탑 앱이나 Xbox에도 설치해야하니..

3) 그래서, 어디서나 사용할 수 있는 .appX를 만들려고 한다. 스토어를 통해서나 사용자 배포 방식을 통해서도 설치가 가능한..

 

 

1-3. Modern installer를 소개 합니다.

1) 새로운 설치 방법에 대해서 고민하고 있다.

2) 다음 내용에 중점을 두고 있습니다.

Full platform for building install experiences (설치 환경을 구축하기위한 전체 플랫폼)
Enable great install experience from both Windows Store and your own distribution (스토어를 통한 설치 혹은 사용자가 지정한 설치가 가능하도록)
Enable desktop apps converted to be installed (데스크탑 앱을 UWP로 컨버팅해서 설치하는 것)
Extend capabilities to enable extensions platform (확장 플랫폼의 기능을 사용할 수 있도록 하는 것)

 

 

1-4. 배포 플랫폼

1) 왜 필요하지?  자신만의 인스톨 패키지를 만들고, 그걸 만들기 위한 기본 적인 내용을 제공한다.

2) 뭐를 제공하는데?

Windows.Management.Deployment
UWP에 핵심으로 포함되어 있다.
모든 개발자가 사용 가능

 

 

1-5. modern desktop app installer(모던 데스크탑 앱 인스톨러)

1) 스토어에 올 필요 없이 설치가 가능하다.

2) 배포 플랫폼 기반

3) Store의 업데이트 경험을 이용한다.
4) ..appx 설치 패키지는 신뢰할 수있는 루트에서 인증서로 서명해야한다.

 

 

Win32 프로그램을 UWP 패키지 형태로 만든 후 윈도우10에 설치하는 데모입니당~

 

 

설치 후 프로그램을 실행하면 Windows app으로 표시되며(과거에는 Desktop app으로 표시됨), 아마 시작화면에도 올라갈듯..Win32 프로그램 자체를 변경할 필요는 없다는 설명을 하네요.

 

 

 

2. 프로젝트 센터니얼

 

 

 

2-1. 프로젝트 센터니얼이 뭔가요?

1) 모든 개발자를위한 향상된 윈도우 플랫폼

. 데스크탑앱을 UWP 인스톨러 방식으로 배포할 수 있도록 컨버팅하는 기술

. 당신의 Win32/.Net 코드를 수정하지 않고 모든 권한을 가진 상태로 UWP 앱으로 변경할 수 있다.

. 윈도우10과 윈도우7에서 실행되는 공통 코드로 만들어 진다.

. 하나의 솔루션으로 클래식 윈도우와 유니버셜 윈도우에서 실행할 수 있는 가장 좋은 방법이다.

2) 꼭 그렇게 해야하는 이유가 있나요?
. 데스크탑 어플리케이션의 거대한 생태계

. 코드에 투자한 시간을 보전

. UWP로 서서이 이동할 수 있다.

. Modern deployment 기술을 모든 앱에서 사용할 수 있다.

. 스토어 혹은 다른 방식으로 배포할 수 있다.

 

2-2. 데스크탑 어플리케이션을위한 Modern installer 기술

. No DLL Hell, no registry bloat
. Clean uninstall
. Automatic/silent updates
. Code runs as user
. No driver code
. No NT services

 

 

2-3. 개발자 워크플로

 

 

 

2-4. 프로젝트 센터니얼 데모

데모에 사용할 프로젝트는 VB6.0 헬로월드!!!

 

 

실행 파일을 만들고, 컨버터로 커버팅하고, 파워쉘과 Appmanifest.xml 파일을 이용해서 AppxPackage를 윈도우 10에 설치

* Appmanifest.xml이 어떻게 만들어 진것인지는 잘 모르겠군요;; 원래 그런 파일이 생성되나요?? 아마 이부분은 커맨드 라인 컨버터를 이용했을 듯 하네요

 

 

윈도우 10에 설치되면 앱 목록에 출력되고 실행하면 동일한 동작을 한다. 거기다 내용을 수정하고 앱을 다시 시작하면 변경된 내용이 바로 반영된다. 앱 제거도 UWP 앱 제거 하듯이 가능

 

 

Appmanifest.xml을 약간 수정한 하면 Tile 변경하는 모습도 볼 수 있다. (커서 왼쪽 타일이 VB6로 만든 앱 타일)

음음..이렇게하면 이제 Win32 프로그램들이 UWP로 많이 옮겨 올까용? ㅎㅎㅎ 잘되야징~

 

 

 

3. 더 향상된 사용자 참여

 

3-1. 액션 센터 업데이트

 

 

 

3-2. 클라우드와 엑션 센터의 연결

 

액션 센터와 타일간 동기화가 가능하군요!! 앱에서 노티가 여러개 발생하면 그 발생한 수만큼 타일에도 표시가 됩니다.

이전에는 별도로 처리를 해야했는데..음음..자동으로 표시되는 것이겠죠??

 

 

액션 센터끼리 동기화가 가능해 졌습니다. 데스크탑과 폰의 액션 센터가 동기화 되면서 어느 한곳이라도 알림을 닫으면 다른 디바이스에서도 알림이 닫힙니다.

 

 

 

3-3. 프로젝트 로마

모든 디바이스를 서로 연결하는것으로 Windows/iOS/Android를 연결하는 크로스 플랫폼으로 App2App Contracts와 Services로 구성된다.

 


 즐거운 데모 시간~ 데모를 위해 출동한 분이 윈폰으로 앱을 조작합니다.  상단에 콤보박스를 드롭하면 현재 사용가능한 디바이스 목록이 출력되고 서피스 북을 선택하면...

 

 

서피스 북에서 동일한 앱이 실행되면서 선택한 아이템에 해당하는 동영상을 플레이 합니다. 음..그런데, 데모 중에 문제가 좀 있어서 더 멋진 데모는 진행을 하지 못하네요..

아마..이런 기능이 Smart Glass를 만드는 기본 베이스가 될 것 같습니다. 스마트폰에서 컨텐츠를 손가락으로 밀어서 TV를 가르키면 TV에 해당 내용이 바로 짜잔~하고 출력되는..그런 기능이 조만간에 구현되지 않을까 싶내요

 

 

 

 

4. Multitasking

 

4-1. 단일 프로세스 멀티테스킹

4-2. Task를 사용할 필요가 없다

 

-> 음..일단 여기까지 봤을 때는 지금도 멀티테스킹이 가능한데..뭔소리인가..라는 생각이 들었는데..다음장으로 넘어가면서 반전이 있군요..

 

 

4-3. 새로운 멀티테스킹이 나에게 무슨 의미가 있나용?

1) 백그라운드 오디오를 플레이할 때 더 이상 2개의 프로세스를 필요로 하지 않습니다.

. backgroundMediaPlayback capability 선언만으로 가능

. 당신이 좋아하는 미디어 플레이어를 이용할 수 있습니다.

. 등록도 필요 없고, 백그라운드 작업 관리도 필요 없다.

-> 헉뜨;;; 백그라운드 테스크를 만들려면 졸리 귀찮고, 짜증이였는데...이제는 정말 쉽게 백그라운드 오디오를 사용할 수 있겠네요~~

 

2) 포그라운드 어플리케이션에 확장 실행이 가능합니다.

. 더 많은 시간을 사용할 수 있다. 배터리일 때 최대 10분, 전원 모드일때 제한 없음

. 내 앱을 계속 실행할 수 있다. OS에게 지시를 하거나, 전원 모드 혹은 배터리 절약 모드가 아닐 때

-> 음 화면이 꺼지면 앱이 뒤로 자꾸 숨어 들어가는 것을 방지할 수 있을 듯 하네요

 

 

땡큐~

 

반응형
댓글