ReasonML-Workshop: Feedback und Quellen

Am Dienstagabend erscheint eine neue Ausgabe der Meetup Js-Star.Paris In den Räumlichkeiten von JS-Republic war es wie jeden Monat eine Gelegenheit, sich unter Mitgliedern der JavaScript-Community auszutauschen. Diese Ausgabe war der Sprache gewidmet ReasonML.

meetup1-März2018
meetup2-März2018
meetup3-März2018
meetup4-März2018
meetup5-März2018
SG
Zur Erinnerung: ReasonML ist eine Sprache, die von den Facebook-Teams und insbesondere vom Schöpfer von React entwickelt wurde. Es ist eine Art Fork von OCaml aber vereinfacht und an die Bedürfnisse und Gewohnheiten von JavaScript-Entwicklern angepasst. Facebook verwendet es auch für sein Messaging-System.
Wenn Sie neugierig sind, den Workshop zu Hause zu testen, finden Sie unten den Link, um auf die Quellen des Projekts mit den Erklärungen der Übungen zuzugreifen:
https://github.com/js-republic/reason-ml-workshop
Sie werden feststellen, dass es zwei Zweige gibt, master et solution, die erste ermöglicht die Durchführung des Workshops und die zweite enthält den vollständig korrigierten Workshop.

Was halten wir von ReasonML?

Die Vorbereitung auf diesen Workshop war sehr bereichernd. Tatsächlich war es das erste Mal, dass wir mit dieser Sprache entwickelt haben. Folgendes haben wir gelernt:

Der Ansatz von ReasonML kann sehr frustrierend sein.

Wie OCaml und andere Sprachen des gleichen Genres erlegt ReasonML eine wichtige Strenge auf. Wenn Sie mit ReasonML entwickeln, verbringen Sie eindeutig 15 Minuten damit, Syntax-, Typ- und Compilerprobleme zu beheben. Am Ende verbringen Sie nur eine Minute auf Ihrer Webseite, weil fast alles perfekt funktioniert. Dieser Ansatz kann viele Entwickler verwirren, die an die Verwendung von „reinem“ JavaScript gewöhnt sind. Stattdessen neigen sie dazu, schnell zu entwickeln, im Browser zu testen, zu sehen, ob es abstürzt, zu beheben und von vorne zu beginnen. Mit ReasonML verbringen wir mehr Zeit mit dem Nachdenken und weniger mit dem Debuggen 😉

Tools müssen sich noch weiterentwickeln

Derzeit ist die beste Art, in ReasonML zu entwickeln, die Verwendung von Visual Studio Code mit der ReasonML-Plugin und der Compiler daneben. Auch wenn wir schon jetzt anerkennen müssen, dass hier großartige Arbeit geleistet wird, ist bei diesem Thema noch ein weiter Weg zu gehen. Wenn ein Syntaxfehler auftritt (wie es häufig beim Erlernen einer neuen Sprache der Fall ist), reagiert der Compiler häufig auf Sie Error: 3096: in der betroffenen Zeile, während Visual Studio Code die falsche Zeile für Sie als falsch markiert. BuckleScript, das Projekt, das die ReasonML -> JavaScript-Kompilierung verwaltet, kann Ihnen ebenfalls Nasenbluten bereiten, insbesondere wenn Sie selbst Funktionssignaturen erstellen müssen, um mit einer JavaScript-API zu kommunizieren.

Der Schatten von OCaml ist allgegenwärtig

Wie oben erwähnt, ist ReasonML in gewisser Weise ein „Fork“ von OCaml mit einer überarbeiteten Syntax, um die Anforderungen der Web- und JavaScript-Entwicklung zu erfüllen. Es ist jedoch üblich, auf „.ml“-Dateien, Erweiterungen von OCaml, zu stoßen, wenn man nach der nativen API-Implementierung sucht oder die Community-Tools durchsucht. Typisch bs Scherz ist ein gutes Beispiel. Scheuen Sie sich nicht, OCaml zu lesen.

Abstraktionen und Typisierung bieten unvergleichliche Kraft

Die bisher genannten potenziellen Frustrationen sind nicht nutzlos. In der Tat, sobald wir die Kopfschmerzen des Kompetenzzuwachses überwunden haben, genießen wir die Leistungsfähigkeit der vom Compiler durchgeführten Typprüfungen (ein bisschen wie in TypeScript). Wir lieben diese Abstraktionen, durch die Sie alle Fehler verschwinden lassen null ou undefined. Wir haben große Freude daran, eleganten Code zu schreiben. Meines Wissens nur ELM bietet das gleiche Sprachniveau in der JavaScript-Welt mit gleichem Community-Interesse.