I linguaggi di pro­gram­ma­zio­ne sono nu­me­ro­sis­si­mi; tra di essi troviamo anche Dart, un lin­guag­gio di pro­gram­ma­zio­ne re­la­ti­va­men­te recente. Con­fron­tan­do i diversi linguaggi di pro­gram­ma­zio­ne del web, i paradigmi di pro­gram­ma­zio­ne risultano quasi sempre molto simili. Le dif­fe­ren­ze emergono soltanto con un’analisi più ap­pro­fon­di­ta e det­ta­glia­ta.

Al momento, i linguaggi di pro­gram­ma­zio­ne svi­lup­pa­ti si dedicano spesso alla rea­liz­za­zio­ne di ap­pli­ca­zio­ni mobile per smart­pho­ne o tablet. Il lin­guag­gio uti­liz­za­to deve perciò offrire una buona user ex­pe­rien­ce (UX) con la minor sintassi possibile e ri­spar­mia­re al tempo stesso memoria sul di­spo­si­ti­vo finale. Di seguito sco­pri­re­te come si clas­si­fi­ca Dart, il lin­guag­gio di pro­gram­ma­zio­ne di Google, e le sue par­ti­co­la­ri­tà.

Cos’è il lin­guag­gio di pro­gram­ma­zio­ne Dart?

Dart è un lin­guag­gio di pro­gram­ma­zio­ne ori­gi­na­ria­men­te e tuttora svi­lup­pa­to so­prat­tut­to da Google. Fa parte degli standard Ecma (Ecma In­ter­na­tio­nal è l’or­ga­niz­za­zio­ne dedicata alla stan­dar­diz­za­zio­ne nel settore in­for­ma­ti­co e dei sistemi di co­mu­ni­ca­zio­ne ). La pro­gram­ma­zio­ne in Dart rap­pre­sen­ta un’al­let­tan­te al­ter­na­ti­va a Ja­va­Script nei browser moderni. Secondo l’opinione degli svi­lup­pa­to­ri di Dart, i limiti di Ja­va­Script non si possono più superare con un ulteriore sviluppo.

Il lin­guag­gio Dart è stato svi­lup­pa­to dal 2010 e pre­sen­ta­to per la prima volta l’anno suc­ces­si­vo. Poiché non si tratta di un lin­guag­gio nativo dei browser e Ja­va­Script può essere eseguito in tutti i browser moderni, esiste il com­pi­la­to­re Dart2js, ossia il “Dart to Ja­va­Script”. Il lin­guag­gio Dart è molto simile ai noti linguaggi di pro­gram­ma­zio­ne orientati agli oggetti, tra cui Swift, C# o Java, che sot­to­stan­no a precisi paradigmi di pro­gram­ma­zio­ne. La regola per combinare i caratteri stabiliti (e cioè la sintassi) è simile al lin­guag­gio di pro­gram­ma­zio­ne C. Questa “parentela” ne sem­pli­fi­ca l’accesso, rendendo così l’uso di questo lin­guag­gio davvero facile, senza grandi barriere lin­gui­sti­che da superare.

Qual è la con­fi­gu­ra­zio­ne di Dart?

Il lin­guag­gio di pro­gram­ma­zio­ne Dart dispone di variabili, operatori, istru­zio­ni stabilite, ri­pe­ti­zio­ni, funzioni, classi, oggetti ed enu­me­ra­zio­ni. Ere­di­ta­rie­tà e pro­gram­ma­zio­ne generica sono concetti fon­da­men­ta­li come per i linguaggi orientati agli oggetti e molti altri elementi saranno già noti ai pro­gram­ma­to­ri esperti. Per fare una prima prova è di­spo­ni­bi­le la piat­ta­for­ma gratuita open source DartPad dove i pro­gram­ma­to­ri possono ci­men­tar­si nella pro­gram­ma­zio­ne con il lin­guag­gio Dart e trovare subito un paio di esempi nel menu a discesa.

Ogni programma scritto in Dart comincia con la funzione “Main”.

void main() {
}

Come esempio vi pre­sen­tia­mo la de­fi­ni­zio­ne di una variabile e l’ese­cu­zio­ne di una query con con­di­zio­ne:

void main() {
    var animal = 'horse';
    if (animal == 'cat' || animal == 'dog') {
        print('This animal is a pet.');
        } else if (animal == 'elephant') {
        print('That\’s a huge animal.');    
     } else {
        print('This animal is not a pet.');
     }
}

Con l’aiuto di Dart Pad avremo il seguente risultato sulla console:

So­sti­tui­te nella variabile “animal” (var animal) “horse” con “cat”, “dog” o “elephant” e osservate le modifiche nella console sulla destra. Nel nostro tutorial su Dart vi pre­sen­tia­mo più nel dettaglio la pro­gram­ma­zio­ne in Dart.

Dove si utilizza Dart?

