В данной заметке вы найдете конспект видео по Elm, которые я посмотрел в ноябре 2019. Дата публикации видео может быть гораздо старше.
«The life of a file» by Evan Czaplicki, Elm Europe 2017
В Elm не проблема, если ваш файл огромный. Количество строк кода в файле не имеет значения.
Нужно строить модули не вокруг визуального представления, а вокруг структуры данных. Структура данных всему голова. Например, record хорошо подходит для каких-то несвязанных между собой вещей (полей), но если начинаются появляться связи, то стоит подумать о другой структуре данных.
Почувствуйте разницу, между the same VS the similar. The same — одинаковые, the similar — похожие. В качестве примера, два списка. В обоих чекбоксы, но кроме чекбоксов более ничего общего у этих списков по условиям задачи не оказалось. Поэтому нет смысла выделять чекбокс. Есть смысл продумать структуру данных для каждого из списков.
Уменьшайте публично доступное API из модуля. В таком случае не будет необходимости при изменениях «внутренностей» модуля придирчиво рефакторить. Так же, стоит избегать get/set, это может быть звоночком к тому, что «во внутренности» пытаются залезть. Пример: у списка лимит 2. Этот лимит устанавливается через API в момент инициализации пустого списка. Больше нет возможности изменить лимит извне.
Старайтесь выставлять наружу (expose) только самое необходимое, но не меньше. То есть, не нужно специально, что-то прятать.
Главные выводы 45:35:
«When and how to use Web Components with elm» by Luke Westby — про web components
Речь про editor в браузере, в качестве плагина взят CodeMirror и далее все связано через Web Component.
Выводы: если работаете над UI виджетом — используйте web components, если просто пытаемся с чем-то извне взаимодействовать — ports.
Полезные ссылки:
«Building Highly Performant Animations in Elm» by Abadi Kurniawan
Речь про то как ускорить анимацию, демонстрируется три подхода. Выбрано в итоге через web animation api + web components.
«Code is the Easy Part» — by Evan Czaplicki
В докладе разговор идет не про технические аспекты, а про то, как развивались некоторые популярные языки. Не с точки зрения, что было в 1м коммите и что далее, а очень общая картина. Evan ищет ответ на вопрос о дизайне языка, с помощью этой информации.
Далее, интересный момент затронут — как выглядит «коллаборация», а именно, это не просто PR + Merge в мастер. Это «социализация» — обсуждение проблем, затем «вдохновение» — вынесенное решение из обсуждения проблем и затем «работа».
Часть с работой хочу отметить, так как вновь указаны отличные шаги для решения проблемы
Сегодня будем использовать parcel и IntelliJ IDEA Community Edition. Все инструменты бесплатные. Инициализация elm проекта…
На данном вебинаре мы знакомились с языком Elm проводя параллели между Elm и Redux, поэтому…
Richard Feldman рассказывает как масштабировать Elm приложение без боли. Показаны техники: extended records, подход narrow…
Итоги года 2019 // Max Frontend Покажи мне свой гитхаб, и я скажу работал ли…
Почему стоит изучать Elm? Потому что это интересный вызов, редкие (но вкусные) вакансии и хороший…
В докладе разобраны различные техники создания модели данных в Elm, чтобы сделать невозможное состояние приложения,…