Gli ingegneri software di Google hanno rilasciato la nuova versione stabile di Dart, release 2.6. Grazie a tale aggiornamento il linguaggio di programmazione sviluppato da Big G può ora beneficiare del supporto alla creazione di binari self-contained.
dart2native
A presentare la nuova release di Dart 2.6 è stato Michael Thomsen, Google product manager, sul suo blog personale:
Oggi [assieme a Dart 2.6] presentiamo dart2native, una nuova estensione del nostro compiler set che da la possibilità di compilare i programmi Dart in eseguibili self-contained con codice AOT. Tramite dart2native si possono creare dei tool da riga di comando per Linux, Windows e MacOS.
Il team di Dart ha infatti realizzato una nuova estensione del Dart compiler, chiamata dart2native
, che consente di creare un eseguibile self-contained contenente codice AOT (ahead-of-time). In buona sostanza dart2native permette di eseguire gli applicativi scritti in tale linguaggio senza la necessità di installare il relativo SDK.
Tramite il processo di compilazione AOT è possibile compilare codice scritto in linguaggi di alto livello, come ad esempio C, Java o Dart, e trasformarlo in codice nativo di una determinata piattaforma. Dunque il binario che viene generato non avrà bisogno di appoggiarsi a librerie o API esterne al sistema per avviarsi.
C interoperability con dart:ffi
I programmi nativi spesso necessitano di accedere a delle funzionalità offerte direttamente dal sistema operativo di riferimento.
Queste API di sistema sono tipicamente scritte in C. Dunque in Dart 2.6 è stata aggiunta la funzionalità di interoperabilità con tali API tramite la nuova libreria chiamata dart:ffi
. Dunque gli sviluppatori potranno richiamare le funzioni native della piattaforma di sviluppo semplicemente facendo affidamento al proprio codice scritto in Dart.
Kilo: un code editor da 7MB
Per dimostrare le potenzialità di Dart 2.6 il team di sviluppatori ha realizzato una piccola tech demo chiamata Kilo. Si tratta di un code editor, creato tramite il dart2native compiler e le libreria dart:ffi, composto da appena 500 righe di codice.
Via Michael Thomsen