Con il lin­guag­gio Dart si sviluppa so­prat­tut­to nei contesti che ri­guar­da­no i di­spo­si­ti­vi che co­mu­ni­ca­no con la rete Internet, e quindi smart­pho­ne, tablet e portatili ma anche server. Fino ad ora, so­prat­tut­to per i neofiti della pro­gram­ma­zio­ne, era pressoché im­pos­si­bi­le pensare di svi­lup­pa­re in autonomia ap­pli­ca­zio­ni mobile o web. L’utilizzo del lin­guag­gio di pro­gram­ma­zio­ne Dart ha proprio l’obiettivo di sem­pli­fi­ca­re la pro­gram­ma­zio­ne per questo tipo di app. Il Software De­ve­lo­p­ment Kit (SDK) di Google Flutter è pro­gram­ma­to con Dart, proprio come il noto strumento pub­bli­ci­ta­rio Google Ads. Altri esempi sono i siti del New York Times o di GROUPON. Con il metodo “Try and Error”, il già men­zio­na­to DartPad mette a di­spo­si­zio­ne una pos­si­bi­li­tà pratica di av­vi­ci­nar­si a un lin­guag­gio di pro­gram­ma­zio­ne e im­pa­dro­nir­si così delle co­no­scen­ze di base.

Quali sono i pro e i contro di Dart?

Dart comporta una serie di vantaggi ma anche qualche svan­tag­gio. Vediamoli insieme:

Vantaggi

Il lin­guag­gio Dart è open source e quindi ac­ces­si­bi­le a tutti gra­tui­ta­men­te. Dietro Dart c’è Google, una grande azienda che offre una pro­spet­ti­va a lungo termine per uno sviluppo continuo del lin­guag­gio. Per la sua sintassi, Dart è un lin­guag­gio semplice da imparare per i pro­gram­ma­to­ri: gli svi­lup­pa­to­ri hanno sem­pli­fi­ca­to molti termini com­pli­ca­ti di altri linguaggi e li hanno messi insieme in modo in­tel­li­gen­te. Chi ha già fatto espe­rien­za con C#, imparerà Dart molto ra­pi­da­men­te. Il lin­guag­gio di pro­gram­ma­zio­ne è stato svi­lup­pa­to per il web. Con una tra­du­zio­ne diretta (e molto rapida) in Ja­va­Script, Dart funziona su tutti i browser moderni mobile e desktop. Per il lavoro di sviluppo basta un semplice editor di testo. Per questo sono però ne­ces­sa­rie co­no­scen­ze ap­pro­fon­di­te dei linguaggi di pro­gram­ma­zio­ne. Si lavora meglio con editor appositi come Android Studio (Google) o Visual Studio Code (Microsoft).

Svantaggi

Il lin­guag­gio di pro­gram­ma­zio­ne Dart è re­la­ti­va­men­te recente e per questo motivo la community di supporto non è così numerosa e il materiale di studio a di­spo­si­zio­ne è molto inferiore rispetto a quello per Ja­va­Script. Si può comunque supporre che quest’aspetto mi­glio­re­rà al più presto. La prima in­stal­la­zio­ne di un editor e del relativo back­ground tecnico su un computer è ben do­cu­men­ta­ta, ma presenta delle insidie. Inoltre alcuni critici con­si­de­ra­no che sarebbe meglio per­fe­zio­na­re i linguaggi già esistenti piuttosto che in­tro­dur­ne uno nuovo nel mercato.

Che cosa distingue Dart dagli altri linguaggi di pro­gram­ma­zio­ne?

Una dif­fe­ren­za so­stan­zia­le rispetto agli altri linguaggi di pro­gram­ma­zio­ne sta nel fatto che Dart di Google è semplice da leggere perché la sintassi è molto simile a quella del lin­guag­gio umano. Ci sono meno comandi ma più pos­si­bi­li­tà. Si può scegliere li­be­ra­men­te come nominare le variabili man­te­nen­do così ben com­pren­si­bi­le lo stesso codice scritto. Questo vi ri­spar­mie­rà anche tanti commenti ag­giun­ti­vi. Sono con­sen­ti­ti spazi, tab e in­ter­ru­zio­ni di riga, per­met­ten­do ai pro­gram­ma­to­ri di strut­tu­ra­re bene il codice, elemento ignorato dal compiler. Rap­pre­sen­ta­no un’eccezione le parole chiave, i nomi di variabili o funzioni, ossia tutta la ter­mi­no­lo­gia fissa del lin­guag­gio di Dart tra cui per es. “if”, “else”, “string”, “void” e altre. Infine si fa di­stin­zio­ne anche tra lettere maiuscole e minuscole, ampliando in modo si­gni­fi­ca­ti­vo la libertà di de­no­mi­na­zio­ne.

In un’analisi sui linguaggi di pro­gram­ma­zio­ne più amati, la piat­ta­for­ma di svi­lup­pa­to­ri Stack Overflow ha stabilito nel 2019 che Dart, con il suo 66,3 percento, si posiziona poco dopo Ja­va­Script (66,8 percento).

Vai al menu prin­ci­pa­le