Vai al contenuto

ElementaryUI porta Swift nel browser, lasciando l’interfaccia a HTML e CSS

ElementaryUI compila Swift in WebAssembly per costruire interfacce con HTML e CSS. Le viste possono anche diventare elementi personalizzati da inserire in pagine esistenti; il progetto è ancora giovane.

Che succede

Con ElementaryUI si può scrivere in Swift un’interfaccia che usa gli elementi HTML e il CSS della pagina. Il codice viene compilato in WebAssembly ed eseguito nel browser; la sintassi prende in prestito da SwiftUI l’idea di descrivere le viste e aggiornarle quando cambia lo stato.

Il progetto sceglie però di restare vicino al funzionamento del web. Lavora con il DOM, la struttura degli elementi della pagina, e lascia la disposizione al CSS. I componenti e il sistema di layout di SwiftUI non vengono trasportati nel browser: chi conosce Swift ritrova un modo familiare di scrivere, mentre l’interfaccia resta costruita con strumenti web.

Questa convivenza si vede bene nel modulo opzionale ElementaryWebComponents. Una vista Swift può diventare un elemento HTML personalizzato, con il proprio stato, da inserire in una pagina generata sul server o accanto a componenti di altri framework. Swift può quindi occuparsi anche soltanto di un pezzo interattivo della pagina.

È un progetto open source indipendente da Apple, ancora nelle prime fasi: gli autori avvertono che le API possono cambiare e che ci sono aspetti da completare. La documentazione e una demo sono già disponibili per esplorare questo incontro tra Swift e il frontend web.

Perché conta

Una vista scritta in Swift può diventare un elemento HTML con il proprio stato, inserito accanto al resto della pagina. ElementaryUI apre così una strada graduale: aggiungere un componente in Swift senza affidargli tutto il frontend. È la convivenza con il web esistente a rendere il progetto attraente.

Vuoi sapere di più su pillole come questa?