Семінар ReasonML: відгуки та джерела

У вівторок увечері виходить нове видання Зустріч Js-Star.Paris у приміщенні JS-Republic, як і щомісяця, це була можливість поділитися між членами спільноти JavaScript. Це видання було присвячене мові ReasonML.

Зустріч 1 березня 2018 р
Зустріч 2 березня 2018 р
Зустріч 3 березня 2018 р
Зустріч 4 березня 2018 р
Зустріч 5 березня 2018 р
SG
Нагадаємо, ReasonML — це мова, розроблена командами Facebook і, зокрема, розробником React. Це свого роду вилка OCaml але спрощений і адаптований до потреб і звичок розробників JavaScript. Facebook також використовує його для своєї системи обміну повідомленнями.
Якщо вам цікаво протестувати Майстерню вдома, нижче ви знайдете посилання для доступу до джерел проекту з поясненнями до вправ:
https://github.com/js-republic/reason-ml-workshop
Ви помітите, що є дві гілки, master et solution, перший дозволяє проводити майстерню, а другий містить повністю виправлену майстерню.

Що ми думаємо про ReasonML?

Підготовка до цього семінару була дуже корисною. Дійсно, ми вперше розробили цю мову. Ось що ми дізналися:

Підхід ReasonML може бути дуже неприємним.

Як і OCaml та інші мови того ж жанру, ReasonML накладає важливу суворість. Очевидно, що коли ви розробляєте за допомогою ReasonML, ви витрачаєте 15 хвилин на виправлення синтаксису, типу, проблем компілятора. Зрештою, ви проводите лише хвилину на своїй веб-сторінці, тому що майже все працює ідеально. Такий підхід може збити з пантелику багатьох розробників, які звикли використовувати «чистий» JavaScript. Натомість вони, як правило, швидко розробляють, тестують у браузері, перевіряють, чи він виходить з ладу, виправляють і починають спочатку. Ми витрачаємо більше часу на роздуми, менше налагоджуючи ReasonML 😉

Інструменти ще мають розвиватися

На даний момент найкращим способом розробки ReasonML є використання Код Visual Studio з Плагін ReasonML і компілятор поруч. Навіть якщо ми вже повинні визнати, що велика робота зроблена, по цій темі ще довгий шлях. Коли виникає синтаксична помилка (як це часто буває під час вивчення нової мови), компілятор часто відповідає на вас Error: 3096: у відповідному рядку, тоді як Visual Studio Code виділяє неправильний рядок для вас як неправильний. BuckleScript, проект, який керує компіляцією ReasonML -> JavaScript, також може викликати у вас проблеми з носа, особливо коли вам потрібно самостійно створювати сигнатури функцій, щоб спілкуватися з JavaScript API.

Тінь OCaml всюдисуща

Як було сказано вище, ReasonML є певним чином «розділом» OCaml з переробленим синтаксисом для задоволення потреб веб-розробки та розробки JavaScript. Однак часто зустрічаються файли «.ml», розширення OCaml, коли шукаєте власну реалізацію API або під час пошуку інструментів спільноти. Як правило бс жарт є хорошим прикладом. Не бійтеся читати OCaml.

Абстракції та набір тексту пропонують неперевершену силу

Потенційні розчарування, наведені досі, не марні. Дійсно, як тільки ми подолали головний біль, пов’язану з підвищенням компетенції, ми насолоджуємося потужністю перевірок друку, зроблених компілятором (дещо як у TypeScript). Нам подобаються ці абстракції, завдяки яким ви зникнете всі помилки null ou undefined. Ми отримуємо величезне задоволення від написання елегантного коду. Наскільки мені відомо, тільки ELM пропонує той самий рівень мови у світі JavaScript з еквівалентним інтересом спільноти.