La ragione più grande per non lavorarci, lato mio, purtroppo è personale: non mi piace Dart come linguaggio, soprattutto non apprezzo il modo in cui si gestisce la programmazione asincrona con i Future (ma sono "viziato" da Kotlin e dalle coroutine). In secondo luogo, trovo che la sintassi non aiuti a strutturare bene le UI con i widget se ci sono oggetti annidati, vero che con il plugin di Visual Studio Code o in Android Studio te lo formatta e ti evidenzia i componenti ma lo stesso non mi ci trovo. Rispetto a, diciamo, Compose per restare su mobile è un'altra cosa. Però tutta questione di gusti personali.
Arrivo un po’ tardi per portare un punto di vista diverso: a me (decisamente unexperienced developer) Dart e Flutter piacciono molto e per la mia limitata esperienza hanno entrambi grandi vantaggi rispetto agli altri linguaggi e framework.
Dart a mio avviso combina un po’ il meglio di Java (/ C# / altri linguaggi OO) e Javascript, mantenendo appunto una struttura OO con classi, ereditarietà, fortemente tipizzata ecc. ma allo stesso tempo introducendo una serie di strumenti per la programmazione asincrona (come i futures) un po’ “alla javascript” semplificando così molto l’implementazione di applicazioni complesse (per esempio che richiedono concorrenza o l’utilizzo della rete) rispetto a Java.
Ah e il fatto che qualche versione a questa parte sia fortemente null-safe è una comodità a parer mio da non sottovalutare.
Come detto sopra non sono un programmatore esperto, ma se ora come ora dovessi scegliere un linguaggio tra Java, Javascript, C# e Dart sceglierei Dart abbastanza a occhi chiusi.
Su Flutter posso fare un confronto più limitato purtroppo, poiché per il momento l’unico altro framework per costruire UI che ho approfondito veramente è JavaFX (e fidati, anche qui a parer mio Flutter è avanti anni luce). L’unica cosa che mi sento di dire è che all’inizio l’approccio a “albero di widget” lasciava scettico anche me ma in realtà è molto flessibile e snello (supponendo tu stia programmando con un IDE e non dal blocco note s’intende) e la possibilità di fare hot reload e quindi vedere immediatamente nella tua app i cambiamenti grafici che hai appena fatto al codice senza dover rebuildare è una comodità enorme.
Quindi TL;DR: se hai tempo e voglia, dai a Dart e Flutter una chance e secondo me non te ne pentirai. Ovviamente non sono la soluzione a tutte le esigenze e hanno sicuramente margini di miglioramento, però per molti casi sono secondo me una validissima opzione che nulla ha da invidiare a Java+JavaFX, C#+WPF o JavaScript+[inserire qualsivoglia nome di framework]
@shaked_coffee molto interessante questo punto di vista. Grazie mille 🙏
Alla fine mi sono rimesso a ripassare Java (con cui ho già avuto a che fare in passato) più che altro perchè mi sembra che Dart e Flutter siano poco richiesti sul mercato del lavoro italiano (magari mi sbaglio eh). Tuttavia sono molto curioso e non escludo smanettamenti e prove in futuro!
Non ho ancora avuto l'occasione di sondare "di persona" il mercato del lavoro, ma direi che no non sbagli purtroppo. La mia speranza è che sia solo questione di tempo (sono entrambi ancora relativamente giovani rispetto ai competitor) però chissà...