Windows Runtime

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 1 iunie 2013; verificările necesită 15 modificări .

Windows Runtime , sau WinRT  , este un model de programare de la Microsoft care stă la baza dezvoltării aplicațiilor în stil Metro pe sistemul de operare Windows 8 [1] [2] . WinRT acceptă dezvoltarea în C++ (de obicei, utilizând extensia de limbaj Component Extensions, C++/CX ), limbaje gestionate C# și VB.NET , Rust [3] și JavaScript .

WinRT este în esență un API bazat pe tehnologia COM . Datorită naturii sale asemănătoare COM, WinRT face relativ ușor accesul din diverse limbaje de programare, așa cum o face în COM, dar este în esență un API nativ neadministrat. Definițiile API sunt stocate în fișiere „.winmd” codificate în formatul de metadate ECMA 335 utilizat de .NET cu unele modificări. [4] Acest format obișnuit de metadate poate reduce în mod semnificativ supraîncărcarea apelării WinRT din aplicațiile .NET în comparație cu P/Invoke, având în același timp o sintaxă mult mai simplă . [5] Noul limbaj C++/CX (Extensii de componente), care împrumută unele elemente de sintaxă din C++/CLI, vă permite să creați și să utilizați componente WinRT cu mai puțină codare vizibilă pentru programator în comparație cu programarea clasică COM în C++ și la în același timp, impune mai puține restricții în comparație cu C++/ CLI asupra mixării tipului. Plain C++ (cu cerințe specifice COM) poate fi folosit și pentru a programa cu componente WinRT. [6] Acest lucru este posibil cu noua bibliotecă de șabloane Windows Runtime C++ (WRL), care este similară ca scop cu ceea ce oferă ATL pentru COM. [7] Documentația MSDN recomandă totuși utilizarea C++/CX în loc de WRL. [opt]

Note

  1. Abel Avram. Detalii de proiectare ale Windows Runtime . InfoQ (21 septembrie 2011). Arhivat din original pe 10 septembrie 2012.
  2. Brian Klug și Ryan Smith. Microsoft BUILD: Windows 8, o previzualizare pre-beta . AnandTech (13 septembrie 2011). Arhivat din original pe 10 septembrie 2012.
  3. Microsoft a introdus Rust/WinRT. Rust-analyzer este disponibil pentru a integra Rust cu IDE . www.opennet.ru Preluat la 13 mai 2020. Arhivat din original la 12 iulie 2020.
  4. WinRT demistificat - Miguel de Icaza . Preluat la 29 ianuarie 2012. Arhivat din original la 16 aprilie 2022.
  5. Care este supraîncărcarea COM marshaling în apelarea API-ului WinRT din C#?  (link indisponibil)
  6. Visual C++ și WinRT/Metro - Câteva elemente fundamentale - CodeProject® . Data accesului: 29 ianuarie 2012. Arhivat din original pe 8 decembrie 2011.
  7. Utilizarea Windows Runtime din C++ | BUILD2011 | Canalul 9 (link indisponibil) . Data accesului: 29 ianuarie 2012. Arhivat din original la 12 octombrie 2011. 
  8. Biblioteca de șabloane C++ Windows Runtime . Data accesului: 29 ianuarie 2012. Arhivat din original pe 6 aprilie 2016.

Link -uri

Literatură