Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_fonte_url is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_b38152f1bb7ea0d146191b83b585ea2e is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_b38152f1bb7ea0d146191b83b585ea2e is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
No, l'interfaccia di Windows 11 non diventerà open source: Microsoft apre WinUI

No, l'interfaccia di Windows 11 non diventerà open source: Microsoft apre WinUI

Microsoft ha annunciato l’apertura graduale del codice sorgente di WinUI 3, il framework alla base delle app moderne di Windows 11 e Windows 10. L’iniziativa non coinvolge l’interfaccia completa di Windows, ma mira a favorire collaborazione esterna, aggiornamenti indipendenti e sviluppo più trasparente.

Negli ultimi giorni, il settore tecnologico è stato scosso da un annuncio inaspettato: Microsoft ha avviato il processo di apertura del codice sorgente di parti fondamentali di Windows 11. Non si tratta di un dettaglio marginale, bensì di un cambio di rotta che, se portato avanti con coerenza, potrebbe ridefinire il rapporto tra Redmond e la comunità degli sviluppatori. A furia di titoli sensazionalistici, tuttavia, si è perso il succo della novità: l’azienda di Redmond non rende open source l’interfaccia di Windows 11 bensì un componente software utilizzato dalle applicazioni per presentare agli utenti elementi grafici in linea con l’interfaccia del sistema operativo.

Microsoft vuole rendere WinUI open source: cos’è e cosa cambia

WinUI è il framework Microsoft che rappresenta oggi il cuore dello sviluppo di interfacce utente moderne per Windows. Si integra con il pacchetto Windows App SDK (WASDK) e forma la base tecnologica per molte applicazioni Microsoft Store (ex UWP) e Win32 aggiornate. Windows App SDK è la piattaforma Microsoft completa per lo sviluppo di app moderne: include WinUI, runtime e API di sistema.

Ma andiamo per gradi. In passato, Microsoft proponeva diversi framework per costruire interfacce su Windows:

  • Win32 / GDI: le classiche API (Application Programming Interfaces) native di Windows. Potenti ma complesse e in grado di offrire un’interfaccia datata. Databili 1990 e anni seguenti.
  • MFC (Microsoft Foundation Classes): wrapper C++ su Win32, utilizzato per app desktop storiche (anno 1992).
  • Windows Forms (dal 2002): framework .NET per applicazioni desktop, più semplice ma limitato graficamente.
  • WPF (Windows Presentation Foundation, anno 2006): framework .NET per interfacce moderne e flessibili, con supporto per grafica vettoriale e animazioni, introdotto nel 2006.
  • UWP (Universal Windows Platform): piattaforma introdotta con Windows 10 (anno 2015), progettata per app moderne e cross-device, con supporto Fluent Design.

L’arrivo di WinUI

WinUI 2 (anno 2018) nasce come libreria di controlli aggiuntivi per UWP su Windows 10, consentendo agli sviluppatori di disporre di componenti più moderni, aggiornabili indipendentemente dal sistema operativo.

WinUI 3 (anno 2020) è il passo successivo: Microsoft disaccoppia l’utilizzo di UWP dal sistema operativo e WinUI 3 diviene la principale libreria per creare app desktop moderne. Permette agli sviluppatori di usare controlli moderni senza dipendere dalla versione specifica di Windows e costituisce il “nocciolo” di Windows App SDK (Project Reunion, anno 2021).

Il “nome in codice” Project Reunion non fu scelto a caso: dopo lo scarso interesse di sviluppatori e utenti su UWP, rappresenta la volontà di tornare a investire su app “senza confini”. I tradizionali programmi Win32 tornano ad avere massima voce in capitolo in Windows e nel Microsoft Store.

Ogni framework fu presentato come “la soluzione definitiva”, salvo poi venire superato o declassato nei periodi seguenti. Ciò ha generato non pochi effetti collaterali: migrazioni continue, comunità disilluse e mancanza di fiducia nel lungo periodo. Adesso si prova a cambiare rotta.

Perché aprire WinUI non significa aprire l’interfaccia di Windows

