LINUX.ORG.RU

JS фреймворк для фронтэнда с минимальным погружением

 , ,


3

5

Хочу написать простенькое веб-приложение для личного пользования, серверная часть для меня прозрачна и понятна, а вот с фронтэндом я в современных технологиях вообще не знаком.

Из поверхностного обзора веяний моды в этой области я узнал, что то, что я ищу, описывается термином single page application. В идеале, фреймворк должен взять на себя и визуальную составляющую, но если что, CSS я напишу сам.

Хочется сказать фреймворку: «Положи на DOM 4 кнопки, 2 списка, затем еще 3 кнопки. И пусть оно выглядит не совсем отвратительно.» Для каждого из элементов DOM прописать простенькую логику и повесить на события: сходи на сервер с таким запросом, из ответа возьми данные и замени контент там-то. Часть данных о состоянии для каждого элемента желательно хранить за пределами DOM, они нужны не пользователю, а чтобы составить правильное обращение к бэкэнду. Желательно иметь заготовки для чисто клиентских операций: сортировать список, фильтровать список и т.п.

На моем уровне знаний я бы сгенерировал DOM на стороне сервера, обмазал бы элементы коллбэками и для красоты взял бы CSS от Bootstrap. Но (а) это долго и скучно, (б) в результате получится хрупко и плохо читаемо, (в) я никуда не спешу и поэтому хочу сделать хорошо.

Обзор хелловорлдов для фреймворков из списка «Топ 10 баззвордов чтобы зашибать деньги на фрилансе» показал, что кашу они там заварили знатную, и вот это коричневое в ней - вряд ли шоколад. Поэтому прошу совета, с каким из фреймворков приятнее иметь дело для краткого и довольно дилетантского знакомства?

★★★
Ответ на: комментарий от anonymous

Да он в другом месте топит за jquery. Странный чувак. Сам же и приводил пруфы, что большинство сайтов продолжают использовать jquery. Почему нужно записываться в меньшинства неясно. Хейт jquery это самое странное явление в вебне. Маленькая либа, которая реально облегчает жизнь здесь и сейчас. Можно наговнокодить с ней, ну да. А на ванили нельзя что ли? Или на том же реакте. Умиляют конечно макаки жаждущие волшебного фреймворка, который докинет им мозгов и выпрямит руки.

anonymous
()
Ответ на: комментарий от anonymous

Хейт jquery это самое странное явление в вебне. Маленькая либа, которая реально облегчает жизнь здесь и сейчас

При чем тут хейт? Вы предлагаете использовать устаревший инструмент, я отвечаю, что он устарел. Ну он же устарел? Устарел. Да, на нем можно писать сайты. Но не нужно.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Маленькая либа, которая реально облегчает жизнь здесь и сейчас.

И реакт и вью весят меньше жквери, например, а упрощают жизнь куда сильнее.

anonymous
()
Ответ на: комментарий от anonymous

И реакт и вью весят меньше жквери, например, а упрощают жизнь куда сильнее

А отстствие библиотек весит еще меньше, и упрощает жизнь на маленьких проектах еще сильнее.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

А есть что нибудь для таблиц, кроме вот этого не «старья»? По функционалу datatables?

https://quasar.dev/vue-components/table

Подобных решений много, но они, как и databables, годятся только для достаточно банальных решений. Для чего-то более сложного есть продвинутые таблички на чистом JS, в том числе коммерческие: ag-Grid, AnyGrids, Backgrid. Их такими делают для того, чтобы можно было долго их разрабатывать, не парясь, какой там фреймворк стал популярным за последние два года.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

упрощает жизнь на маленьких проектах еще сильнее. Только в слусае прямых рук разработчика, при наличии которых и на проектах среднего размера 3rd-party dependicies не нужны. Вот только ты либо не знаешь, либо не уситываешь, что 95% людей идиоты и разрботчики в том числе, либо живешь в вымышленном мире.

Залача программирования не красивый код писать, а решать проблемы прелметной области. И вопрос эффективности этого решения вовсе не в качестве, а в стоимости и сроках.

anonymous
()
Ответ на: комментарий от byko3y

Вы предлагаете использовать устаревший инструмент

Ты как тот эксперт из баяна? Но нет, я верю, ты не такой. Но большинство именно такие.

anonymous
()
Ответ на: комментарий от anonymous

Вот только ты либо не знаешь, либо не уситываешь, что 95% людей идиоты и разрботчики в том числе, либо живешь в вымышленном мире

Серьезно?

www.linux.org.ru/search.jsp?q=95%&range=ALL&interval=ALL&user=byk...

