delphi winapi windows-8 microsoft-metro windows-runtime

Recursos para el desarrollo de aplicaciones nativas de Metro con Delphi



winapi windows-8 (2)

¿Hay recursos en la web que ayuden a comenzar con el desarrollo de aplicaciones nativas de Metro con Delphi (Win32)?

Hasta ahora encontré la introducción a MSDN, Comenzando con las aplicaciones de estilo Metro , que se vincula a los conjuntos de API disponibles, incluidas dos API nativas:

  • Windows Runtime ( WinRT ) - "Una API nativa integrada en el sistema operativo. Fundamental para las aplicaciones de estilo Metro. Implementado en C ++ y compatible con JavaScript, C #, Visual Basic y C ++ de una manera natural para cada idioma".
  • Win32 y COM para aplicaciones de estilo Metro : "El subconjunto de las API de Win32 y COM que puede usar en una aplicación de estilo Metro". Citar:

Las aplicaciones de estilo Metro pueden usar un subconjunto de Win32 y COM API. Este subconjunto de API se eligió para admitir escenarios clave para aplicaciones de estilo Metro que ya no estaban cubiertas por Windows Runtime, HTML / CSS u otros lenguajes o estándares admitidos. El Kit de certificación de aplicaciones de Windows garantiza que su aplicación solo use este subconjunto de Win32 y COM API.

Nota al pie: el primer concurso de la aplicación Metro ya se cerró el 8 de enero de 2012 según el blog Metro Windows Store y los ganadores se presentaron a fines de febrero; estas aplicaciones de Metro ya están disponibles a través de Windows 8 Consumer Preview .


Thom Gerdes escribió este artículo del blog el 14 de diciembre de 2011:

Escribir Hello World para WinRT en Delphi

Existe relativamente poca información sobre el desarrollo de aplicaciones de Native Metro, especialmente para idiomas distintos de los que Microsoft ha proporcionado para las proyecciones (C ++, C # y JavaScript). Otros idiomas, incluido Delphi, necesitan crear sus propias proyecciones antes de que puedan usarlas de manera efectiva. He estado investigando cómo lograr que Delphi produzca aplicaciones nativas para WinRT.

Y su artículo Hello World: Hooking events muestra cómo usar los controladores de eventos Metro "delegado multicast" con Delphi.

Las fuentes están disponibles en https://github.com/tgerdes/DelphiWinRT


Hay algunos artículos nuevos de blog y foro sobre este tema, que apuntan a problemas con el uso de API que descalifican aplicaciones de la tienda de aplicaciones MS:

¿Por qué no hay soporte WinRT nativo en Delphi XE3? - citando una publicación del foro por Allen Bauer

Estamos muy interesados ​​en apoyar WinRT con código nativo de Delphi y C ++. En este momento, los problemas que rodean al espacio WinRT se centran en el hecho de que muchas API proporcionadas por OS que son requeridas por cualquiera que implemente su propio lenguaje RTL están fuera de los límites salvo que usted sea el VC ++ RTL DLL. Ya sabes, pequeñas cosas como RtlUnwind para el procesamiento de excepciones y VirtualAlloc (et al.) Para la gestión de memoria ... Cualquier llamada a esas API desde su aplicación descalificará automáticamente a su aplicación de ser una aplicación WinRT "oficial" capaz de entregar a través de la aplicación MS almacenar.

Consulte también: compiladores de terceros bloqueados del desarrollo de Windows Runtime

Por otro lado, esta presentación oficial de Microsoft contiene una declaración que

Martyn (Lovell) dejó en claro que no solo queremos que los diseñadores e implementadores de idiomas agreguen WinRT a su lista de plataformas de destino para su lenguaje y toolchains, sino que les ayudaremos y asesoraremos.