Публикации по теме 'elm'
Еженедельное чтение — 15 июля 2017 г.
Что привлекло мое внимание на этой неделе
В дополнение к моему собственному блогу я читал много блогов и хотел каждую неделю делиться некоторыми из моих любимых сообщений. Содержание будет меняться каждую неделю, но всегда будет несколько вещей, которые привлекли мое внимание и заставили меня задуматься о прошлой неделе. Вот мой выбор на этой неделе.
Альтернативные слои представления для приложения Elm — Пабло Брасеро
Если вы хоть немного читали мой блог, то знаете, что я более чем..
Работа с асинхронным состоянием пользовательского интерфейса в архитектуре, подобной Elm
На моей нынешней работе мы пытаемся создать лучшее программное обеспечение для наших клиентов. Одна из самых сложных и запутанных частей разработки программного обеспечения — не усложнять. В Crewmeister мы решили использовать React для всех новых частей пользовательского интерфейса, которые мы разрабатываем. Поскольку React — это только уровень представления приложения, нам, как разработчикам, все еще нужно выяснить, как мы структурируем наше приложение. Марсель Боймер написал об этом..
Elm — Повышение планки того, сколько радости я могу получить от сообщения об ошибке
Готовясь к Elm Hack Night, я баловался в Elm REPL .
Как довольно нетерпеливый ученик, я просто начал добавлять команды, чтобы посмотреть, что работает.
Первое, что меня поразило, это то, насколько добрыми были сообщения об ошибках. Сообщения об ошибках — это ключ ко всему , и с каждой полученной ошибкой я чувствовал, что язык искренне хочет мне помочь, и чувствовал, что у меня проблемы.
Хорошо, для сравнения, давайте добавим ту же хитрую строчку кода в JavaScript, Ruby и Elm.
В..
Улучшение производительности обновления записей
Я пытался измерить влияние мономорфизации пользовательских типов на производительность типичной функции обновления, когда наткнулся на открытие, которое привело бы к самому большому улучшению производительности, которое я еще не нашел.
Код, который я тестировал, был таким:
type alias Model =
{ someString : String
, someNum : Int
, sortKey : ( String, Int )
}
emptyRecord : Model
emptyRecord =
{ someString = "Str"
, someNum = 0
, sortKey = ( "Str", 0 )..
Почему я выбрал вяз
Несмотря на то, что это язык, который я знаю лучше всего, я всегда не любил JavaScript. Только пока я не увидел доклад Гэри Бернхардта под названием Рождение и смерть JavaScript , я стал уверен, что JS будет заменен чем-то лучшим раньше, чем я ожидал. Я стал осматриваться и, наконец, остановился на Вяз . Я хочу назвать несколько причин, помимо того, что я просто утверждаю, что это отличный язык, который делает все настолько простым и быстрым:
Вяз вырывается из JS. Множество..
Как сделать невозможные состояния невозможными?
Сравнение различных подходов к очистке кода Elm
Некоторое время назад Ричард Фельдман выступил с прекрасным докладом на тему « сделать невозможные состояния невозможными». Это действительно прижилось в сообществе Вязов. Ключевым моментом было более или менее:
Если определенные комбинации данных не разрешены в вашем приложении, спроектируйте модель данных таким образом, чтобы она могла содержать только разрешенные комбинации данных.
Например. если ответ в вашей модели может..
SPA просто с Elm Navigation
Несколько дней назад я разработал небольшое личное приложение. Мне нужен был сайт со статической информацией, чтобы помогать пользователям.
Благодаря компоненту "Навигация" от Elm, мы можем легко создавать статические сети.
Необходимые пакеты
вяз-язык / ядро вяз-lang / html вяз-язык / дом вяз-язык / виртуальный дом вяз-язык / навигация
Статический веб-сайт не требует пакета evancz / url-parser .
Elm-package.json может выглядеть так:
Программная функция
Программные..