Martedì sera, una nuova edizione del Incontro Js-Star.Paris nei locali di JS-Republic, come ogni mese, è stata un'occasione di condivisione tra i membri della comunità JavaScript. Questa edizione è stata dedicata alla lingua MotivoML.
Se sei curioso di testare il Workshop a casa, trovi di seguito il link per accedere alle fonti del progetto con le spiegazioni degli esercizi:
https://github.com/js-republic/reason-ml-workshop
Noterai che ci sono due rami,
master et solution, il primo consente di svolgere il workshop e il secondo contiene il workshop completamente corretto.
Cosa ne pensavamo di ReasonML?
Prepararsi per questo workshop è stato molto gratificante. In effetti, è stata la prima volta che abbiamo sviluppato con questo linguaggio. Ecco cosa abbiamo imparato:
L'approccio di ReasonML può essere molto frustrante.
Come OCaml e altri linguaggi dello stesso genere, ReasonML impone un rigore importante. Chiaramente, quando sviluppi con ReasonML, spendi 15 minuti per risolvere i problemi di sintassi, tipo e compilatore. Alla fine, trascorri solo un minuto sulla tua pagina web, perché quasi tutto funziona perfettamente. Questo approccio può confondere molti sviluppatori abituati a utilizzare JavaScript "puro". Invece, tendono a svilupparsi rapidamente, testare nel browser, vedere che si arresta in modo anomalo, risolverlo e ricominciare da capo. Dedichiamo più tempo a pensare, meno debug con ReasonML 😉
Gli strumenti devono ancora evolversi
Attualmente il modo migliore per sviluppare in ReasonML è usare Visual Studio Code con l' Plugin ReasonML e il compilatore a fianco. Anche se dobbiamo già riconoscere che è stato fatto un ottimo lavoro, c'è ancora molta strada da fare su questo argomento. Quando si verifica un errore di sintassi (come spesso accade quando si impara una nuova lingua), il compilatore spesso risponde a te Error: 3096: sulla riga interessata, mentre Visual Studio Code evidenzia la riga sbagliata come errata. BuckleScript, il progetto che gestisce la compilazione di ReasonML -> JavaScript, può anche darti sangue dal naso, specialmente quando devi creare tu stesso le firme delle funzioni per comunicare con un'API JavaScript.
L'ombra di OCaml è onnipresente
Come detto sopra, ReasonML è in un certo senso un "fork" di OCaml con una sintassi rielaborata per soddisfare le esigenze dello sviluppo web e JavaScript. Tuttavia, è comune imbattersi in file ".ml", estensioni di OCaml, quando si cerca l'implementazione dell'API nativa o durante la ricerca negli strumenti della community. Tipicamente bs scherzo è un buon esempio. Non aver paura di leggere OCaml.
Le astrazioni e la digitazione offrono una potenza senza precedenti
Le potenziali frustrazioni finora citate non sono inutili. Infatti, una volta superati i grattacapi dell'aumento di competenza, assaporiamo la potenza dei controlli di battitura effettuati dal compilatore (un po' come in TypeScript). Adoriamo queste astrazioni che ti fanno sparire tutti gli errori dovuti null ou undefined. Ci piace molto scrivere codice elegante. A mia conoscenza, solo ELM offre lo stesso livello di linguaggio nel mondo JavaScript con un interesse comunitario equivalente.






