블로그 이미지
* Microsoft MVP - Windows Development 2014 ~ 2019 5ring * LINE : kaki104 * facebook : https://www.facebook.com/kaki104 https://www.facebook.com/groups/w10app/ kaki104

카테고리

List All (551)
Xamarin Forms (4)
Bot Framework (19)
Azure (9)
Windows 10 (35)
Facebook News & Tips (158)
Windows App(Universa.. (83)
Windows 8&8.1 (113)
Windows Phone 8 (42)
Silverlight (37)
HTML5 & MVC4 (16)
WPF (1)
Portable Class Library (2)
Uncategorised Tips a.. (3)
Kinect for Windows (2)
ETC (12)
kaki104 Scrap (4)
App News (11)
Total522,039
Today48
Yesterday101

프로젝트 센터니얼 : 데스크탑 어플리케이션을 UWP 앱으로

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

 

이 세션은 데스크탑 어플리케이션을 UWP로 컨버팅하는 기술에 대해 설명합니다.또한, UWP로 변환했을 때 어떠한 장점이 있는지에 대해 설명한다.

 

 

 

1. 프로젝트 센테니얼이 뭔가요?

 

1) 데스크탑 앱을 Universal Windows에 배포할 수 있도록 컨버팅 하는 기슬

2) Win32/.NET 코드를 수정하지 않음

3) 코드의 Windows 10과 Windows 7 PC에서 실행될 수 있다.(PC이외의 디바이스에서 실행않됨)

4) 시간을 두고 Universal Windows 용으로 버전을 올릴수 있음

5) 윈도우 스토어나 다른 배포 방법을 이용해서 수익을 창출할 수 있음

 

 

2. 어떤 과정이 필요한가요?

 

1) 데스크탑 앱을 컨버팅 한다.

. MSI 형태의 인스톨 패키지가 필요하며, 컨버팅 결과로 AppX파일과 기타 필요한 파일들이 만들어진다.

2) 테스트, 업데이트그리고 진화

. MSI와 App package에 양립할 수 있는 코드로 변경한다.

. AppX라는 새로운 설치 패키지를 생성한다.

3) 개시 및 배포

. 사이드 로딩, MDM 또는 Windows 스토어를 통해 앱 패키지를 배포

 

 

 

컨버팅 데모 중~

 

 

인증 툴을 이용해서 AppX파일에 인증을 추가 

 

 

에버노트 설치 중

 

 

 

3. 어떻게 동작하는 거죠?

 

1) 배포

. UWP 배포 스택을 이용

. 확장된 Win32 확장 포인트가 필요

. Shell 확장(e.g file type assocations)

 

2) DLL Hell과 레지스트리 문제를 해결

. 레지스트리 재/병합

. 파일 시스템 재/병합

. 특정 디렉토리 재작정

. 동일한 코드가 윈도우 7과 8에서 동작하도록 함

 

 

4. UWP와 연결

 

1) 이렇게 변경하면

. Modern deployment( 모던 디플로이라고 하는 새로운 배포 방식)

. 앱이 타일을 가지고, 새로운 파일 타입과 URI 프로토콜을 이용할 수 있다.

. 앱이 UWP API를 사용할 수 있다.

. UWP App Model로 변경된다.

 

2) 어떤게 가능한가?

UWP 앱의 모든것이 가능하다.

 

 

 

5. UWP로 계속 마이그레이션을 하면(완전히 UWP으로 변경하면..)

. UWP API들의 이점을 가질 수 있다.

. 앱 서비스, 백그라운드 테스크, 트리거 등을 사용할 수 있다.

. UI를 XAML로 변경할 수 있다.

 

 

 

다음 데모는 라이브 타일에 텍스트 변경하는 것인데.. 감동이 없어서 패스;;

 

 

6. 스탭3 - UWP 컴포넌트를 추가하기

 

1) 기능 예제

. XAML UI를 추가

. 백그라운드 테스크를 추가

. 파일 선택 UI추가

 

2) 앱 컨테이너에서 실행

. AppService를 이용해서 통신하기

 

 

 

7. Desktop & App Container processes

 

1) 코드는 데스크탑 프로세서에서 실행된다.

2) UWP app코드는 App Container에서 실행된다

3) 앱 컨테이너와 테스크탑 프로세서가 서로 활성화 된다.

4) 프로세스간 통신을 한다(AppService를 통해)

 

 

데모

 

UWP 앱과 데스크탑 앱간에 통신을 진행하는 과정

-> 데스크탑 앱과 UWP간에 서로 통신이 가능하다는 이야기네요..다음 버전 윈도우가 나오면 가능할 듯

 

 

8. 스탭4 - 코드를 UWP 용으로 마이그레이션

 

 

 

9. 스탭5 - 모든걸 UWP로 마이그레이션

 

그러면 모든 디바이스에서 실행된다.

 

 

 

10. 추가정보

 

Call to Action

https://developer.microsoft.com/en-us/windows/bridges/desktop

App Consult Area를 이용하여 도움을 받을 수 있다.

 

 

Desktop App Converter Preview (Project Centennial)

https://www.microsoft.com/en-us/download/details.aspx?id=51691

Project Centennial - Win32 프로그램을 UWP 앱으로 컨버팅 모듈 다운로드 링크.

주의사항!!! 이 모듈을 사용하기 위해서는 14316 버전의 윈도우가 필요함. 하지만, 메인 윈도우를 업데이트 하는 것을 권장하지 않음. 안전하게 VM에 설치하고 테스트하기를 권장

 

 

11. 옮긴이 생각

 

결국 프로젝트 센터니얼은 일단 당장 데스크탑 앱들을 UWP앱으로 변경해서 스토어에 올릴 수 있는 방법을 제공하는 것일 뿐이지, 최종적으로는 UWP으로 바꿀 것을 권장하고 있다.

그말은, 지금부터라도 UWP을 만드는 것이 더 쉬울지도 모르겠다.

 

Posted by MVP kaki104

티스토리 툴바