Windows 10 este construit pe ideea One Windows, adică aceiași bază a sistemului de operare care o să ruleze pe orice hardware compatibil Windows 10 și care în esență se traduce în Universal Apps. Pentru că la discuțiile avute despre Windows 10 am primit multe întrebări pe marginea subiectului, am ajuns la concluzia că merită făcute niște clarificări.
În articolul de față o să explic ce înseamnă Windows Universal Apps, care e impactul său în ecosistemul Windows 10 și care sunt beneficiile pentru dezvoltatorii de aplicații.
Universal Apps pentru Windows 10 și Windows 10 Mobile
Platforma Universal Windows este doar o evoluție a conceptului MODERN (METRO) folosit de Microsoft pentru Windows Phone 8.1 și PC de la Windows 8 încoace. Windows 10 reprezintă convergența eforturilor Microsoft de până acum de a avea același miez Windows pe toate platformele. Asta înseamnă că o aplicație va putea funcționa pe orice hardware cu Windows – de la telefonul din buzunar, la tableta și PC-ul din rucsac, pe PC-ul de pe birou sau consola Xbox din sufragerie plus toate celelalte aparate care acum funcționează cu Windows: HoloLens, Surface Hub sau dispozitivele IoT precum Raspberry Pi 2. Toate au acces la soluțiile Windows din magazinul de aplicații Windows Store pentru achiziție, distribuție și update.
Construirea unei platforme care suportă un număr mare de experiențe mobile necesită nu numai integrarea mai multor rezoluții dar și oferirea unor modalități flexibile de interacțiune, de la touch, maus și tastatură, game controller sau stylus.
Pe măsură ce utilizatorul trece de la un aparat la altul, va fi mulțumit să vadă că poate interacționa cu aplicațiile la fel de ușor prin touch (selecția unei melodii în playerul multimedia, redarea de poze), maus și tastatură pentru zona de utilitate/productivitate (finisarea unei poze, crearea unei liste de redare a muzicii etc.).
Tot mai multe aplicații doresc să unifice experiențele de utilizare pe mai multe aparate, reducând diferențele legate de interfață, moduri de interacțiune. Pe de altă parte dezvoltatorii sunt obligați să scrie cod diferit pentru aplicația de desktop, cea de tabletă sau cea de telefon. Prin abordarea Windows Universal Platform Microsoft unifică și acest lucru: același cod, scris o singură dată, compilat o singură dată, va oferi experiențe similare, adaptate fiecărui hardware.
One Windows Platform
Prin Universal Apps e posibil să fie create aplicații al căror cod sursă este scris o singură dată, cu o singură arhitectură și logică de business și o singură interfață grafică. Aplicațiile sunt apoi trimise în Windows Store (magazinul Microsoft de unde se descarcă aplicațiile de Windows 10 și Windows 10 Mobile) într-un singur pachet gata pregătit să ajungă pe orice tip de aparat cu Windows 10 pe care dezvoltatorul l-a avut în minte ca fiind țintă pentru proiectul său.
Aceste aplicații vor avea o interfață și o structură consistentă și familiară utilizatorului indiferent de aparatul folosit și în același timp vor putea beneficia de caracteristicile tehnice ale fiecărui hardware în parte (mod de introducere de date, dimensiune și tip de display). Scopul final al platformei Universal Apps este fix acesta: să ofere dezvoltatorilor posibilitatea de a crea o singură aplicație care să funcționeze pe dispozitivele mobile, desktop, consola de jocuri, HoloLens sau chiar IoT.
Iar Windows 10 face acest deziderat mai simplu: programatorii vor putea să aibă o acoperire mai bună cu același cod, maximizând astfel efortul de programare pe Windows iar în timp să poată valorifica mai ușor experiența și aplicațiile deja scrise.
Interfața grafică a Universal Windows Platform este construită să funcționeze pe o plajă largă de hardware compatibil Windows 10. Este folosit un singur limbaj de programare, un singur set de controale pentru toate platformele hardware vizate. Înseamnă o construcție solidă a codului, înseamnă experiență de utilizare unificată și optimizată per device.
Universal Windows App Model
Când se scrie o aplicație pentru Windows (sau orice altă platformă) e simplu de ales ce seturi de API-uri să fie folosite sau cum o să arate interfața grafică. Sunt importante pentru finalitatea proiectului: ce va putea face aplicația respectivă și ce nu. Până acum era destul de complicat să vezi proiectul de la cap la coadă dacă era pe Windows. În mod clar finalitatea era un pachet .EXE.
Dar cum ajungea ea pe sistem? Ce elemente de environment trebuie îndeplinite: versiuni de DLL-uri, ce platformă .NET, ce alte dependințe sunt? Rezoluția display-ului e suficientă, există tastatură fizică, maus? Are cameră web, ce fel de cameră? Plus o grămadă de alte considerente care la prima vedere nu erau importante dar de care depindea la final succesul sau eșecul proiectului.
Un dezvoltator sau manager de proiect trebuia să răspundă apriori unor întrebări clare:
- Cum se face instalarea?
- Cum și unde se va face stocarea de informații?
- Cât timp va funcționa/rula aplicația?
- Cum se va face versionarea, unde va fi stocată seria de upgrade-uri?
- Cum se integrează cu sistemul de operare?
- Cum se integrează (sau NU) cu alte aplicații?
- Ce poate să facă aplicația pe sistem?
Propunerea Microsoft cu platforma Windows Universall Apps oferă un răspuns unic: Windows Store și Windows 10 OS pentru toate tipurile de hardware și scenarii de lucru compatibile Windows, de la cele mai mici dispozitive IoT până la cele mai puternice și performante PC-uri.
Toate astea se traduc în trei elemente cheie:
- Maximizarea oportunităților prin extinderea numărului de aparate unde aplicațiile Universal pot să fie folosite
- Oferirea unei experiențe personalizate pe toate aparatele
- Maximizarea efortului de dezvoltare pe platforma Windows, indiferent de tipul de limbaj de programare folosit.
Care la final benficiază de sinergia dată de scrierea codului o singură dată, introducerea de elemente de personalizare pentru fiecare tip de display/tip de dispozitiv, publicarea, instalarea și mentenanța centralizată prin Windows Store ș nu în ultimul rând, un singur pachet livrat securizat pe fiecare sistem în parte. Iar baza va fi Visual Studio 2015.
În teorie propunerea Microsoft sună foarte bine. Dar va fi ea suficientă să mobilizeze dezvoltatorii în direcția oferirii de aplicații deosebite, capabile să miște ecosistemul în direcția dorită de Microsoft? De asta va depinde viitorul Windows-ului ca sistem de operare pentru PC și al platformei Windows Mobile.
Rămâne de văzut.