Прежде всего, что такое mithril.js? Mithril.js - это среда JavaScript для создания одностраничных приложений (SPA). Одна вещь, которая отличает меня от мифрила, - это то, что он легкий по сравнению с другими популярными аналогами; React, Angular и Vue.js, Mithril - всего 8 КБ (‹8 КБ gzip) (v.1.1.6).

У Mithril очень поверхностная кривая обучения, во многом это связано с краткой документацией, которую я нахожу очень подробной. Простите меня, я могу звучать здесь как настоящий фанат. 🙈

Простое приложение со встроенной маршрутизацией (* Winks at React *) очень просто:

var Splash = {
    view: function() {
        return m("a", {href: "#!/hello"}, "Enter!")
    }
}
m.route(document.body, "/splash", {
    "/splash": Splash
})

Моя реакция сначала была «Что это такое!» m("a", {href: "#!/hello"}, "Enter!")

Что ж, у mithril есть скомпилированное представление JSX, называемое hyperscript, по их словам, оно предназначено для чтения и использования как есть, потому что JSX требует большого количества инструментов для работы и поддержки в mithril. Лично я предпочитаю использовать JSX, потому что он похож на старый добрый HTML. Я могу практически все, что угодно, в JSX, как и в гиперкрипте, с небольшой настройкой разработчика. Чтобы использовать JSX с мифрилом, для его компиляции потребуется плагин babel и babel (babel-plugin-transform-react-jsx). Его можно скомпилировать с помощью инструмента babel cli или с помощью webpack.

Документацию по мифрилу можно найти здесь. Это очень легко понять и с чего начать.

Помимо настройки инструментов для компиляции JSX, начать создание приложения с использованием мифрила довольно просто. Вы можете управлять состоянием своего приложения без особой сложности и легко без сокращения и тому подобного для ряда достаточно больших приложений. Но это не умаляет важности сокращения в вашем приложении.