By AB4327-GANDI,
2012-08-30.
Pascal Programming
Apart the sad
and concerning license change issue (which has been confirmed by David I.
himself), XE3 has some features, in order to support Windows 8 new
'tile-based' interface (formerly known as "Metro").
Windows Runtime, or WinRT (not to be confused with
Windows RT, which is a tablet manufacturer only version of Windows
8) is a cross-platform application architecture on the Windows 8 operating
system.
WinRT supports development in C++/CX (Component Extensions, a language
based on C++) and the managed languages C# and VB.NET, as well as
JavaScript.
WinRT applications natively support both the x86 and ARM
architectures, and also run inside a sandboxed environment to allow for greater
security and stability.
WinRT will also be part of the upcoming Windows Phone 8 operating
systems.
(source: Wikipedia)
It has been clearly stated that only Microsoft compilers and
runtime libraries (RTL) will be able to have full access to the low-level API
needed to create a decent RTL.
This has been done for security reasons, but it won't allow third-party JIT or
compilers to work as expected. Only Microsoft's C++ and C# compilers / virtual
machines have access to the needed API. Even if you do not have a JIT in your
language (Delphi is compiled and do not have any virtual machine), you would
need to access to some low-level API calls e.g. to mark some memory block as
executable (e.g. for virtual
methods stubbing).
So
Delphi is not able to have native support of WinRT, due to this
limitation.
This is a known fact, but let us tell about "Windows 8 sideloading" feature,
available with XE3.
In short, even if you do not have 100% WinRT application, XE3
"Metropolis" (sic) styled Desktop applications have some potential to
behave like native UI applications, even if not being
native.