2012-07-05 6 views
1

저는 10 년 된 MFC VC++ 데스크톱 애플리케이션이 있습니다. 응용 프로그램의 아름다움은 Windows 2000에서 Windows 7까지 15 개 이상의 언어로 작동합니다. winsocket 위에 IPC 및 SSL을 사용하여 다중 스레드 처리했습니다.VC++ Metro 스타일 앱 Windows

최근 Windows 8 Metro 스타일에서 우승하여 기존 응용 프로그램을 실행할 수 없습니다. Windows가 VC++ 또는 MFC를 죽이는쪽으로 향하고 있다는 뜻입니까?

모든 Windows 버전에서 동일한 코드 기반을 유지할 수 있습니까? Winsock 및 MFC 용 대체 API가 있습니까? HTML5에 앱을 작성해야합니까?

+0

Metro 응용 프로그램은 Windows 8보다 낮은 응용 프로그램에서는 실행되지 않습니다. 실제로 Windows 8보다 낮은 응용 프로그램에서는 Metro 응용 프로그램을 빌드 할 수 없습니다. 그렇지만 "기존"Win32 및 .Net 응용 프로그램 Windows 8에서 실행할 수 있습니다 (예 : 드라이버 호환성 또는 보안 문제). 추신 : 모든 의도와 목적을 위해, MFC는 오래전에 죽었다;) – paulsm4

답변

2

윈도우 8에서 실행 최근에 내가 승리 윈도우 8 메트로 스타일은 우리가 기존의를 실행할 수 수 없음을 읽고있다 응용 프로그램

Windows Runtime (WinRT)의 관점에서 생각하면 쉽게 알 수 있습니다. ARM 기반 Windows 8 시스템은 만 WinRT 프로그램을 지원합니다. x86 기반 Windows 8 시스템은 WinRT 프로그램 기존 Win32 프로그램을 모두 실행할 수 있습니다.

모든 Metro 스타일 응용 프로그램이 WinRT 응용 프로그램이라는 암시 (또는 가정일까요?)가 있습니다. 확실히 WinRT는 Metro style applications 건물에 사용하기위한 것입니다. 필자는 Metro 응용 프로그램처럼 보이는 전통적인 Win32 응용 프로그램을 빌드하는 것을 상상할 수있었습니다. 큰 사각형 활성 타일, 보이는 바탕 화면의 왼쪽과 오른쪽으로 펼쳐지는 응용 프로그램 표면 등. "Metro 스타일"응용 프로그램으로 간주 될지 확실하지 않습니다. Metro 앱과 같은 스타일로 제작 된 경우

기존 응용 프로그램은 ARM 기반 Windows 8 시스템에서 실행되지 않으며 x86 기반 Windows 8 시스템의 비 데스크탑 부분에서 실행되지 않습니다. 그들은 x86 기반 Windows 시스템의 바탕 화면 부분에서 실행됩니다. Visual Studio가 실행되는 곳이 바로 PhotoShop이 실행되는 곳입니다. Windows 7에서 실행되는 모든 프로그램이 실행됩니다.

Windows가 VC++ 또는 MFC를 죽이는쪽으로 가고 있다는 뜻입니까?

절대적으로 아닙니다. MFC 응용 프로그램은 x86 기반 시스템의 Windows 8 데스크톱 환경에서 정상적으로 실행됩니다. MFC 응용 프로그램은 이 아니고은 ARM 기반 Windows 8 시스템에서 실행되지만 MFC 응용 프로그램은 실행되지 않습니다.

VC++의 경우 Metro 스타일 응용 프로그램을 만들 수 있습니다. using C++ 원하는 경우 Metro "스타일"을 따라야합니다.

모든 Windows에 동일한 코드 기반을 유지할 가능성이 있습니까? 버전입니까?

"모든 Windows 버전"의 의미에 따라 다릅니다. 현재 Windows 7 x86 기반 시스템에서 실행되는 코드는 내일 Windows 8 x86 기반 시스템에서 실행됩니다.이것이 목표 시장이라면 끝났습니다. 코드를 변경할 필요가 없습니다. 당신이 가질 수없는 유일한 것은 활성 타일입니다. 그러나 Metro 스타일 API를 사용하여 활성화 된 타일을 만들고이를 이해한다면 앱의 로직으로 되돌릴 수 있습니다.

ARM 기반 Windows 8 시스템과 x86 기반 시스템을 지원하려는 경우 또는 x86 기반 시스템에서 실행할 때 모든 프로그램이 Metro 모양과 느낌을 갖기를 원한다면 프로그램을 사용하여 HTML/CSS 또는 XAML과 WinRT API 대신 MFC 및 Win32 API를 사용합니다.

아니면 두 세계를 원하는 경우, 아마 당신도 UI에서 프로그램의 로직을 분리해서 한 다음 MFC 피부와 그 일반적인 논리 주위 메트로 피부를 만들 수

내가 Winsock을 대체 API를 가지고 있습니까 및 MFC?

네트워킹의 경우 JavaScript, Visual Basic, C# 및 C++에서 사용할 수있는 number of classes이 있습니다. UI를 작성하려면 HTML/CSS을 사용하거나 XAML을 사용하십시오.

또는 필요에 따라 MFC를 계속 사용하십시오. Tabbed UI를 사용하여 Multiple Document Interface의 Metro 스타일 앱을 만들지 않으실 것입니다.

0

메트로 스타일은 모두 사용자 경험과 다양한 UI 레이아웃에 관한 것입니다. 앱에서 메트로 스타일 UI를 활용하려면 앱을 둘러싼 WinRT 래퍼를 작성해야합니다. 그 나던은 응용 프로그램이 윈도우 8에 전혀 실행되지 않습니다 것을 의미, 모든 leagacy 응용 프로그램은 여전히 ​​

관련 문제