Windows Çalışma Zamanı

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT (standart C++), C ++/CX (Bileşen Uzantıları, C ++ tabanlı bir dil), JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic. NET (VB. NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.
Windows Phone 8.1, Windows Phone Çalışma Zamanı Modülü adlı Windows Çalışma Zamanı'nın bir sürümünü kullanır. C # ve VB. NET'te uygulama geliştirme ve C ++ / CX'de Windows Çalışma Zamanı bileşenleridir.
Windows Phone 8, Windows Phone Runtime ile Windows Runtime bileşenleri geliştirme ve tüketme konusunda sınırlı desteğe sahiptir. Windows 8'deki çekirdek işletim sistemi işlevlerini işleyen Windows Çalışma Zamanı API'lerinin çoğu, Windows Phone 8'e taşınır. Oyun geliştirme endüstrisinin isteği üzerine C ++ / CX ve DirectX kullanarak yerel oyunlar geliştirme desteği eklendi.
Ancak, Windows Phone XAML Çerçevesi, geriye dönük uyumluluk için hala Windows Phone 7'dekiyle aynı Microsoft Silverlight çerçevesine dayanmaktadır. Bu nedenle, 2016 itibarıyla, C ++ / CX'de XAML geliştirme imkansızdır. Windows Phone 8'de, HTML5 veya WinJS kullanılarak yapılan geliştirme desteklenmiyor.
Windows Phone 8.1'deki Windows Runtime desteği, Windows 8.1 ile birleşir. Bu sürüm, Windows Runtime XAML Framework desteği ve C ++ / CX ve HTML5-JavaScript için dil bağlamaları da dahil olmak üzere, platforma tam bir Windows Çalışma Zamanı API'si getiriyor. Ayrıca, uygulamaların Windows Phone ve Windows 8.1 sürümlerinde kod paylaşmasını sağlamak için Evrensel uygulamalar adlı bir proje türü de vardır.
Windows Phone 8 Silverlight Çerçevesi güncellendi. Windows Çalışma Zamanı Modülü'ndeki bazı yeni özelliklerden faydalanabildi. Windows Phone Çalışma Zamanı Modülü, daha önce Silverlight XAP kullandıktan sonra, Windows 8'den gelen AppX paket biçimini kullanır.
Teknoloji
WinRT, C++ programlama dilinde uygulanır ve tasarım yoluyla nesneye yöneliktir. Selefi, Windows API (Win32 API) çoğunlukla C dilinde yazılmıştır. COM gibi, birden çok dilden arabirime izin veren, Bileşen Nesne Modeli'ne (COM) dayalı bir yönetilmeyen kod uygulaması programlama arabirimidir (API). Ancak, API tanımları, . NET Framework'ün de birkaç değişiklikle kullandığı ECMA 335 meta veri biçiminde kodlanan. winmd dosyalarında depolanır. Bu ortak meta veri biçimi, Win / P / Invoke ve daha basit sözdizimlerine göre, . NET uygulamalarından WinRT'yi çağırırken önemli ölçüde daha az ek yük sağlar.
Bazı C ++ / CLI sözdizimini ödünç alan yeni C ++ / CX (Bileşen Uzantıları) dili, WinRT bileşenlerini programlayıcı tarafından görülebilen daha az tutkal koduyla yazma ve tüketmeye izin verir, C ++ içindeki klasik COM programlamasına göre ve C ++ ile ilgili daha az kısıtlama getirir. C ++ / CX Bileşen Uzantılarının başka amaçlarla değil, yalnızca API sınırlarında kullanılması önerilir. Düzenli C ++ (COM'a özgü bir disipline sahip), WinRT bileşenleri ile programlamak için de kullanılabilir, Windows için Runtime C ++ Şablon Kütüphanesi (WRL) yardımıyla, Aktif Şablon Kütüphanesinin COM için sağladığı amaç ile aynıdır.
WinRT uygulamaları bir sanal alanda çalışır ve kritik işletim sistemi özelliklerine ve temel donanıma erişmek için açık bir kullanıcı onayına ihtiyaç duyar. Dosya erişimi, Belgeler veya Resimler dizinleri gibi önceden belirlenmiş çeşitli konumlarla sınırlıdır.
Windows RT, Windows 8 ve sonrası için WinRT uygulamaları. appx dosya biçiminde paketlenmiştir; Açık Ambalaj Sözleşmelerine dayanarak, eklenmiş XML dosyaları içeren bir ZIP formatı kullanır. WinRT uygulamaları çoğunlukla, WinRT yazılımının (Windows Mağaza uygulamaları olarak adlandırılır) kullanıcılar tarafından indirilip satın alınabildiği Microsoft Store adlı bir uygulama mağazasında dağıtılır. WinRT uygulamaları yalnızca Windows etki alanının parçası olan Windows 8 veya RT sistemlerinde veya Microsoft'tan elde edilen özel bir etkinleştirme anahtarıyla donatılmış Windows Mağazası dışından Windows Store'dan kaldırılabilir.
Win32'den büyük bir ayrılıkta ve. NET Framework 4.5'e benzer şekilde, tamamlanması önemli bir zaman alması beklenen çoğu API uyumsuz olarak uygulanır. Uygulama, sonuçları geri beklerken, diğer görevleri yerine getirmek için uygulamayı serbest bırakarak derhal dönen API çağrısını gönderir. Eşzamansız model, yeni programlama dili yapıları gerektirir (C # ve Visual Basic'te anahtar kelime ve işleci, sınıf görevi ve yöntemidir. Sonra C ++ 'da WinRT yazılım geliştirme kiti (SDK) tarafından sağlanan anahtar kelime söz ve işlevi HTML5, istisna işlemesinde kullanılan try / catch benzeridir). Eşzamansız erişime ihtiyaç duyan API'nin bölümleri arasında ekran mesajları ve diyaloglar, dosya erişimi, İnternet bağlantısı, soketler, akışlar, cihazlar ve servisler ile takvim, rehber ve randevular bulunur.