Universal Windows Platform (UWP) tətbiqi dəqiq nədir?
Texnologiya haqqında yazmaq çox vaxt tarazlaşdırıcı bir hərəkətdir. Bəziləri ümumi texnoloji xəbərlər, bəziləri isə dərin dalışlar istəyir. Proqram və OS inkişafına gəldikdə, qeyri-proqramçı kimi özümü tez-tez başımın üstündə görürəm. Bu səbəbdən UWP 'prosuser' üçün danışmaq üçün buxarlı bir qarışıqlıqdır.
Bu gün bir mövzunun bu monolitliyini araşdıracağam.
Hətta UWP kimdir üçün ?
Microsoft-un Windows 10 üçün proqram inkişaf platformasının nə olduğunu izah etməyə çalışmazdan əvvəl gəlin bu problemi aradan qaldıraq: 'UWP' ifadəsi istehlakçıya deyil, inkişaf etdiricilərə aiddir.
Heç bir halda bir müştəri Best Buy-a girməməli və satış xidmətindən bir kompüterin hansı UWP tətbiqetmələrini çalışdıra biləcəyini soruşmamalıdır. Əslində, texnologiyadakı bir qayda, məhsulun birinə bəlkə də artıq uğursuz olduğunu izah etməlisiniz.
Bununla birlikdə, Windows Mərkəzi sistemində istehlakçı xəbərləri ilə Microsoft şirkətinin texnologiyası, əməliyyat sisteminin inkişafı və ümumi hesablama meyllərini müzakirə edən daha məlumatlı məqalələr və daha çox məlumat verən məqalələr arasında irəliləyirik. Hesabatımızda Windows 10-u başa düşmək üçün UWP haqqında danışmalıyıq, lakin qeyri-pro istehlakçılar üçün daha sadə olmalıdır.
'Universal' edir yox hər yerdə qaçmaq deməkdir
Texniki səviyyədə UWP, Microsoft-un C ++, C #, VB.NET və XAML kodlaşdırma dillərindən istifadə edən Windows Runtime platformasının uzantısıdır. UWP-nin arxasında bir neçə əsas fikir var:
- Universal API alət dəsti.
- Tətbiqlərdə həssas dizayn və miqyaslandırma.
- Universal nəzarət, üslub, giriş və qarşılıqlı əlaqə.
- Cloud, A.I. və idrak xidmətləri.
- Yayım üçün tək mağaza.
- Bir Proqram İnkişafı Dəsti (SDK).
İzləyicilərimiz üçün qarışıq bir şey, 'Universal Windows Platforması' ndakı 'universal' dır. UWP üçün hədəf, inkişaf etdiricilərin tətbiqlər arasında kod paylaşmasına və geniş bir API istifadə etməsinə icazə vermək olsa da, mütləq bir UWP tətbiqinin telefonlar, kompüterlər, Xbox, HoloLens, IoT kimi 'hər yerdə çalışması' lazım olduğu anlamına gəlmir. cihazlar.
İdeal olaraq, bir tətbiqetmə geliştiricisi, yalnız bütün Windows 10 cihazlarında işləyən, lakin bəzən sadəcə mənası olmayan yerli bir UWP tətbiqetməsi yazacaqdır. Məsələn, yalnız telefon üçün müəyyən tətbiqlərin masaüstündə az dəyəri var. Bəzi UWP oyunları bir telefon üçün çox qaynaq ola bilər və ya Xbox-da bir xəritə tətbiqetməsinin işlədilməsinin faydası özünü göstərə bilməz (mövcud olsa da, çox vaxt istifadə olunmur).
UWP-dəki 'universal', tətbiqin hardware təyinat yerinə deyil, bir proqram yazarkən inkişaf etdiricilərin əldə etdiyi paylaşılan API və mənbələrə aiddir. Bunu kifayət qədər vurğulaya bilmirəm. Bir tətbiqin yalnız Xbox-da mövcud olması və ya yalnız Windows 10 Mobile-da quraşdırıla bilməsi, bunun UWP olmadığı və hətta heç bir texniki tərifi olmayan 'həqiqi UWP' olduğu anlamına gəlmir.
Windows Bridge tətbiqləri çox UWP də var
Qarışıqlığı artırmaq üçün Microsoft, bir neçə il əvvəl Build geliştirici konfransında Windows Bridges təqdim etdi.
Bilməniz lazım olan şey, Windows Masaüstü Körpüsü (Project Centennial), Progressive Web Apps ( Layihə Westminster ) LinkedIn və ya Windows iOS Bridge (a. Project Islandwood) kimi bir UWP tətbiqidir.
Daha çox texniki bir Windows Bridge tətbiqetməsi hibrid bir tətbiq olaraq düşünülür. Məsələn, Adobe Photoshop Elements 15 və yeni Spotify tətbiqləri, sözün əsl mənasında UWP appx fayl konteynerinə bükülmüş klassik Win32 masa üstü tətbiqləridir.
Bunu UWP edən təkcə sarıcı və ya quraşdırıcı deyil, əksinə Masaüstü Körpü tətbiqinin yalnız Windows 10-un xüsusiyyətlərindən necə istifadə edə biləcəyi:
- Kortana.
- Canlı plitələr.
- Fəaliyyət və Bildiriş Mərkəzi.
- Hədəfləri paylaşın.
- UWP arxa plan tapşırıqları.
- UWP XAML istifadəçi təcrübəsi.
- UWP tətbiq xidmətləri, məs. bulud, A.I. və idrak.
- Avtomatik yeniləmələr, lisenziyalaşdırma, tətbiqdaxili alışlar və bütün Windows Mağazası xüsusiyyətləri.
Buna görə masa üstü körpü tətbiqləri həqiqətən hibrid-UWP olanlardır. Bununla birlikdə, OS-də yalnız UWP var, çünki bu xüsusiyyətlər ən gözə çarpan xüsusiyyətlərdir.
Bu Masaüstü Körpü tətbiqləri də davranmaq hibrid olmayan 'yerli' UWP tətbiqləri kimi. Sistem qeydini dəyişdirmirlər və Windows Sistem qovluğundakı yetim DLL sənədləri olmadan bir kliklə silinməsini təmin etmək üçün OS-dən qorunur.
Bir sürgü kimi düşünmək daha asan ola bilər. Solda, bir və ya iki UWP API istifadə edən Win32 tətbiqetmələriniz, sağda isə yalnız UWP API istifadə edən tətbiqləriniz var. Yalnız UWP API-lərindən istifadə edən bir tətbiq 'həqiqi UWP' tətbiqləridir, yalnız 10 kod bazası ilə Windows 10-un müxtəlif versiyalarında işləyə bilər.
Bir və ya iki UWP API istifadə edən bir tətbiq, ehtimal ki, UWP xüsusiyyətləri və funksiyalarını araşdıran bir Win32 tətbiqidir. Bir geliştirici istəsə tətbiqini yavaş-yavaş gerçək bir UWP tətbiqinə çevirə bilər və yavaş-yavaş həmin xəyali 'UWP' sürgüsündə soldan sağa hərəkət edir.
Maraqlı vəziyyət Spotify və UWPness
Microsoftun UWP-dən danışarkən, Spotify nümunəsi şirkətlərin tətbiqləri ilə edə biləcəyi qəribə seçimləri vurğulamaq üçün əla bir nümunədir.
Texniki cəhətdən dörd Spotify proqramı var:
- Spotify Win32 .exe quraşdırıcısı.
- Windows Phone 8.1 üçün Spotify.
- Windows 10 (UWP) üçün Spotify.
- Xbox One (UWP) üçün Spotify.
Son ikisi ən yenisidir və olduqca fərqli olmasına baxmayaraq UWP-dir. Windows 10 üçün Spotify tətbiqi yalnız Masaüstü Körpüsü istifadə edərək yenidən paketlənmiş Win32 .exe masa üstü versiyasıdır. Bununla birlikdə, yuxarıda qeyd edildiyi kimi, körpü tətbiqləri hələ də UWP hesab olunur.
Yeni Xbox One Spotify tətbiqi də UWP-dir. Bəziləri bu tətbiqin Windows 10 PC və ya Mobil üçün mövcud olmadığından bu müddətə həqiqi mənada yanaşdılar (texniki cəhətdən imzalanmış olsaydı onu yükləyə bilərsiniz).
Bəs niyə Spotify Mobile, PC və Xbox-da işləyə bilən yalnız bir 'yerli' UWP tətbiqi əvəzinə bu qədər tətbiqetmə yaratdı?
Mənim heç bir fikrim yoxdur.
Ancaq bunun heç bir əhəmiyyəti yoxdur. UWP platforması və onun körpüləri tərtibatçılara bir yerə müxtəlif marşrutlar verməkdən ibarətdir: Windows Mağazası. Oraya necə getdikləri və ya tətbiqin neçə versiyası mövcud olduğu əhəmiyyətsizdir. Microsoft edərdi üstünlük verin yalnız bir tətbiq ilə eyni kodu istifadə etmək üçün inkişaf etdiricilər, lakin şirkət bu cür təcrübəni diktə etmir. Sonda ən yaxşı marşrutu seçmək inkişaf etdiricilərə aiddir.
Hələlik Spotify, Windows 10 PC'lər üçün masa üstü körpü tətbiqini Windows Mağazasına ən yaxşı yol hesab edərkən ayrı bir Xbox One tətbiqi bu platforma üçün ən yaxşı həll yolu hesab etdi.
UWP edir davam edən bir iş
UWP tamamlanmamışdır və nəinki inkişaf etdiricilər üçün olacaqdır. UWP, bir gün Win32-i əvəz edəcək Windows 10 tətbiqetmə inkişafının gələcəyidir. Buna baxmayaraq, Win32 20 ildir və bir ildə bir geliştirici platforması yarada bilməzsiniz.
Burada iş UWP-dir olduğu kimi qüsursuz və ya xüsusiyyətdən uzaqdır. Win32 tətbiqetmə zənglərini və xüsusiyyətlərini yerli UWP dünyasına bağlamaq üçün minlərlə API tələb olunur. Microsoft bacardığı yerə üstünlük verir, amma sanki xəstələrin sınaqdan keçirilməsinin zəruri olduğu müharibə dövründəki bir xəstəxana kimidir.
Bəzi şirkətlərin tətbiqlərini Windows Mağazasına qoymamasının bir səbəbi - masa üstü körpüsü ilə də olsa - bu günün alətləri bunu etmir. Tətbiqiniz xüsusi bir API istifadə edirsə və ya UWP-nin hələ dəstəkləmədiyi qəribə bir sistem çağırışı edərsə, masa üstü körpüsü işləmir.
Hər şey Windows Mağazasında UWP var
Hələlik Microsoft və Windows nəzarətçilərinin UWP üçün tələb etdiyi yeganə tərif budur: Tətbiq Windows Mağazasındadırsa texniki cəhətdən UWP-dir. Əgər sən istəsən dəqiqləşdirmək :
Windows 10, Windows 10-u işləyən hər cihazda mövcud olan ümumi bir tətbiq platforması təmin edən UWP təqdim edir. UWP, cihazlar arasında zəmanətli bir əsas API təmin edir. Bu, geniş bir cihaza quraşdırıla bilən tək bir tətbiq paketi yarada biləcəyiniz deməkdir. Və bu tək tətbiq paketi ilə, Windows Mağazası tətbiqinizin işləyə biləcəyi bütün cihaz növlərinə çatmaq üçün vahid bir paylama kanalı təmin edir. UWP-ni hədəfləyən proqramlar yalnız bütün cihazlar üçün ümumi olan WinRT API-ləri deyil, tətbiqin işlədiyi cihaz sinfinə xas olan API-lər (Win32 və .NET API daxil olmaqla) da zəng edə bilər.
Microsoft-un məqsədi bir UWP-nin cihaz tipləri arasında işləməsi istəsə də, nə hələ nə var, nə də Microsoft şirkətləri bu yola məcbur etmir.
Buradakı qarışıqlıq, adlandırma sxemlərinin pis bir tarixçəsi olan Microsoft ilə əlaqədardır. Microsoft'dakı bir çox inkişaf etdiricilər və hətta insanlar UWP-nin nə olduğunu və nə olmadığını müəyyənləşdirməkdə çətinlik çəkirlər.
Veb saytların texniki olaraq UWP appx sənədlərini saxlaya biləcəyini də əlavə edə bilərəm ki, bu da Mağazada olmasa da onları UWP edəcəkdir. Nadir olsa da, yalnız Windows Phone 8.x-i hədəf alan bunlar və proqramlar Windows Mağazası qaydalarındakı istisnalardır.
Daimi istehlakçılar UWP-nin nə olduğunu və ya nəzərdə tutulması lazım olduğunu bilmirlər və etməməlidirlər. Müştəri təcrübəsinin sadə olması nəzərdə tutulur. Windows 10 cihazını açın, Windows Mağazasına gedin, proqramı axtarın, tapın və quraşdırın. Necə tətbiq orada var, ya da olub texniki cəhətdən bir Elektron proqramı və ya React Native və ya UWP JavaScript konteynerindən istifadə edir, tamamilə əhəmiyyətsizdir.
Microsoft Windows Mağazasını və oradakı tətbiqləri cihazın universal halına gətirməyə çalışır, amma hələ tam olaraq yoxdur. UWP, Microsoft üçün bir səyahətdir və yeni başlayır, lakin bütün yollar nəticədə bir hədəfə aparır: Windows Mağazası.
UWP haqqında əlavə məlumat
Windows 10, UWP və platformanın gələcəyi barədə bir neçə daha dərin dalış və müzakirə məqaləsi:
- Centennial tətbiqlərini Windows 10 Mobile-da işləyə bilərmi (və digər suallar cavablandırılır)
- Windows 10 S, Project Centennial niyə Continuum-un uğuru üçün vacibdir
- Microsoft UWP ilə masaüstlərinə diqqət yetirə bilər - buna görə niyə qayğı göstərməyiniz lazımdır
- Telefonlar deyilsə, Microsoft UWP müvəffəqiyyətini təmin etmək üçün başqa bir cihaz kateqoriyasına ehtiyac duyur
- Desktop Bridge ilə masa üstü tətbiqləri Universal Windows Platform tətbiqlərinə necə çevirmək olar
- Microsoft, Xbox One-ı bütün UWP oyunlarına açmır ... amma olmalıdır?