2012-12-19 3 views
3

휴대 전화, 태블릿 및 PC에서 사용할 수있는 Windows 8 응용 프로그램을 개발할 계획입니다. 내가 이해하는 한, 모든 장치에 동일한 코드를 사용할 수 있습니다. (물론 일부 UI를 적용해야합니다.)메트로 및 데스크톱 용 Windows 8 응용 프로그램 개발

비즈니스 응용 프로그램이기 때문에 사용자 지정자는 추가 데스크톱 버전을 원합니다. 데스크톱 버전에 대도시 코드를 사용할 수 있습니까? Metro 앱과 데스크톱 애플리케이션을 동시에 개발하려면 어떤 단계를 밟아야합니까?

P. C#에서 개발할 계획입니다 ...

+0

미안하지만, 귀하의 주요 질문은 다음과 같습니다. Metro 응용 프로그램을 데스크탑 응용 프로그램으로 이식하는 과정은 무엇입니까?이를 반영하여 제목을 변경하는 것이 좋습니다. –

답변

7

예, 두 앱 모두에서 거의 동일한 코드를 MVVM 패턴으로 사용할 수 있습니다. 이 패턴에서 App은 View, ViewModel 및 Model의 세 부분으로 나뉩니다. 모델 및 ViewModel은 이식 가능합니다 (휴대용 라이브러리를 만들고 Metro 및 Desktop 응용 프로그램 프로젝트의 링크와 동일한 파일을 참조 할 수 있습니다.)보기는 플랫폼에 달려 있습니다.

상상할 수 있듯이 모델은 데이터이며 ViewModel은 View와 Model을 연결하는 것으로, 플랫폼에 따라 데이터를 로컬 스토리지에 저장할 수 있습니다.이 경우 인터페이스를 만들고 ViewModel에 구현할 수 있습니다. 다른 플랫폼의 ViewModels

2

예 아니요.

예 Metro 및 Desktop 응용 프로그램 모두에서 C# 코드를 사용할 수 있습니다.

그러나 이러한 응용 프로그램에서 데이터와 입력이 처리되는 방식에는 많은 차이점이 있습니다.

그들은 예를 샌드 박싱 데스크톱 애플리케이션에 적용되지 않는 경우에 페이지를 구축하고

에 다른 입력 다른 여러 가지 방법으로이 완전히 다른 시스템이다. (이것은 백만 분의 한 예에 불과합니다). 응용 프로그램의 주요 논리는 동일하게 유지하지만

는 두

This 사이의 변환이 간단하지 않습니다 것은 반대를 커버하는 자원이다.

+1

극한을 가져 주셔서 감사합니다. 미묘하지만 중요한 포인트. 둘 다 .NET 언어를 기반으로 구축되었지만 두 가지 UI 만있는 것은 아닙니다. 그것들은 다소 다른 패러다임이다. MVVM이이 문제를 완전히 해결하지는 못합니다. 휴대용 클래스 라이브러리는이 문제를 해결하려고 시도하지만 현재로서는 100 %를 얻지 못합니다. –

관련 문제