In generale, quindi, WinUI è una libreria di controlli e componenti UI. Contiene elementi come bottoni, liste, griglie, stili Fluent Design, ma non include l’intera shell di Windows.

L’interfaccia di Windows 10/11 (Start, barra delle applicazioni, finestre, Esplora file, impostazioni e così via) è costruita con codice proprietario, legato al sistema operativo, che Microsoft non intende rendere open source. Con buona pace di Richard Stallman che nel 2019 aveva visitato la sede di Microsoft consegnando a Redmond un “decalogo” delle cose che la società avrebbe dovuto mettere in pratica (al decimo punto, l’ultimo, vi era proprio “Rilasciare il codice sorgente di Windows sotto licenza GNU GPL“). Quindi non solo aprire il sorgente di Windows ma addirittura distribuirlo sotto licenza GPL. Provocazione notevole, che è rimasta tale.

Aprire WinUI significa, insomma, consentire sviluppo indipendente e accogliere contribuiti da terze parti per le funzioni grafiche usate nelle app, non certo rendere open source Windows App SDK né, tanto meno, parti del sistema operativo Windows.

Apertura di WinUI: un percorso complesso e di lungo respiro

L’annuncio dell’apertura del codice di WinUI 3, seppur graduale, mostra che il colosso di Redmond intende investire sul lungo periodo in WinUI e nel suo ecosistema.

La decisione non nasce dal nulla. Negli ultimi anni la fiducia della comunità verso gli strumenti di sviluppo client-side per Windows è stata messa a dura prova: documentazione incompleta, roadmap poco trasparenti, API interne inaccessibili e cicli di vita dei framework segnati da frequenti abbandoni.

L’apertura di WinUI appare come una mossa per recuperare credibilità. Non si tratta solo di concedere visibilità al codice, ma di instaurare un nuovo modello di collaborazione: sincronizzazione regolare tra repository interni ed esterni, possibilità di compilare i componenti localmente senza “hack” non ufficiali, e – nelle fasi avanzate – accettazione di pull request e governance tramite GitHub.

Per la prima volta, Microsoft ha delineato pubblicamente una roadmap in quattro fasi per l’apertura del repository microsoft-ui-xaml, fino a ieri chiuso agli occhi di chi non lavorava direttamente all’interno dell’azienda.

Microsoft stessa ammette che il processo non sarà rapido. WinUI è intrecciato con componenti storici del sistema operativo. Ad ogni modo, il piano dell’azienda guidata da Satya Nadella si articola così:

  • Fase 1 – pubblicazione dei repository con aggiornamenti regolari.
  • Fase 2 – possibilità per gli sviluppatori di compilare localmente il codice, avvalendosi di documentazione completa.
  • Fase 3 – apertura ai contributi esterni e integrazione di test CI (Continuous Integration).
  • Fase 4 – GitHub diventa l’unica fonte ufficiale di sviluppo, superando la doppia gestione interna/esterna.

Un approccio di questo tipo comporta rischi tecnici e reputazionali: rendere pubblico il codice significa anche esporre parti del sistema mai pensate per uscire dai laboratori interni. Errori, inefficienze e scelte architetturali datate diventeranno visibili e oggetto di scrutinio. Vi ricordate le parolacce e i commenti shock scovati dentro Windows?

Conclusioni: tra speranza e scetticismo

L’apertura di WinUI non è solo una questione tecnica: è un test di credibilità. Se Microsoft manterrà le promesse, la comunità potrà finalmente smettere di sentirsi spettatrice passiva e diventare parte integrante del futuro di Windows.

Ma se il percorso dovesse arenarsi tra “burocrazia”, ritardi o abbandono, il rischio è quello di un ennesimo “esperimento incompiuto”.

Per Microsoft, l’iniziativa rappresenta anche un modo per allineare WinUI alle pratiche moderne di sviluppo software e posizionarsi in continuità con altri progetti open source già avviati, come .NET, Visual Studio Code e TypeScript.

Ti consigliamo anche

Link copiato negli appunti