Google sta accelerando lo sviluppo della tecnologia Native Client per Chrome, che permette agli sviluppatori di far girare codice nativo in C o C++ all’interno del suo browser.
Svelato lo scorso autunno , il Native Client SDK (NDK) è ora disponibile nella sua prima developer preview , comprendente un compilatore basato su GCC, un insieme di alcune delle più diffuse librerie open source (come zlib, Lua e libjpeg) e alcuni programmi d’esempio. “L’SDK ti permette di scrivere codice C/C++ in grado di girare senza problemi in Chromium e ti fornisce l’accesso a potenti API con cui creare le tue web app” ha spiegato David Springer, senior software engineer di Google, in questo post . Come noto, Chromium è il progetto open source all’interno del quale viene sviluppato Chrome, e che periodicamente rilascia versioni preliminari del browser.
Come spiegato a suo tempo, Native Client è una tecnologia che permette alle web application di eseguire codice nativo sul browser superando le limitazioni tipiche di JavaScript e degli altri linguaggi interpretati e accedendo in modo più diretto alle risorse hardware. Se la prima implementazione dell’NDK supportava esclusivamente il codice x86 (sia a 32 che a 64 bit), lo scorso marzo è stato aggiunto anche il supporto al codice ARM.
Google afferma che per lo più i linguaggi C e C++ saranno usati dagli sviluppatori per scrivere solo certe parti di una web application, tipicamente quelle che fanno un uso più intenso delle risorse di sistema: ad esempio, un motore per l’elaborazione di video o immagini in alta risoluzione. Per le altre parti, come l’interfaccia utente, la maggior parte degli sviluppatori web preferirà continuare ad appoggiarsi sul più semplice JavaScript.
Sebbene Native Client prometta di aprire la strada a web application molto più potenti e sofisticate di quelle odierne, contribuendo ad assottigliare la linea di confine tra applicazioni web e applicazioni desktop, c’è chi guarda a questa tecnologia con scetticismo .
Le maggiori perplessità riguardano il fattore portabilità: mentre il codice JavaScript gira su qualunque browser e su qualsiasi piattaforma, NDK è per il momento disponibile esclusivamente per Chrome. In teoria la sua natura open source potrebbe consentirne il porting anche per altri browser e piattaforme, ma in pratica l’NDK è oggi intimamente legato al framework su cui poggia Chrome . E anche se in futuro Google dovesse svilupparne una versione neutral vendor , resta da vedere se i suoi rivali saranno disposti a seguirne pedissequamente le orme e trasformare Native Client in uno standard de facto .
Alessandro Del Rosso