За последние 24 часа нас посетили 17006 программистов и 1179 роботов. Сейчас ищут 1577 программистов ...

</> htmx

Тема в разделе "JavaScript и AJAX", создана пользователем ibnteo, 9 фев 2023.

Метки:
  1. ibnteo

    ibnteo Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    34
    Симпатии:
    1
    Начал в работе использовать JS библиотеку htmx, позволяет переместить логику с клиента на сервер, запросы выполняются через AJAX, можно через специальные заголовки сервера делать редирект, работать с историей браузера и адресной строкой браузера.

    В hx- атрибутах HTML тегов указывается логика обработки различных событий, сервер возвращает лишь HTML код, который вставляется в нужное место страницы.

    Для обработки клиентской логики есть отдельная библиотека hyperscript, в большинстве случаев она не понадобится, хватит и htmx.

    Авторы проекта перенесли логику своего React приложения на htmx, и добились сокращения всего кода в 1,5 раза. В моих проектах примерно такое же отношение по сокращению кода получается, ведь не надо теперь дублировать код на клиенте и на сервере, и делать шаблонизацию на клиенте.

    Вроде ничего нового в этом нет, но реально разработка ускоряется и упрощается.

    Для htmx сделал библиотеку, позволяющую перед отправкой изменять размеры картинки на клиенте, исходный код и описание здесь: https://github.com/ibnteo/hx-image-resize
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.829
    Симпатии:
    651
    Смотрю, сам HTML сильно переделывается из-за этих атрибутов. Можно все это практически прозрачно делать. Там самая большая проблема – делить адреса ссылок в href (возможно, в action) на классы: внешние, внутряк и т.п. Это чтобы определять, нужно ли навешивать на ссылку JS-обработчик или, если обработчик навешивается на все подряд, нужно ли выполнять реальную JS-обработку с AJAX-подгрузкой контента и т.п.
     
  3. ibnteo

    ibnteo Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    34
    Симпатии:
    1
    Прозрачно сделать можно (в том числе и на HTMX), но тогда надо изучать внимательно JS код, что он делает, иначе не поймёшь где как обрабатывается. Все используют HTML атрибуты для своих целей, сразу видны данные и обработчики.
     
  4. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    912
    Симпатии:
    143
    Progressive Web Applications не универсальнее будет, или туплю?
     
  5. ibnteo

    ibnteo Активный пользователь

    С нами с:
    30 сен 2008
    Сообщения:
    34
    Симпатии:
    1
    PWA это другое, просто запуск сайта в браузере в режиме веб-приложения, без адресной строки.

    HTMX позволяет заменить клиентский код (JS) на меньшее количество серверного (например PHP).