2011-09-15 21 views

Respuesta

11

Las proyecciones de tiempo de ejecución de Windows son la forma en que las API de Windows Runtime están expuestas en cada idioma. Esto puede estar en tiempo de compilación (como en C++) o en tiempo de ejecución (como en JavaScript) o una combinación (como en C#). Cada idioma decide cómo presentar las API WinRT mejor. La mayoría de las veces es una exposición directa, pero otras veces hay envoltorios o redirecciones que pueden tener lugar. Los delegados y los eventos son un buen ejemplo. En C# se muestran como delegados/eventos C# y no como tipos específicos de WinRT. De la misma manera, las cadenas se reasignan para que sean el tipo de cadena de idioma nativo y no el tipo de cadena hs subyacente.

9

"Proyecciones" en WinRT es otra palabra para "Vinculaciones".

Las proyecciones de lenguaje WinRT son las vinculaciones de WinRT para cada idioma admitido.

Para obtener más información, consulte:

WinRT Demystified - Miguel de Icaza

+3

Una sutil diferencia es que los "enlaces" pueden ser manuales, mientras que las "proyecciones" siempre son automáticas, es decir, no se sienta manualmente escribiendo declaraciones FFI para WinRT con una proyección, solo usa un código, escrito una vez, que toma cualquier componente WinRT y lo expone al idioma en cuestión utilizando las expresiones idiomáticas de ese idioma. –

4

La forma más fácil de aclarar es que una proyección idioma en WinRT es el "front-end", mientras que el tiempo de ejecución de Windows es el back-end. Escriba desde uno de los tres idiomas (JS, C#, VB), se comporta de manera idéntica en el back-end.

Si escribe su propio componente WinRT de terceros en C++ o C#, puede usarlo desde JS, C# y VB sin tener que hacer ningún trabajo adicional.

Cuestiones relacionadas