Over internet there are many blogs saying that winrt is a replacement of win32 api. IS this is really true? Even i read that application developed for Metro Application uses winrt. So do i understand correctly, those application which are metro application they has to go through winrt & classic applications has to go through win32 api's. Please someone validate my conclusions.
问题:
回答1:
Disclaimer: I am not involved in any way in the design or implementation of Windows 8, and I have only kept up on the Windows 8 news. I possess no privileged information.
winrt is a replacement of win32 api
Microsoft has made clear that WinRT is not a replacement for Win32, but another way to develop applications. That said, there is no Win32 implementation on ARM (at least that third-party developers can access). Windows on ARM will only support WinRT, and not Win32, as Steve Sinofsky explains here.
those application which are metro application they has to go through winrt & classic applications has to go through win32 api's
Absolutely correct.
回答2:
Win32 still exists. WinRt wraps them and converts their types to be native for the consuming language. C++ metro application can still access a limited set of Win32 APIs
回答3:
WinRT is basically a wrapper for Win32 (COM) to be consumed by Metro Stype applications (Projections for Native, CLR, Javascript) which are designed for a sandboxed environment mostly for Touch-Screen aware applications (although one can hack them to work on the desktop). Some APIs for Metro Style applications are still using the classic COM APIs (DirectX for example). So, how can WinRT replace Win32 if it is built upon it? ;-)