Залача программирования не красивый код писать, а решать проблемы прелметной области. И вопрос эффективности этого решения вовсе не в качестве, а в стоимости и сроках

Ну вот у нас наняли индусов за еду, они уже пролюбили все сроки сдачи, которые только можно, и никакой React им не помог. Им гришь «у нас тут статичная страница, тут даже JS почти не нужно», а они тебе «ну как же, React — это надежно, быстро, расширяемо, переиспользуемо». Справедливости ради, научиться писать на JS для браузера реальные проекты не так просто, как научиться писать hello world и говнокод на JS. Впрочем, не менее сложно писать SSR на React/Vue/Svelte, чтобы это потом работало и на no-JS, и просто сразу грузилось у тех, у кого JS есть, и были ссылки нормальные на страницы.

Ну и что теперь, брать вообще кого попало на позицию разработчика? Если чел умеет хорошо писать на jQuery, но не может отбить дупля в реакте — хорошо, пусть пишет на jQuery. Правда, я хотел бы посмотреть на такого кодера, который бы сказал, что божит на jQuery, а современный ванильный JS его не устраивает. Обычно это все-таки необучаемый человек, который за пять лет не смог осилить ни одной новой технологии.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Ты как тот эксперт из баяна? Но нет, я верю, ты не такой. Но большинство именно такие

Чел отвратительно пишет, так диалоги между живыми мартышками не строятся. Он как бы подбрасывает сам себе фразу и сам ее ловит — это до неприятности заметно. Что он пытался показать таким образом — я так и не понял. Что много молодых технологий в JS? Это описано настолько гротескно, что даже не понятно: то ли он удивляет новыми технологиями, то ли аля reverse psychology пытается убедить в обратном. Я не согласен ни с одной из этих крайних позиций. ES2015 и новые фичи CSS, вроде Flexbox и Grid Layout — это огромный шаг вперед, поскольку до них фронтендеры харкали кровью. И именно потому сечас возникло заметно больше пространства для того, чтобы не использовать ни jQuery, ни React, а писать минимальное число динамики на ванильном JS, при необходимости транспилируя это дело в ES5-крипоту.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Там в гротескной форме описана вся суть фронтенда: хочешь показать данные в табличке, а тебе предлагают разгребать десяток слоев баззвордов. Потому что «сейчас все так носят». А через пару лет уже комок новых баззвордов слепили. Это очень далеко от инженерии, а больше похоже на мир высокой моды.

anonymous
()
Ответ на: комментарий от byko3y

Правда, я хотел бы посмотреть на такого кодера, который бы сказал, что божит на jQuery, а современный ванильный JS его не устраивает

Вы задолбали с предпосылкой, что все работают с чистого листа. Если у тебя уже этого жопоквери полные штаны, сфигали ли его и дальше не использовать? В совершенно новом проекте может и не стоит. Но опять же, начнутся головняки с совместимостью, полезут из всех щелей транспиляторы и прочий бред. И жоквери-плагины еще чем-то нужно будет заменять. Короче, никакого профита я не вижу. К тому же ванильку тебе никто не разрешит, а скорее всего впендюрят реакт (еще может и поверх существующего кода с жоквери, что вообще треш и угар).

anonymous
()
Ответ на: комментарий от anonymous

в гротескной форме описана вся суть фронтенда: хочешь показать данные в табличке, а тебе предлагают разгребать десяток слоев баззвордов

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

Когда тебе нужно просто коснуться поверхности, то ты просто качаешь NPM, и запускаешь:

npx create-react-app helloworld
cd helloworld
npm start

Всё, ты у мамки — фронтенд разработчик реакта.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Вы задолбали с предпосылкой, что все работают с чистого листа. Если у тебя уже этого жопоквери полные штаны, сфигали ли его и дальше не использовать?

Пф-ф-ф, если проект уже написан — о чем тут говорить? Это React и Vue плохо взаимодействует с другими фреймворками, а ванильному JS, jQuery, и даже Svelte как-то пофик вообще. Удивительно, но в проекте на jQuery можно применять ванильный JS — вот так сюрприз.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

За «просто показать данные в табличке» нужно было начинать убивать ещё во времена, когда это делалось на настольных тулкитах. В подавлющем большинстве случаев ТЗ по этим табличкам будет содержать всё, что умеют таблицы в отчётах яндекс метрики как минимум.

Princesska ★★★★
()
Ответ на: комментарий от Princesska

Кого именно убивать? Манагеров, заказчиков или макак? Я предлагаю сначала макак, которые колупаются по полгода со списками товаров и т.п. И оно потом нихера не работает как надо. А потом и манагеров, благодаря которым макаки потратили всё время на изучение и разгребание инфраструктуры и архитектуры.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.