Windows 8 정식버전이 나왔죠.(하드웨어 제조업체와 개발자들에게 먼저 제공됐고, 일반 사용자들도 조만간에 사용 가능)
향후 모바일 시장에 큰 변화가 예고되고 있는 가운데, 관심있는 분들이 있을 것 같아서 몇자 적어 봅니다.
Windows 8을 하드웨어 기준의 플렛폼으로 나눠서 보면...
모바일 대상의 ARM 프로세서가 장착된 하드웨어를 타겟으로 하는 'Windows 8 RT'가 있고...
Intel CPU가 장착된 일반 PC(Tablet PC포함)를 대상으로 하는 'Windows 8'... 이렇게 두가지 플렛폼으로 나눠 볼수 있습니다.
ARM 프로세서는 Intel CPU에 비해서 퍼포먼스가 느리죠 (대신 값이 저렴). ARM 프로세서가 장착되는 하드웨어에는...
'Windows 8'의 축소 판이라고 볼수 있는 'Windows 8 RT' 가 사용되게 됩니다.
여기서 RT란 기존의 Win32 API 대체 버전으로 윈도우즈 8에서 새로 도입된 API 레이어를 말하는데..C++ COM 모델로 구현되어
있고 .NET 4.5 프레임웍 런타임 환경을 구성하는 Low Layer 배이스 파트가 되기도 하는데요...
'Windows 8 RT' 가 장착되는 ARM 기종에서는 기존의 윈도우즈 애플리케이션은 쓸 수 없고, Metro Style 의 애플리케이션 만
사용이 가능 합니다. ('Windows 8'에서는 RT 레이어와 기존의 Win32 API 레이어도 그대로 다 지원하기 때문에 이런 제한이 없음)
퀄컴 사에서는 이미 스마트폰과 PC를 모두 지원하는 '4G/LTE' 칩셋을 개발해서, 'Windows 8'을 탑재한 시스템에서 테스트를 완료
한 상태고...
'4G/LTE'칩이 장착된 인텔 CPU 기반의 Tablet PC 를 갖고 있으면, 전화를 걸기 위해서 별도로 스마트 폰을 사용할 필요도 없고...
외부에 나가서도 무선으로 인터넷 검색하고, 컴파일러 돌려가면서 프로그램 짤수도 있고해서, 제품이 나오면 하나 사볼 생각 입니다.
비쥬얼 스튜디오 개발환경이 워낙 잘 만들어져 있어서 안드로이드나 iPad 쪽 보다는 프로그램 개발하기가 더 편하기도 하고요.
(Visual Studio와 Blend를 이용하면 Metro Style 애플리케이션 만들기가 거의 거져 먹기 수준)
참고로...
RAD XE3 에서의 Metro 스타일 애플리케이션은...
TForm 클래스를 이용해서 캡션바 안나오게 하고, Metro Application에서 디폴트로 사용하는 블랙계통 컬러를 배경색으로 사용해서
메인 폼 화면 모양을 마치... Metro Style 애플리케이션인 것 처럼 보이게 하는 구조 일 뿐... 키를 인증받고 Metro Style Application
의 Context 로 실행되는 실제적인 Pure Metro Application 이 아닙니다. (메인 프레임 화면 모양만 Metro Style App 처럼 보이게
하는 기존의 Win32 애플리케이션 그대로 임)
...
PS) 댓글단 분들에 대한 답글로 몇자 추가합니다.
'Windows 8 RT'는 펌웨어로 넣어져서 엔드 유져들에게 제공되기 때문에 이쪽 관련 업체에 관여하고 있는 한정된 개발자들이나
접해 볼수 있을 뿐, 인스톨 CD로 자신이 직접 설치 할수 있는 'Windows 8'과는 달리 일반 사용자들이 직접 접해 볼수있는 건 아니
고요. 프로그램 개발자들도 프레임웍 이용해서 프로그램 짜면 그만이니까 'Windows 8'이냐 'Windows 8 RT'냐를 갖고 구분할
필요가 없을 겁니다.
여기서 관심가져 볼 필요가 있는 부분은...
기존의 Win32 API 대체 버전으로 '윈도우즈 8'에서 새로 도입된 'WinRT' 인데요....
어떻게 보면 크게 진일보된 새로운 획기적인 인터페이스 구조라고 할수 있습니다.
표면적으로 보면...
함수, 타입, 전달되는 파라미터 등 메타데이타 형식의 정보가 제공된다는 점에서는 .NET 어셈블리 모듈 처럼 보이기도 하지만..
중간언어인 IL을 이용하는 .NET과는 달리... WinRT (Windows RunTime)는 C++ COM으로 구현되어 있는 Native Code 레이어
입니다.
그러나 ...
WinRT가 C++ COM 모델로 구현되어 있다고 해서.. 이를 사용하는 프로그래머 입장에서 볼 때...
기존의 C++ COM 프로그래밍 방식 처럼 IDL로 지져분하게 인터페이스를 기술하고, 헤더파일들 줄줄이 달고 다녀야 하는 그런
너덜한 구조는 또 아닙니다. (ATL Template 코딩박식 처럼 고전 방식으로 코딩하는 것도 가능하지만 그건 별론으로 하고)
.NET 어셈블리 모듈 처럼 메타데이타 정보가 제공되기 때문에...
프로그램에서 WinRT 를 사용할 때... 마치 .NET을 다루고 있다는 착각이 들정도로 편리하게 사용할 수 있고...
그렇지만 생성되는 코드가 중간 언어인 IL 이 아닌,.. Native Code라는 점에서는 근본적으로 다르죠.
프로그램 개발할 때...
C#, F#, VB 같은 랭귀지를 이용해서 기존의 .NET 헝태로 개발 할 수도 있고, WinRT를 직접 사용할 수도 있는데요.
WinRT의 새로운 인터페이스 구조. 그리고 C++ 컴파일러가 어떤 식으로 관여해서 COM 객체의 Reference 카운터를 유지하는
코드를 자동으로 생성하는지 그런 부분에 대해서는.. 세부적으로 알아 두는 게 좋겠죠.
아직 아리송해 하는 분들이 있을지도 모르겠는데요...
간단하게 보면...
''WinRT 는... .기존 Win32 API 레이어의 대체 역할도 하고 .NET의 Native 버전 프레임웍 역할을 하기도 한다' 라고..
쉽게 생각하면 됩니다.
...
|
이렇게 OS가 다양하게 가니 개발자들이 혼란이 있을수도 있겠지만 일거리도 많아지고 좋네요...^^&