первый я, хз уже какой раз натыкаюсь на твой видос в начале рабочего дня. Как будто прихожу в офис и начинаю душнить за айтишечку с коллегой. От души спасибо за контент.
Выглядит как игрушка, но не более, взять недо js библиотеку чтобы через полгода когда простой проект вырастит в нечто большее чем простая форма и список элементов мужественно бороться с ограничениями этой библиотеки, ради чего?
htmX - программируем современный фронтенд, но без javascript 4:06 то сама библиоетка htmx будет использовать javascript для того, чтобы все эти атрибуты обрабатывать и тд.... ясно понятно 😀
на отметке 14:28 на экране в строке 62 вижу такое: events:di = read_from_json('data/events.json') это что за синтаксис такой: "events:di" ? разве в питоне так можно?
Честно говоря, какой-то бег в мешке получается. Но это я как фронтендер вижу. В том смысле что есть куча удобных и мощных фреймворков, зачем брать слабый и неудобный.
И да, фронтенд оно не заменит. Ибо есть вещи, которые проще сделать на клиенте. Например, отобразить модалку или переключить стиль. Но в случае с HTMX, там и какой-нибудь AngularJs справится. Есть вещи, которые можно сделать только на клиенте, например, осуществить ЭП документа с помощью CaDES. А есть области, где нужна оффлайн-работа или работа с очень хреновой сетью, аля GPRS. А какой-нибудь CRUD для внутреннего использования в локальной сети, который написан 1.5 землекопами, пожалуйста. Или новостной сайт. Форум...
как минимум это оптимизация и быстродействие. можно маленький кусочек загрузить, чем по новой рендерить всю страницу. челы из команды фильтр делали на htmx, ну выглядит прикольно
@@NIReeMK Сравнить с турбо, получится тоже самое, только проще и также быстро. Сжатый html занимает мало место, а подменять только нужные элеменый турбо умеет. Ну а если очень хочется, то можно рендерить только куски (усложняя бекенд). И после этого вопрос, зачем использовать новый(по меркам мира фронта - старый) модный фреймворк, если есть уже взрослый, надежный и более простой turbo?
@@OlegBovykin а что за турбо? Как его правильно найти? Как я вижу себе можно htmx засунуть легко в какой-то ВордПресс или ларавель и все будет работать и можно будет быстро сделать
Finally, туториал по фронтенду для меня, разработчика БД. Очень похоже на Compose (Android). Там тоже stateless declarative стиль нужен, а библиотека сама перерисовывает всё.
Напоминает tailwind. Когда бекендеру не охота писать css он вставляет 52 класса чтобы кнопка выглядела лучше. Здесь тоже самое, вместо того чтобы написать пару строк js вставляются новые атрибуты и подгружается целая библиотека.
Сейчас наткнулся ещё на такую технологию: Blazor на платформе ASP, которая использует, как SSR (серверный рендеринг), так и CSR, а стеком является html, css и с#. Джс нет совсем. Кто из русскоязычных блогеров-программистов разберет эту тему?
@@georgebush9544Правда, что авторы догадались не реализовать простого способа взаимодействия между фронтом и беком, и по факту хоть и фронт получается на шарпах, взаимодействие с беком через старый добрый rest?
@@georgebush9544Как он там в плане перфоманса сейчас? На старте, помню, что у него с этим проблемы были. Плюс к тому, ещё и wasm бинарник весил в под 30мб
@@georgebush9544ну значит опять забили на мобильных пользователей. Все этим spa хороши когда разрабы потеют над оптимизацией чтобы начальная загрузка была легковесной. А заталкивание толстых клиентов через wasm это какой-то дикий колхоз. Надо программистов на blazor обязать тестировать все через edge
Для маленькой команды, это решение кучи проблем. берем go+templ+htmx+tailwind и делаем крутой и быстрый продукт, держать стейт на бэке вместо клиента ничего сложного. упрощается авторизация, не надо апи, не надо держать фронт команду
Тот факт что большинство современных JavaScript SPA библиотек поддерживают SSR - говорит о том что они поняли что путь на клиенте - в никуда, тупик. Особенно намусорил ReactJS с его не продуманностью и навязыванием подходов к разработке. Иногда кажется что его сделали только для того чтобы была работа в Фейсбуке. Ну не может простая вещь делаться через жопу с кучей зависимостей и парадигм. А самое зло всех этих библиотек - это состояние клиента, которое отличное от сервера, это фантазии которые надо разруливать. Вобщем жесть! Поэтому HTMX это здравый взгляд на старые проблемы, глоток воздуха.
> Тот факт что большинство современных JavaScript SPA библиотек поддерживают SSR Говорит о том, что эти библиотеки востребованы и в CSR, и в SSR. > Ну не может простая вещь делаться через жопу с кучей зависимостей и парадигм Отличное описание стека Htmx + Alpine + HyperScript + шаблонизатор + серверная отрисовка. > А самое зло всех этих библиотек - это состояние клиента, которое отличное от сервера Хранение клиентского состояния на сервере тоже геморой. Htmx не дружит к обновлением нескольких фрагментов, например, в интернет магазине добавляя товар в корзину, обновится или карточка товара или корзина в шапке.
@@amphortas1 Только в приложении аля hello world, как только возникают вопросы как сделать что-то сложнее - предлагают добавить что-то типа alpine или hyperscript, шаблонизаторов дикое множество, у всех свои особенности, вот и получается зоопарк парадигм слепленных изолентой
> Хранение клиентского состояния на сервере Это для чего? Почему у вас все аргументы такие извращенные и оторванные от реальности А вообще, пишите на чем хотите, каждый голосует уровнем геморроя самостоятельно. @@oWeRQ666
Все классно, а только как параметры проверять которые в форме передаются и в браузере и на сервере? Например пользователь может намерено послать форму со 'зловредным' ну или пустым полем ивент или дата. Код обрабатывающий форму в таком случае должен возвращать ошибку, и шо то мне подсказывает шо одного hx-target будет мало. Не отображать же в место списка событий сообщений типа "неверная дата"?
посмотрите доку, там много примеров как такие ситуации обрабатывать есть даже специальные заголовки для ответа, которые будут менять hx-target или вообще любой другой атрибут на нужный вам
@@bazilval ну и ок, главное но есть, дальше как поступать понятно... )) Наверное сразу нужно показывать как правильно формы обрабатывать. Это не намного сложнее, но будет сразу фопмировать у новичков правило, принял - проверь - заработай.
@@yuriiingultsov5863 ну думаю обзорщик просто показывает самые азы, чтобы заинтересовать, а дальше человек пойдёт в доку Она там реально толковая и все нюансы хорошо расписаны
Даю подсказку: Изучаем С и пишем приложение, без промежуточных стотысяч миллионов слоев абстракции в виде хтмл цсс джаваскипт, виртуальных машин и песочниц, браузеров, движков и не требующую для нормального исполнения 8 ядер и 16 ГБ озу.
Не вариант. Тогда вместо примерно 2-х миллиардов сайтов будет такое же количество приложений. И как их все установить? Придется делать какой-то поисковик который позволит искать информацию в этих приложениях. Но это опять же не выход так как чтобы прочитать пару строчек нужной информации придется устанавливать приложение и искать инфу в нем. А если нужной инфы там нет или она неполная? Придется устанавливать и сносить кучу приложений вместо того, чтобы просто закрыть одну вкладку браузера и открыть другую.
@@Alexandr_Zavgorodniy не все два милиарда сайтов являются приложением как таковым. Вообще, сайты это сайты. Гипертекст не для того делали, он не очень расстан на то, чтобы быть гуем программы. И многие вещи потому такие монструозные. В то время как в виде отдельной программы это была бы маленька, простая, малоресурснозатраная сущность.
@@maximkiselev1554ну, если стоимость коммунальных услуг, налог на дом таковы, что вы вынуждены вставать в 5 на работу, а приходите домой после полуночи и падаете обессиленным, а с вас также регулярно высчитывают сборы за чистку фонтана, на центральной площади, у которого вы никогда не были и не будете, потому что некогда, сборы на ремонт набережной и лодочного причала , которые вам нафиг не нужны, потому что у вас нет лодки, на строительство мобачьей площадки, а у вас нет собаки и всё в таком духе, то, наверное, да, лучше жить в лесу
Вау, зуммеры опять изобрели php и jquery. Зачем? Кому нужны микрофронты без стейта-менеджера? Зачем учить очередной html-like сахар над js, когда можно учить сам js? Зачем делать SSR, если поисковики вот только научились в JS? Боже, какой в этом всем смысл?! Когда это все закончится?!
На ванильном js, легко! А вот разбираться в груде фронтенд библиотек созданных для упрощения других фронтенд библиотек... А отдельный гемор, что к каждой по CLI тулзу, который ещё и обновляется раз в месяц.
Более того, фронтенд стал «сложный» не на пустом месте, подход html с сервера становятся все более неподдерживамыми с каждым новым требованием клиента, каждый раз приходится изобретать новый костыль, кажущаяся простота рендера на бекенде - всего лишь мираж.
Ну куда деваются ответы? Я больше не имею желания вступать в дискуссии в коментах на этом канале, эта ерунда уже не первый, и не второй, а может и не третий, раз происходит! Никого не материл, на личности не переходил, использую обычный программерский сленг, может разве что с излишней экспрессией в сторону технологий, на мой взгляд устаревших/неудачных/не заслуживающих внимания. А посты пропадают. Обидно, когда полчаса думаешь над ответом человеку, ищешь аргументацию, через 15 минут обновляешь, а оно - херак и самоаннигилировалось, а он даже не успел прочитать и ответить! Автору канала стоило бы задуматься, о средней цене потраченного впустую времени присутствующих здесь людей, уж он то точно должен иметь хотя бы отдаленное представление!
Ютуб благодарность, особенно Российскому офису. У меня удаляется более половины комментов. Бывает пропустят, потом тебе отвечают, а ты не можешь парировать, так как ютуб удаляет нещадно. В ТГ в этом плане красота.
@@telekanalDobro Какого хрена между Украиной и Нидерландами забыл какой-то росийский офис? Какого хрена он вообще на Ютубе забыл? Миша, ты можешь как-то повлиять на то, кто тебя модерит, или надпись в конце каждого видео у тебя для красоты?
@@andreasstager1642 , Такого, что когда на каналах-миллионниках оставляешь комментарии и он вылетает на первые строчки, то этот комментарий может быть мощнее, чем первая полоса Нью-Йорк Таймс, так как прочитает миллионы пользователей. И у России и США была договоренность в области информационной безопасности на этот счёт. Не нужно истерить, просто надо знать, почему происходят какие-то вещи.
Скажи спасибо алгориму youtube. Напоимер, известно, что нельзя в комментариях писать аббревиатуру от Atomicity, Consistency, Isonation and Durability. Стирается моментально. Тупенький у них алгоритм с кучкок ключевых слов.
Это ещё что, я тут в официальном туториале Next.js увидел, что они советуют скачивать отдельный пакет для реализации функции _"debounce"!_ Т.е. то, что можно накидать за 15 секунд, уместив при этом в 3-4 строки, кто-то додумался реализовать отдельным пакетом :/
Анимации на css надо делать. А html не шибко тяжелее json'а. На больших проектах, где команды бэкенд/фронтенд разделены, json-а может гоняться больше, если у фронтенда модель стала отличаться от бэкенда и нужно делать по 5 api запросов, чтобы данные склеить. В htmx будет один запрос
@@constantinegeist1854 , сам соломенное чучело придумал, сам и заборол. Если запросы идут на разные точки, то и с htmx так же будешь лысого гонять. Если их реально снять одним запросом, то помешать это сделать фронтендеру может только рокировка головы и задницы. Все это дико напоминает манию жуктварения. Единственное, для чего реально был приятен фреймворк, ушло еще с появленияем Бабеля, а стада неумеющих в ваниль остались.
Если тошнит от js можно логику вообще на чистом css написать. Но зачем учить новый синтаксис, если можно подучить js на самом базовом уровне и все спокойно реализовать и без js библиотек.
Фронтенд деградирует! Я хоть и сам с фронта, но больше игровой и основных либ всего 4, готовый энджин 2д с поддержкой простых решений phaser, рендер движок pixi, 3д three js рендер и Babylon игровой 3д, везде идет поддержка современных фич и оптимизации и под разные решения можно точно выбрать, что нужно. Формошлепы пришли к тому, что было 10-15 лет назад и гордо называя это прогрессом, браво) тот же реакт сколько там мажорных версий?)) Как изменились подходы?))) то редакс супер, потом говно и теперь вернулись к моб х, который на деле простой обзервер, просто какой-то треш, или народ тупеет или все просто катится в пропасть
@@maxshdev если для вас использование у обоих атрибутов вызывает их похожесть, то мне нечего сказать. Пусть будет так. Это как у слонов есть хобот, хобот похож на большого червяка, червяки бывают... 😂
"Магия" на базе простого html и fetch. Кстати у меня дежавью. Это уже было под названием SHTML. Только теперь запросы будут идти напрямую с браузера, а не с сервера как я понял. Мое мнение - технологии быть. Но массовости в энтерпрайзе не будет.
Проблема всех таких библиотек, что ты не растешь как разработчик, а растешь как разработчик узконачравленной библиотеки. Лучше учить оригинальные языки программирования и библиотеки где нативно можно использовать возможности языка, а не запоминать спец. директивы или атрибуты библиотеки, иначе станете заложниками этих библиотек.
@@andynaz7044 Даже если мы выросли, откуда нам знать что в новой библиотеки за атрибуты. Все равно идти читать документацию. Да это займет меньше времени, но все равно зачем тратить время на узко направленную вещь. Если вместо этого ты можешь изучить алгоритмы, паттерны проектирования, технологии. и т.д.
Спасибо за видос, но режет слух произношение английских слов. Почему "раут"? Что это? Уже бы или на английский манер "рут" или как устоялось в русскоязычной среде "роут".
@@constantinegeist1854 Какое отношение американцы имеют к английскому вообще? Вы же не сверяете произношение русских слов с тем как их произносят, к примеру казахи изи украинцы. Речь идёт о термине, и приплетать сюда выговор каких-то народностей глупо. Чтобы тебя поняли, нужно произнести так, как к этому привыкли. И как бы вам ни казалось дичью, а в русскоговорящей среде устоялось произношение "роут". Почему американцы имеют право коверкать это слово, а мы нет?
@@EvgenOl Ну смотрите, это же вы начали задвигать про то, что "раут" режет слух. Хотя именно "роут" является коверканьем оригинального слова. При том что как раз-таки "раут" является стандартным произношением в американском английском, и присутствует в британском (но считается устаревшим). Напомню ещё раз, что тему про неправильное произношение подняли вы, мне-то пофиг. Когда я указал на вашу ошибку (в "раут" ничего плохого нет, а вот больше вопросов к "роут"), вы ответили полотном текста в защиту себя. Воинствующее невежество это называется :)
Сколько из нас пишет сложные frontend приложения? Давайте будем честны 90% это формочки и таблички. Если вы пишете Фейсбук - тогда да, такую помойку только на реактах писать. Что еще, игры? Тоже мимо, для этого есть OpenGL, DirectX или на чем это все пишется сегодня.
Проблема в том, что даже с простой формой обратной связи htmx не справляется, модалка - проблема, кастомный селект - проблема, выбор файла - проблема, валидация - проблема
@@oWeRQ666 для того что вы перечислили вполне обоснованно использовать сторонние библиотеки, без них никуда. Нормальный загрузчик и модалка - без проблем выбираете что вам нравится и пользуйте библиотеку. Здесь разговор больше про input/output и гораздо проще это делать "оттуда". А на клиенте уже вишенку на торт сами положите. Не надо с гаубицы лупить по воробьям
@@Markus-iq4sm больше библиотек богу библиотек! В итоге простая страничка в 10-20 килобайт html будет загружать сотни килобайт библиотек. При этом на странице из каждой библиотеки будет использоваться по 1-2 функции :)
это не новый виток, это реализация концепции ненавязчивого javascrpt, которую описали еще в 2002, реализаций таких подходов уже были и существуют до сих пор, один из примеров unpoly.js, turbo.js
Постоянно бесило и резало ухо как всё видео не мог сказать нормально две буквы. Неужели так сложно сказать ЭЙЧ ЭКС ?? И вообще какой смысл в этой новой "простой" библиотеке если есть старый добрый jQuery ? Как по мне, "шо то хуйня шо это хуйня" ))
Ещё такой момент. Смотрю видосы на канале хацкеров . Они говорят, что всегда в своем браузере стараются отключить джс-скрипты, они знают насколько это тонкая штука, так как рассказывают, как делать джс, xss инъекции. Они очень не любят джс на своих браузерах.
@@localhost666 , они в-основном в линуксе, в прогах. А, если нужно воспользоваться интернет-магазином, то запасной ноут держат. И вроде там джс необязателен формочки отрисовывает html, а запрос обрабатывается через бэкенд.
Как раздуть из ничего целую науку? допустить толпы недодезОйнеров и недопрОграммеров до воплощения своих хотелок в фреймворках. Ура! Теперь у нас всё тормозит, лагает, мерцает, жрет кучу ресурсов и у нас агроменный зоопарк технологий. И несмотря на весь этот зоопарк - возможности очень ограничены. Это всё тот же текстовый вывод, таблички, дивы, прокрутка и прочие стандартные элементы, только усложненные в сотни и тысячи раз. А CAD систему всё равно на этом многообразии движков - не сделаешь. Ради чего вся эта мышиная возня? Ради одного - повышение значимости и стоимости работ разработчиков, которые делают ненужные рюшечки, делают то, что по сути ничего не улучшает, просто переделывают всё по сто раз и каждый раз естественно требуют за разработку оплату.
Лучше бы придумали фронтенд без хтмл и цсс. Вот это реальное проклятие всех времен и народов. А логику хоть на расте можно писать, с компиляцией в вэб ассембли, если от жабоскрипта тошнит.
@@oWeRQ666Та в том то и дело, что альтернатив то и нет. Не считая всякого наркоманства, которое предоставляет абстракции от хтмл и цсс, типа такого продукта жизнедеятельности мамонта как ExtJS, который как раз то самое легаси и сам по себе на порядки страшнее двух вышеупомянутых вместе взятых, который к тому же не избавляет на 100% от необходимости ковырять и одно и другое, что выливается в еще больший гемор, чем если бы все было написано вообще без него. Ну есть еще Флаттер для вэба, на котором я как раз и пишу, но это скорее мультиплатформа, с известными проблемами со временем загрузки, с долбаным СЕО и прочим вэб-шлаком, и попробуй еще кого-то уговорить сделать фронт именно на нем. Хотя у меня с ним никаких проблем нет и свой стартап мы пишем именно на нем.
Так ведь вам никто не мешает подключить к пустой странице js-файл и создавать теги со стилями прямо в нём **trollface** p.s.: причём вроде должно работать даже в пустом файле, если сначала создать document.body через createElement().
можешь даже не исправлять произношение, это лишняя трата времени. все и так понимают, что ты имеешь ввиду HTMX и абсолютно не важно как ты это произносишь
СОмнительно. 1 - эту хрень нужно учить и бекендеру. 2 НЕ универсально. Мобилки с этого бека как json получит?. Да, понимаю, это для маленьких проектов. Ноо если ты +- знаешь во фронт, тебе не то что бы сложно будет развернуть приложение обычным способом. Ты просто будешь проще относиться к архитектуре. Сомнительно
Микрофон у тебя крутой, голос звучит отлично, приятно слушать. Тема и подача супер.
Вспомнилось
- Современный фронтенд сложней бекенда
- А кто его сделал сложней? Кто!?
От статических сайтов перешли к AJAX, потом к SPA и теперь идем обратно :)
Скорее просто усложнялись, усложнялись, и усложнились настолько что отпочковался простой способ
@@bogsala4971Ага, после SPA был еще SPA + SSR. Стало очень сложно, особенно ждать по несколько минут, фронт соберется.
пропустил стадии ssr, ssr + csr
Никто никуда не идёт обратно.
Тоже самое на бэке: сначала с монолита на микросервисы, теперь с микросервисов на модульный монолит
Спасибо!
Спасибо большое, вроде бы не длинный ролик, а всё так понятно ❤
Спасибо, очень доступно пояснил, респект
Это просто великолепно! невозможно слушать на скорости полтора)) спасибо за ускоренную речь)
Слушаю на 2.25. Это не он быстро говорит, это вы медленно слушаете.
@@EndangeredSpecieкак? У моего ютуба ползунок скорости заканчивается на 2х.
@@EndangeredSpecie 1.7 норм
первый я, хз уже какой раз натыкаюсь на твой видос в начале рабочего дня. Как будто прихожу в офис и начинаю душнить за айтишечку с коллегой. От души спасибо за контент.
Как там htmx?
Суперская либа... Самое то для внутрикорпоративных сервисов, где дизайн это что-то из разряда необязательного.
Для дизайна из необязательного есть css библиотеки типо tailwind и grommet.
Выглядит как игрушка, но не более, взять недо js библиотеку чтобы через полгода когда простой проект вырастит в нечто большее чем простая форма и список элементов мужественно бороться с ограничениями этой библиотеки, ради чего?
не "когда", а "если", можно заложить много чего в проект на старте, но так никогда его не написать,
Так говорят вообще про все новое, а потом это это появляется в строчке вакансии
@@nerzhmet а можно оказаться посреди океана в лодке с одним веслом, плавая по кругу в поисках решения проблемы
Рекомендую вам не принимать самому решение о перспективах проекта, потому что я вижу, что вы ошибётесь
Очень хорошее видео! Интересно посмотреть как фронт на бекенде пишут. )))
Мне очень понравилось, спасибо за такой контент!
В каком месте там нет скриптов?)
Спасибо) в подкасте обещал на эту тему выпустить ролик и таки сделал) нравится твой контент, открыл тебя для себя недавно)
День начался не с кофе. Мишу в амбассадоры htmx!
Интересно! Больше такой подачи !!!
htmX - программируем современный фронтенд, но без javascript 4:06 то сама библиоетка htmx будет использовать javascript для того, чтобы все эти атрибуты обрабатывать и тд.... ясно понятно 😀
и чё? ну и что ты тут такого увидел? ты с луны?
@@andynaz7044 сколько баллов на егэ? книжки читай, занимайся
Как разработчик ты не пишешь JS. Но библиотека написана на JS, т.к. браузеры другого не понимают. Противоречие в чём?
на отметке 14:28 на экране в строке 62 вижу такое:
events:di = read_from_json('data/events.json')
это что за синтаксис такой: "events:di" ? разве в питоне так можно?
по синтаксису это аннотация типа, но что за di я тоже не понял :)
Честно говоря, какой-то бег в мешке получается. Но это я как фронтендер вижу. В том смысле что есть куча удобных и мощных фреймворков, зачем брать слабый и неудобный.
И да, фронтенд оно не заменит. Ибо есть вещи, которые проще сделать на клиенте. Например, отобразить модалку или переключить стиль. Но в случае с HTMX, там и какой-нибудь AngularJs справится.
Есть вещи, которые можно сделать только на клиенте, например, осуществить ЭП документа с помощью CaDES.
А есть области, где нужна оффлайн-работа или работа с очень хреновой сетью, аля GPRS.
А какой-нибудь CRUD для внутреннего использования в локальной сети, который написан 1.5 землекопами, пожалуйста. Или новостной сайт. Форум...
Will be a great thing when there will be a library of ready htmx components available.
Главный вопрос: чтобы что? Чем плох переход страницы? Интересно, можно подключить turbo и вообще ничего не менять в html.
как минимум это оптимизация и быстродействие. можно маленький кусочек загрузить, чем по новой рендерить всю страницу. челы из команды фильтр делали на htmx, ну выглядит прикольно
@@NIReeMK Сравнить с турбо, получится тоже самое, только проще и также быстро. Сжатый html занимает мало место, а подменять только нужные элеменый турбо умеет. Ну а если очень хочется, то можно рендерить только куски (усложняя бекенд). И после этого вопрос, зачем использовать новый(по меркам мира фронта - старый) модный фреймворк, если есть уже взрослый, надежный и более простой turbo?
@@OlegBovykin а что за турбо? Как его правильно найти?
Как я вижу себе можно htmx засунуть легко в какой-то ВордПресс или ларавель и все будет работать и можно будет быстро сделать
@@NIReeMK , а теперь выходим из условий идеального интернета. "Третью чашку кофию Василий ожидал, пока раскроется его менюшка."
@@NIReeMK hotwire turbo
Хорошее видео. Спасибо за рассказ!
Finally, туториал по фронтенду для меня, разработчика БД.
Очень похоже на Compose (Android). Там тоже stateless declarative стиль нужен, а библиотека сама перерисовывает всё.
Напоминает tailwind. Когда бекендеру не охота писать css он вставляет 52 класса чтобы кнопка выглядела лучше. Здесь тоже самое, вместо того чтобы написать пару строк js вставляются новые атрибуты и подгружается целая библиотека.
Сейчас наткнулся ещё на такую технологию: Blazor на платформе ASP, которая использует, как SSR (серверный рендеринг), так и CSR, а стеком является html, css и с#. Джс нет совсем.
Кто из русскоязычных блогеров-программистов разберет эту тему?
Я на blazor сейчас диплом пишу) норм тема в связке с майковским fluent ui
@@georgebush9544Правда, что авторы догадались не реализовать простого способа взаимодействия между фронтом и беком, и по факту хоть и фронт получается на шарпах, взаимодействие с беком через старый добрый rest?
@@georgebush9544Как он там в плане перфоманса сейчас? На старте, помню, что у него с этим проблемы были. Плюс к тому, ещё и wasm бинарник весил в под 30мб
@@scarlatum в этом плане ситуация особо не изменилась)
@@georgebush9544ну значит опять забили на мобильных пользователей. Все этим spa хороши когда разрабы потеют над оптимизацией чтобы начальная загрузка была легковесной. А заталкивание толстых клиентов через wasm это какой-то дикий колхоз. Надо программистов на blazor обязать тестировать все через edge
Не знаю, зачем я это смотрела)) Разве что получила представление что за зверь этот ваш htmx😅
Для маленькой команды, это решение кучи проблем. берем go+templ+htmx+tailwind и делаем крутой и быстрый продукт, держать стейт на бэке вместо клиента ничего сложного. упрощается авторизация, не надо апи, не надо держать фронт команду
Спасибо, круто и просто разложил.
Спасибо за видео, хороший формат ❤
Тот факт что большинство современных JavaScript SPA библиотек поддерживают SSR - говорит о том что они поняли что путь на клиенте - в никуда, тупик. Особенно намусорил ReactJS с его не продуманностью и навязыванием подходов к разработке. Иногда кажется что его сделали только для того чтобы была работа в Фейсбуке. Ну не может простая вещь делаться через жопу с кучей зависимостей и парадигм. А самое зло всех этих библиотек - это состояние клиента, которое отличное от сервера, это фантазии которые надо разруливать. Вобщем жесть!
Поэтому HTMX это здравый взгляд на старые проблемы, глоток воздуха.
> Тот факт что большинство современных JavaScript SPA библиотек поддерживают SSR
Говорит о том, что эти библиотеки востребованы и в CSR, и в SSR.
> Ну не может простая вещь делаться через жопу с кучей зависимостей и парадигм
Отличное описание стека Htmx + Alpine + HyperScript + шаблонизатор + серверная отрисовка.
> А самое зло всех этих библиотек - это состояние клиента, которое отличное от сервера
Хранение клиентского состояния на сервере тоже геморой. Htmx не дружит к обновлением нескольких фрагментов, например, в интернет магазине добавляя товар в корзину, обновится или карточка товара или корзина в шапке.
@@oWeRQ666это же просто логика на сервере + вложенные шаблоны
@@amphortas1 Только в приложении аля hello world, как только возникают вопросы как сделать что-то сложнее - предлагают добавить что-то типа alpine или hyperscript, шаблонизаторов дикое множество, у всех свои особенности, вот и получается зоопарк парадигм слепленных изолентой
> Хранение клиентского состояния на сервере
Это для чего? Почему у вас все аргументы такие извращенные и оторванные от реальности
А вообще, пишите на чем хотите, каждый голосует уровнем геморроя самостоятельно.
@@oWeRQ666
Кхм... А на нативном JS писать не пробовали?
Миша, дай, пожалуйста, ссылку на этот пример -- захотелось покопаться в нём. Спасибо.
Получать с сервера html, который в несколько раз больше JSON-а?
Не бережём трафик совсем.
Там разница несущественная
json надо ещё распарсить и отрендерить, а тут готовый html.
Прям как в онлайн универ вернулся, только теперь не react а htmX )))
вот, что JavaScript животворящий делает!
Спасибо за курс по htmx :D
Пойду проходить собесы
А можно накодить порнхаб?
Можно, если будете делать на htmx, обязательно записывате, у вас будет первый контент.
и чтоб сразу с видео с твоим участием
@@un_defined то, в котором тебе присунул?😂👌
Все классно, а только как параметры проверять которые в форме передаются и в браузере и на сервере? Например пользователь может намерено послать форму со 'зловредным' ну или пустым полем ивент или дата.
Код обрабатывающий форму в таком случае должен возвращать ошибку, и шо то мне подсказывает шо одного hx-target будет мало. Не отображать же в место списка событий сообщений типа "неверная дата"?
посмотрите доку, там много примеров как такие ситуации обрабатывать
есть даже специальные заголовки для ответа, которые будут менять hx-target или вообще любой другой атрибут на нужный вам
@@bazilval ну и ок, главное но есть, дальше как поступать понятно... )) Наверное сразу нужно показывать как правильно формы обрабатывать. Это не намного сложнее, но будет сразу фопмировать у новичков правило, принял - проверь - заработай.
@@yuriiingultsov5863 ну думаю обзорщик просто показывает самые азы, чтобы заинтересовать, а дальше человек пойдёт в доку
Она там реально толковая и все нюансы хорошо расписаны
Добавляем к разметке тег script, импортируем в него некий код и пишем "без javascript" лол 😂
и чё тут лолного? лолно ему... откуда здесь лохи берутся? -- смотри котиков
А как какать по другому то? Ну сделай браузер, который будет реализовывать концепт без JS...
@@egzakharovichв заголовке написано "без javascript". Все нормально, да?
@@boonya41 в данном случае, JS это костыль. И кроме импорта библиотеки, его более не применяется. Так что, условия соблюдены. :)
@@egzakharovich , да окей, окей. Я так и понял. Получается, что AngularJs был тоже "без javascript".
Я думаю это технологию очень трудно совместить с рисованием dashboard-ов с кучей графиков вроде Gantt-charts
Даю подсказку: Изучаем С и пишем приложение, без промежуточных стотысяч миллионов слоев абстракции в виде хтмл цсс джаваскипт, виртуальных машин и песочниц, браузеров, движков и не требующую для нормального исполнения 8 ядер и 16 ГБ озу.
Не вариант. Тогда вместо примерно 2-х миллиардов сайтов будет такое же количество приложений. И как их все установить? Придется делать какой-то поисковик который позволит искать информацию в этих приложениях. Но это опять же не выход так как чтобы прочитать пару строчек нужной информации придется устанавливать приложение и искать инфу в нем. А если нужной инфы там нет или она неполная? Придется устанавливать и сносить кучу приложений вместо того, чтобы просто закрыть одну вкладку браузера и открыть другую.
@@Alexandr_Zavgorodniy не все два милиарда сайтов являются приложением как таковым. Вообще, сайты это сайты. Гипертекст не для того делали, он не очень расстан на то, чтобы быть гуем программы. И многие вещи потому такие монструозные. В то время как в виде отдельной программы это была бы маленька, простая, малоресурснозатраная сущность.
Даю подсказку: Продаем дом в городе и начинаем жить в лесу, без запаса еды и без всей другой дурацкой городской бытовухи
@@maximkiselev1554ну, если стоимость коммунальных услуг, налог на дом таковы, что вы вынуждены вставать в 5 на работу, а приходите домой после полуночи и падаете обессиленным, а с вас также регулярно высчитывают сборы за чистку фонтана, на центральной площади, у которого вы никогда не были и не будете, потому что некогда, сборы на ремонт набережной и лодочного причала , которые вам нафиг не нужны, потому что у вас нет лодки, на строительство мобачьей площадки, а у вас нет собаки и всё в таком духе, то, наверное, да, лучше жить в лесу
Спасибо за контент❤❤❤ Хотя до этого сознательно избегал темы с htmx)
Я фронтендер. Что на счет Next js какие мысли?
он блогер, а не программист, поэтому никогда не отвечает даже на простые вопросы
Ничего нового, я ожидал что будет SPA, а в деле обычный шаблонизатор как hbs, ejs в node js
начало в 2:13
Очень интересная библиотека, как раз то, что нужно бэкендеру, чтобы создать простенький сайт
А что сейчас мешает?
@@selub1058 видимо искусственное разделение на _"backend"_ и _"frontend"_ )
15 лет спустя наконец-то опять изобрели твиг
по мне так React или Vue намнооооо проще синтаксически и логически
так, принцип другой, но это какой-то отстой
Для ноды есть Handlebars, тоже самое.
Вау, зуммеры опять изобрели php и jquery. Зачем?
Кому нужны микрофронты без стейта-менеджера? Зачем учить очередной html-like сахар над js, когда можно учить сам js? Зачем делать SSR, если поисковики вот только научились в JS?
Боже, какой в этом всем смысл?! Когда это все закончится?!
Смысл в том что говоришь что старое говно а новое лучше
Миша за ролик несколько раз отвечал зачем. Ты коммент бросился писать сразу, как прочитал название?
Ну как "без javascript".... Он там всё ещё есть, только теперь это магия, которую ты больше не контролируешь.....
тоже запнулся, пока произносил эйч-экс
выходит только когда эйч-икс, честно говоря
Бедный Миша, чуть язык не сломал когда выговариваешь hx 😅
Бэкендеры готовы изобрести для себя новый фреймворк, только потому что не могут простую модалку сделать или обновить часть страницы после fetch.
На ванильном js, легко! А вот разбираться в груде фронтенд библиотек созданных для упрощения других фронтенд библиотек... А отдельный гемор, что к каждой по CLI тулзу, который ещё и обновляется раз в месяц.
без CSS но стили в атрибутах
в играх графику отрисовывают в канве
Вряд ли это найдет широкое распостранение, сайты становятся сложнее, нужна декомпозиция а не сгружать в кучу назад все
Более того, фронтенд стал «сложный» не на пустом месте, подход html с сервера становятся все более неподдерживамыми с каждым новым требованием клиента, каждый раз приходится изобретать новый костыль, кажущаяся простота рендера на бекенде - всего лишь мираж.
В моменте, когда ты сказал о том, что с сервера должен возвращаться HTML, стало неинтересно.
Михаил! Спасибо! Технология очень интересная. Но увы пока мало информации
Ну куда деваются ответы? Я больше не имею желания вступать в дискуссии в коментах на этом канале, эта ерунда уже не первый, и не второй, а может и не третий, раз происходит!
Никого не материл, на личности не переходил, использую обычный программерский сленг, может разве что с излишней экспрессией в сторону технологий, на мой взгляд устаревших/неудачных/не заслуживающих внимания.
А посты пропадают.
Обидно, когда полчаса думаешь над ответом человеку, ищешь аргументацию, через 15 минут обновляешь, а оно - херак и самоаннигилировалось, а он даже не успел прочитать и ответить!
Автору канала стоило бы задуматься, о средней цене потраченного впустую времени присутствующих здесь людей, уж он то точно должен иметь хотя бы отдаленное представление!
Ютуб благодарность, особенно Российскому офису.
У меня удаляется более половины комментов.
Бывает пропустят, потом тебе отвечают, а ты не можешь парировать, так как ютуб удаляет нещадно.
В ТГ в этом плане красота.
@@telekanalDobro Какого хрена между Украиной и Нидерландами забыл какой-то росийский офис? Какого хрена он вообще на Ютубе забыл? Миша, ты можешь как-то повлиять на то, кто тебя модерит, или надпись в конце каждого видео у тебя для красоты?
@@andreasstager1642 ,
Такого, что когда на каналах-миллионниках оставляешь комментарии и он вылетает на первые строчки, то этот комментарий может быть мощнее, чем первая полоса Нью-Йорк Таймс, так как прочитает миллионы пользователей.
И у России и США была договоренность в области информационной безопасности на этот счёт.
Не нужно истерить, просто надо знать, почему происходят какие-то вещи.
Последнее время коменты на ютубе мои пропадают тоже. Хз отчего
Скажи спасибо алгориму youtube. Напоимер, известно, что нельзя в комментариях писать аббревиатуру от Atomicity, Consistency, Isonation and Durability. Стирается моментально. Тупенький у них алгоритм с кучкок ключевых слов.
Гонять лысого по сети чтобы запилить анимацию на странице? Мать моя женщина, остановите Землю.
Это ещё что, я тут в официальном туториале Next.js увидел, что они советуют скачивать отдельный пакет для реализации функции _"debounce"!_ Т.е. то, что можно накидать за 15 секунд, уместив при этом в 3-4 строки, кто-то додумался реализовать отдельным пакетом :/
Анимации на css надо делать. А html не шибко тяжелее json'а. На больших проектах, где команды бэкенд/фронтенд разделены, json-а может гоняться больше, если у фронтенда модель стала отличаться от бэкенда и нужно делать по 5 api запросов, чтобы данные склеить. В htmx будет один запрос
@@constantinegeist1854 , сам соломенное чучело придумал, сам и заборол. Если запросы идут на разные точки, то и с htmx так же будешь лысого гонять. Если их реально снять одним запросом, то помешать это сделать фронтендеру может только рокировка головы и задницы.
Все это дико напоминает манию жуктварения. Единственное, для чего реально был приятен фреймворк, ушло еще с появленияем Бабеля, а стада неумеющих в ваниль остались.
html программисты передают авации
Если тошнит от js можно логику вообще на чистом css написать. Но зачем учить новый синтаксис, если можно подучить js на самом базовом уровне и все спокойно реализовать и без js библиотек.
И все это все равно компилируется в js бандлы, судя потому что я вижу в консоли разработчика. Это для тех кто не осилил js или не любит его)))
Фронтенд деградирует! Я хоть и сам с фронта, но больше игровой и основных либ всего 4, готовый энджин 2д с поддержкой простых решений phaser, рендер движок pixi, 3д three js рендер и Babylon игровой 3д, везде идет поддержка современных фич и оптимизации и под разные решения можно точно выбрать, что нужно. Формошлепы пришли к тому, что было 10-15 лет назад и гордо называя это прогрессом, браво) тот же реакт сколько там мажорных версий?)) Как изменились подходы?))) то редакс супер, потом говно и теперь вернулись к моб х, который на деле простой обзервер, просто какой-то треш, или народ тупеет или все просто катится в пропасть
Что это?
уже очень сильно напоминает alpinejs
Вообще ни разу
@@Markus-iq4sm ну ты хотябы ознакомься, перед тем как писать.
@@maxshdev если для вас использование у обоих атрибутов вызывает их похожесть, то мне нечего сказать. Пусть будет так. Это как у слонов есть хобот, хобот похож на большого червяка, червяки бывают... 😂
cooodiiiing
Переизобрели шаблонизаторы
Причем здесь шаблонизаторы. Шаблонизаторы это чисто от Мишы. Здесь суть в новых свойствах HTML тегов.
От произношения Ajax аж блять передернуло.
jsp, ты ли это?)
"Магия" на базе простого html и fetch. Кстати у меня дежавью.
Это уже было под названием SHTML. Только теперь запросы будут идти напрямую с браузера, а не с сервера как я понял.
Мое мнение - технологии быть. Но массовости в энтерпрайзе не будет.
Проблема всех таких библиотек, что ты не растешь как разработчик, а растешь как разработчик узконачравленной библиотеки. Лучше учить оригинальные языки программирования и библиотеки где нативно можно использовать возможности языка, а не запоминать спец. директивы или атрибуты библиотеки, иначе станете заложниками этих библиотек.
разумная мысль, но на определенном уровне (когда уже достаточно вырос) это пофиг
@@andynaz7044 Даже если мы выросли, откуда нам знать что в новой библиотеки за атрибуты. Все равно идти читать документацию. Да это займет меньше времени, но все равно зачем тратить время на узко направленную вещь. Если вместо этого ты можешь изучить алгоритмы, паттерны проектирования, технологии. и т.д.
🔥
Спасибо за видос, но режет слух произношение английских слов. Почему "раут"? Что это? Уже бы или на английский манер "рут" или как устоялось в русскоязычной среде "роут".
В американском английском говорят "раут" помимо "рут".
А вот "роут" как раз дичь :)
@@constantinegeist1854 Какое отношение американцы имеют к английскому вообще? Вы же не сверяете произношение русских слов с тем как их произносят, к примеру казахи изи украинцы. Речь идёт о термине, и приплетать сюда выговор каких-то народностей глупо. Чтобы тебя поняли, нужно произнести так, как к этому привыкли. И как бы вам ни казалось дичью, а в русскоговорящей среде устоялось произношение "роут". Почему американцы имеют право коверкать это слово, а мы нет?
@@EvgenOl Ну смотрите, это же вы начали задвигать про то, что "раут" режет слух. Хотя именно "роут" является коверканьем оригинального слова. При том что как раз-таки "раут" является стандартным произношением в американском английском, и присутствует в британском (но считается устаревшим). Напомню ещё раз, что тему про неправильное произношение подняли вы, мне-то пофиг. Когда я указал на вашу ошибку (в "раут" ничего плохого нет, а вот больше вопросов к "роут"), вы ответили полотном текста в защиту себя. Воинствующее невежество это называется :)
Миша об этой детской пока игрушке не сказал только ленивый.
htmX - программируем современный фронтенд, ломаем язык абревиатурами
Даже такое простое приложение не может написать без фреимворка.
htmx это не фронтенд. Опять про верстальщиков. К программироварию это не имеет никакого отношения.😂
Сколько из нас пишет сложные frontend приложения? Давайте будем честны 90% это формочки и таблички. Если вы пишете Фейсбук - тогда да, такую помойку только на реактах писать. Что еще, игры? Тоже мимо, для этого есть OpenGL, DirectX или на чем это все пишется сегодня.
Проблема в том, что даже с простой формой обратной связи htmx не справляется, модалка - проблема, кастомный селект - проблема, выбор файла - проблема, валидация - проблема
Ya ya, bonzhur
@@oWeRQ666 для того что вы перечислили вполне обоснованно использовать сторонние библиотеки, без них никуда. Нормальный загрузчик и модалка - без проблем выбираете что вам нравится и пользуйте библиотеку.
Здесь разговор больше про input/output и гораздо проще это делать "оттуда". А на клиенте уже вишенку на торт сами положите. Не надо с гаубицы лупить по воробьям
@@Markus-iq4sm больше библиотек богу библиотек! В итоге простая страничка в 10-20 килобайт html будет загружать сотни килобайт библиотек. При этом на странице из каждой библиотеки будет использоваться по 1-2 функции :)
это не новый виток, это реализация концепции ненавязчивого javascrpt, которую описали еще в 2002, реализаций таких подходов уже были и существуют до сих пор, один из примеров unpoly.js, turbo.js
Еще Pjax
Постоянно бесило и резало ухо как всё видео не мог сказать нормально две буквы. Неужели так сложно сказать ЭЙЧ ЭКС ?? И вообще какой смысл в этой новой "простой" библиотеке если есть старый добрый jQuery ? Как по мне, "шо то хуйня шо это хуйня" ))
Ещё такой момент.
Смотрю видосы на канале хацкеров . Они говорят, что всегда в своем браузере стараются отключить джс-скрипты, они знают насколько это тонкая штука, так как рассказывают, как делать джс, xss инъекции.
Они очень не любят джс на своих браузерах.
Как они тогда вообще вебом пользуются, даже нигде залогиниться не смогут 😂
Ну да
@@localhost666 , они в-основном в линуксе, в прогах.
А, если нужно воспользоваться интернет-магазином, то запасной ноут держат.
И вроде там джс необязателен формочки отрисовывает html, а запрос обрабатывается через бэкенд.
Подключаться к сети в общем опасно, настоящие хацкеры сидят на локалхосте
@@localhost666,
с соседского wi fi.
Но так делать не нужно.
Как раздуть из ничего целую науку? допустить толпы недодезОйнеров и недопрОграммеров до воплощения своих хотелок в фреймворках. Ура! Теперь у нас всё тормозит, лагает, мерцает, жрет кучу ресурсов и у нас агроменный зоопарк технологий. И несмотря на весь этот зоопарк - возможности очень ограничены. Это всё тот же текстовый вывод, таблички, дивы, прокрутка и прочие стандартные элементы, только усложненные в сотни и тысячи раз. А CAD систему всё равно на этом многообразии движков - не сделаешь. Ради чего вся эта мышиная возня? Ради одного - повышение значимости и стоимости работ разработчиков, которые делают ненужные рюшечки, делают то, что по сути ничего не улучшает, просто переделывают всё по сто раз и каждый раз естественно требуют за разработку оплату.
главное что без javascript / ага
Лучше бы придумали фронтенд без хтмл и цсс. Вот это реальное проклятие всех времен и народов. А логику хоть на расте можно писать, с компиляцией в вэб ассембли, если от жабоскрипта тошнит.
Интересно услышать альтернативы html и css, если не считать некоторого количества легаси, что можно существенно улучшить и где это сделано лучше?
@@oWeRQ666Та в том то и дело, что альтернатив то и нет. Не считая всякого наркоманства, которое предоставляет абстракции от хтмл и цсс, типа такого продукта жизнедеятельности мамонта как ExtJS, который как раз то самое легаси и сам по себе на порядки страшнее двух вышеупомянутых вместе взятых, который к тому же не избавляет на 100% от необходимости ковырять и одно и другое, что выливается в еще больший гемор, чем если бы все было написано вообще без него.
Ну есть еще Флаттер для вэба, на котором я как раз и пишу, но это скорее мультиплатформа, с известными проблемами со временем загрузки, с долбаным СЕО и прочим вэб-шлаком, и попробуй еще кого-то уговорить сделать фронт именно на нем. Хотя у меня с ним никаких проблем нет и свой стартап мы пишем именно на нем.
Так ведь вам никто не мешает подключить к пустой странице js-файл и создавать теги со стилями прямо в нём **trollface**
p.s.: причём вроде должно работать даже в пустом файле, если сначала создать document.body через createElement().
@@oWeRQ666Писал Вам развернутый ответ, долбаный ютуб или настройки коментов в канале все сожрали.
@@andreasstager1642 ну и слава богу
программист классный , а как учитель никакой 🙃😉
чел добрался до "хайп" трейна сомнительного инструмента и пытается всячески на этом паразитировать. Весело
Человек делает ознакомление, пример работы с инструментом, а вы пытаетесь это "обосрать", найдя подходящую причину.
Хайптрейн это альбом славыКПСС. А автор просто показал, смотрите что нашёл, мол инструмент есть такой, смотрите что он умеет делать
Кликбейт. КГ/АМ
Гошникам и джавистам всё равно платят больше :)
Музыка, под плохой микрофон === кровь из ушей
Честно очень сырой продукт. Очень непонятный и как это все тестировать тоже не понятно
можешь даже не исправлять произношение, это лишняя трата времени. все и так понимают, что ты имеешь ввиду HTMX и абсолютно не важно как ты это произносишь
У него правильное произношение
@@andytheV, он говорит XTMH, емае..
@@8followsonik он говорит "экс" в конце HTMX, всё ок
Что значит - тратить много времени на установку пакетов и зависимостей?😂. Это 2 минуты много времени?
Звук просто ужасный
Норм же
У Михаила всегда хороший звук.
СОмнительно. 1 - эту хрень нужно учить и бекендеру. 2 НЕ универсально. Мобилки с этого бека как json получит?. Да, понимаю, это для маленьких проектов. Ноо если ты +- знаешь во фронт, тебе не то что бы сложно будет развернуть приложение обычным способом. Ты просто будешь проще относиться к архитектуре.
Сомнительно
Для мобилки отдельное api запиливай, заточенное под них
@@constantinegeist1854 ну и вот казалось ты пытаешься упростить себе жизнь, а по итогу этого не происходит
route на самом деле произносится как рут)
/руут/ )
@@andynaz7044в американском английском допустим вариант "раут"
SSR + Websocket и все довольны
Программируем без јѕ на јѕ либе)
Что это? Гугл не находит
@@lozzka847 либа - library, т.е. библиотека
SVELTE сложный? Да хрен то там. По сравнению с react это прям конструктор лего.