вобщем, периодически возникает необходимость запилить небольшой сайт. Порекомендуйте чего-нибудь для фронта и бека исходя из ограничений ниже.
Фронт (чем больше совпадений — тем идеальней):
+ стандартный набор UI-компонентов
+ IDE с визуальным дизайном
+ наличие шаблонов/стилей в интернетах (включая коммерческих)
+ компиляция либо в статику, либо в JS (без необходимости тащить натив)
+ легкая интеграция с беком
Бек:
+ unix-based deployment
+ наличие компонент, чтобы не приходилось пилить свой oauth2
Сейчас приходится пользоваться кашей на основе laravel + vue/vuex, которое частично делают подрядчики, но хотелось бы что-то легкое и для людей. Я уже старый и у меня от вью мозг рвет (равно как и от верстки на дивах). А ларавель, имхо, тяжеловат для простых задач.
pva>вобщем, периодически возникает необходимость запилить небольшой сайт. Порекомендуйте чего-нибудь для фронта и бека исходя из ограничений ниже. pva>Фронт (чем больше совпадений — тем идеальней): pva> + стандартный набор UI-компонентов pva> + IDE с визуальным дизайном pva> + наличие шаблонов/стилей в интернетах (включая коммерческих) pva> + компиляция либо в статику, либо в JS (без необходимости тащить натив) pva> + легкая интеграция с беком
Я бы посмотрел в сторону Angular и ExtJS.
pva>Бек: pva> + unix-based deployment pva> + наличие компонент, чтобы не приходилось пилить свой oauth2
Здравствуйте, vsb, Вы писали:
vsb>Я бы посмотрел в сторону Angular и ExtJS.
IMHO это кровавый энтерпрайз что ППЦ (мегабайты всякой хрени, реактивные контейнеры-декораторы-директивы), для "небольших сайтов" малопригодно
Разумного к сожалению ничего предложить не могу, самому интересно есть ли что-то, что соответствовало бы озвученным пунктам.
Здравствуйте, pva, Вы писали:
pva>вобщем, периодически возникает необходимость запилить небольшой сайт. Порекомендуйте чего-нибудь для фронта и бека исходя из ограничений ниже. pva>Фронт (чем больше совпадений — тем идеальней): pva> + стандартный набор UI-компонентов pva> + IDE с визуальным дизайном pva> + наличие шаблонов/стилей в интернетах (включая коммерческих) pva> + компиляция либо в статику, либо в JS (без необходимости тащить натив) pva> + легкая интеграция с беком
Вроде для фронта нынче модно использовать связку React + Material-UI.
pva>Бек: pva> + unix-based deployment pva> + наличие компонент, чтобы не приходилось пилить свой oauth2
Здравствуйте, bnk, Вы писали:
vsb>>Я бы посмотрел в сторону Angular и ExtJS.
bnk>IMHO это кровавый энтерпрайз что ППЦ (мегабайты всякой хрени, реактивные контейнеры-декораторы-директивы), для "небольших сайтов" малопригодно
Простые вещи и там делаются просто. Мегабайтов нет, сотни килобайтов. Не идеально, но в современном интернете не выглядит чем-то страшным.
bnk>Разумного к сожалению ничего предложить не могу, самому интересно есть ли что-то, что соответствовало бы озвученным пунктам.
Здравствуйте, vsb, Вы писали:
bnk>>IMHO это кровавый энтерпрайз что ППЦ (мегабайты всякой хрени, реактивные контейнеры-декораторы-директивы), для "небольших сайтов" малопригодно
vsb>Простые вещи и там делаются просто. Мегабайтов нет, сотни килобайтов. Не идеально, но в современном интернете не выглядит чем-то страшным.
Да ладно. Его даже не запустить без жирнючего тулсета (там же тайпскпипт)
Здравствуйте, bnk, Вы писали:
bnk>>>IMHO это кровавый энтерпрайз что ППЦ (мегабайты всякой хрени, реактивные контейнеры-декораторы-директивы), для "небольших сайтов" малопригодно
vsb>>Простые вещи и там делаются просто. Мегабайтов нет, сотни килобайтов. Не идеально, но в современном интернете не выглядит чем-то страшным.
bnk>Да ладно. Его даже не запустить без жирнючего тулсета (там же тайпскпипт)
Ну щас всё на ноде. Пару команд вбиваешь и оно всё само скачивается/ставится.
Здравствуйте, The Minister, Вы писали:
TM>WordPress же, не?
ВП слишком много дорабатывать напильником нужно. Там же фронт гвоздями прибит к беку, не?
Простой юзкейс: вывести таблицу по выборке из монгодб. Бек должен сделать запрос к монго и плюнуть джсон фронту. Фронт должен визуализировать таблицу. Пейджинг, сортировки в колонках и фильтры опционально.
Здравствуйте, vsb, Вы писали:
bnk>>Да ладно. Его даже не запустить без жирнючего тулсета (там же тайпскпипт)
vsb>Ну щас всё на ноде. Пару команд вбиваешь и оно всё само скачивается/ставится.
Для react/vue вполне себе достаточно <script src="..." >.
IMHO, невозможность так сделать уже говорит о том, что фреймворк тяжелый.
По моему опыту, Angular самый замороченный, с наибольшим количеством "магии" в виде zone.js (rxjs тоже не подарок, но это так)
Здравствуйте, Lazytech, Вы писали:
L>Вроде для фронта нынче модно использовать связку React + Material-UI.
Вероятно, да. Еще бы поддержку в IDE каком чтоб можно было дизайнить нормально.
pva>>Бек: L>Возможно, Express.js сгодится? Что касается OAuth 2, на Node.js вроде есть из чего выбирать. L>Если ошибаюсь, пусть меня поправят.
JS на беке? И как он в плане производительности и поддерживаемости?
Я бы предпочел по старинке пых.
Здравствуйте, pva, Вы писали:
L>>Если ошибаюсь, пусть меня поправят. pva>JS на беке? И как он в плане производительности и поддерживаемости?
Это сейчас отраслевой стандарт для малых и средних по нагрузке серверов. pva>Я бы предпочел по старинке пых.
Так уже никто не делает.
Здравствуйте, bnk, Вы писали:
bnk>Для react/vue вполне себе достаточно <script src="..." >.
Непонятно, зачем так делать, если в простейшем случае можно отправлять на клиент всё в одном бандле. Можно еще, к примеру, мелкие картинки внедрить в HTML-страницу, чтобы немного ускорить загрузку на клиенте за счет снижения количества мелких обращений к серверу. Думаю, без использования Node.js сделать это будет несколько сложнее.
P.S. Похоже, кому-то мой подход (конечно, я не сам его придумал) кажется неправильным. Аргументация будет, или ограничимся минусом и смайликом?
Здравствуйте, Lazytech, Вы писали:
bnk>>Для react/vue вполне себе достаточно <script src="..." >. L>Непонятно, зачем так делать, если в простейшем случае можно отправлять на клиент всё в одном бандле. Можно еще, к примеру,
Загрузить с медленного сервера мегабайт бандла — или 50 кило осмысленного текста, а остальное взять с быстрого CDN или вообще из кеша?
Изначально именно на такую схему было ориентировано.
Это в последнее время началась (пока ненавязчивая) пропаганда отказа от CDN
Здравствуйте, pva, Вы писали:
pva>Вероятно, да. Еще бы поддержку в IDE каком чтоб можно было дизайнить нормально.
По идее, в наше время дизайном занимаются специально обученные люди, которые плюются от одного упоминания WYSIWYG. Разве что нейросетку прикрутить.
pva>JS на беке? И как он в плане производительности и поддерживаемости? pva>Я бы предпочел по старинке пых.
Насколько я понимаю, PHP обеспечивает более высокую производительность и универсальность, тогда как Node.js в ряде случаев может быть проще в разработке и сопровождении. К примеру, сегодня на YouTube стримилась беседа Сергея Немчинского с Николаем Алименковым, где последний очень ругал Node.js, помимо прочего, за непригодность для энтерпрайза, и, в частности, для банков.
Здравствуйте, DenisCh, Вы писали:
DC>Загрузить с медленного сервера мегабайт бандла — или 50 кило осмысленного текста, а остальное взять с быстрого CDN или вообще из кеша?
При таком подходе надо срочно переходить на Svelte, там вообще кода кот наплакал.
DC>Изначально именно на такую схему было ориентировано. DC>Это в последнее время началась (пока ненавязчивая) пропаганда отказа от CDN
В наше время скорость доступа к Интернету обычно достаточно высока не только на компе, но и на мобильнике. Если за счет использования бандла можно уменьшить общее число обращений к серверу, почему бы и нет. А кеш вроде никто не отменял, бандл же будет содержать только относительно редко изменяемые данные, включая код на JavaScript.
Здравствуйте, Lazytech, Вы писали:
bnk>>Для react/vue вполне себе достаточно <script src="..." >.
L>Непонятно, зачем так делать, если в простейшем случае можно отправлять на клиент всё в одном бандле. Можно еще, к примеру, мелкие картинки внедрить в HTML-страницу, чтобы немного ускорить загрузку на клиенте за счет снижения количества мелких обращений к серверу. Думаю, без использования Node.js сделать это будет несколько сложнее.
Я же не говорю что так надо делать
IMHO, это просто индикатор сложности фреймворка, если для того, чтобы написать Hell World, надо сначала настроить кучу всякой хренотени.
И "полдня потерять, зато потом за пять минут долететь" тут не работает. Тот же zone.js в Angular это imho на уровне магии, а от нее в разработке я как-то предпочитаю держаться подальше.
Здравствуйте, bnk, Вы писали:
bnk>Я же не говорю что так надо делать bnk>IMHO, это просто индикатор сложности фреймворка, если для того, чтобы написать Hell World, надо сначала настроить кучу всякой хренотени. bnk>И "полдня потерять, зато потом за пять минут долететь" тут не работает. Тот же zone.js в Angular это imho на уровне магии, а от нее в разработке я как-то предпочитаю держаться подальше.
Когда-то я по наивности считал фреймворк Svelte простым не только в изучении, но и в использовании, а React, соответственно, сложным в обоих отношениях и, помимо того, не слишком удобным, потому что надо писать много boilerplate-кода. А на поверку оказалось, что React в некоторых отношениях использовать даже проще, чем Svelte. К примеру, если при использовании React можно просто взять какую-нибудь готовую мегапопулярную библиотеку и подключить к проекту, то в случае Svelte может получиться так, что либо нужной библиотеки не существует, либо она полусырая и глючная (причем об этом, разумеется, автор библиотеки не предупреждает). Смутно подозреваю, что современный Angular в некоторых отношениях может быть даже проще, чем React.
Здравствуйте, Lazytech, Вы писали:
L>В наше время скорость доступа к Интернету обычно достаточно высока не только на компе, но и на мобильнике. Если за счет использования бандла можно уменьшить общее число обращений к серверу, почему бы и нет. А кеш вроде никто не отменял, бандл же будет содержать только относительно редко изменяемые данные, включая код на JavaScript.
Бандл — это один файл. Если не принимать специальных мер... И в нём всё — и библиотека, и твой код. Иногда туда даже картинки упаковывают...
Здравствуйте, Lazytech, Вы писали:
pva>>Вероятно, да. Еще бы поддержку в IDE каком чтоб можно было дизайнить нормально. L>По идее, в наше время дизайном занимаются специально обученные люди, которые плюются от одного упоминания WYSIWYG. Разве что нейросетку прикрутить.
Специально обученные люди (подрядчики) выдают такой результат что у меня кровь из глаз. Да и опять же, не поверю что прям весь спектр сайтов нынче создается через дизайн специальными людьми, с порезкой и версткой специальными людьми. Оно бы стоило космос.
Ресерчу вопрос Angular vs React vs Vue.
Пока по обзорам лидирует Вью, но в плане композиции кода понравился Реакт. Вместо Material UI нашел ant.design от братьев наших меньших. Было бы интересно услышать ваши отзывы, если кто сталкивался с оным.
pva>>JS на беке? И как он в плане производительности и поддерживаемости? pva>>Я бы предпочел по старинке пых. L>Насколько я понимаю, PHP обеспечивает более высокую производительность и универсальность, тогда как Node.js в ряде случаев может быть проще в разработке и сопровождении.
Насколько я нашел по обзорам, то производительность и у ноды сносная. Но пых у меня подручный инструмент уже лет 10+, а серверную ноду прийдется осваивать почти с нуля.
L>К примеру, сегодня на YouTube стримилась беседа Сергея Немчинского с Николаем Алименковым, где последний очень ругал Node.js, помимо прочего, за непригодность для энтерпрайза, и, в частности, для банков.
Мне энтерпрайз не нужен. Мне нужен простой набор для создания фронта с как можно больших покрытием по поддерживаемому зоопарку устройств + простой бек с набором часто используемых модулей/функций (например, в полпинка реализовать аутентификацию/авторизацию пользователей; ролевую модель доступа; КРУД; работу с разными БД и прочее). Для бека сойдет и ларавель, но думал может что есть полегче.
Здравствуйте, DenisCh, Вы писали:
DC>Бандл — это один файл. Если не принимать специальных мер... И в нём всё — и библиотека, и твой код. Иногда туда даже картинки упаковывают...
Так и я о том же. Разумеется, упаковывать картинки имеет смысл лишь в случае, если они достаточно мелкие (скажем, ~1 кБ) и при том являются неотъемлемой частью сайта. А разбить один тяжелый бандл на несколько в том же Webpack вроде не проблема.
Здравствуйте, pva, Вы писали:
pva>Специально обученные люди (подрядчики) выдают такой результат что у меня кровь из глаз. Да и опять же, не поверю что прям весь спектр сайтов нынче создается через дизайн специальными людьми, с порезкой и версткой специальными людьми. Оно бы стоило космос.
По идее, есть куча типовых решений на все случаи жизни, да и вообще веб-дизайнеры не то, чтобы космические деньги зарабатывают.
pva>Ресерчу вопрос Angular vs React vs Vue. pva>Пока по обзорам лидирует Вью, но в плане композиции кода понравился Реакт. Вместо Material UI нашел ant.design от братьев наших меньших. Было бы интересно услышать ваши отзывы, если кто сталкивался с оным.
Насчет развития Vue ничего сказать не могу, а вот React, как мне кажется, движется в правильном направлении: введенные пару лет назад хуки упрощают разработку и уменьшают объем boilerplate-кода. Что касается Ant Design, сначала было подумал, что название образовано от имени «Антон» или фамилии «Антонов», а его, оказывается, как и Vue, китайцы делают.
pva>Насколько я нашел по обзорам, то производительность и у ноды сносная. Но пых у меня подручный инструмент уже лет 10+, а серверную ноду прийдется осваивать почти с нуля.
В таком случае, наверное, получается замена шила на мыло.
pva>Мне энтерпрайз не нужен. Мне нужен простой набор для создания фронта с как можно больших покрытием по поддерживаемому зоопарку устройств + простой бек с набором часто используемых модулей/функций (например, в полпинка реализовать аутентификацию/авторизацию пользователей; ролевую модель доступа; КРУД; работу с разными БД и прочее). Для бека сойдет и ларавель, но думал может что есть полегче.
Может, специалисты по Django объявятся и захотят прокомментировать...