Привет,
Вопрос новичка.
Изучаю web, и понравился bootstrap своей простотой (там, по сути, c с проектом нужно распространять всего один js и один css). Очень много доступных примеров разных контролов (многие дополнительно используют jquery).
Почему большинство страниц, даже небольших, сейчас делается на более сложных и тяжелых react/angular/vue? Каким образом они облегчают фронтенд разработку?
Re: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, Михaил, Вы писали:
М>Привет, М>Вопрос новичка. М>Изучаю web, и понравился bootstrap своей простотой (там, по сути, c с проектом нужно распространять всего один js и один css). Очень много доступных примеров разных контролов (многие дополнительно используют jquery). М>Почему большинство страниц, даже небольших, сейчас делается на более сложных и тяжелых react/angular/vue? Каким образом они облегчают фронтенд разработку?
Bootstrap это по сути ui, для дизайна. А для функционала используют Single page app. фреймворки типа react/angular/vue. Это не одно и тоже, они друг друга дополняют.
Кодом людям нужно помогать!
Re: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, Михaил, Вы писали:
М>Изучаю web, и понравился bootstrap своей простотой (там, по сути, c с проектом нужно распространять всего один js и один css). Очень много доступных примеров разных контролов (многие дополнительно используют jquery). М>Почему большинство страниц, даже небольших, сейчас делается на более сложных и тяжелых react/angular/vue? Каким образом они облегчают фронтенд разработку?
Они не вместо бутстрапа, они вместо jquery, если на пальцах.
Re: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, Михaил, Вы писали:
М>Почему большинство страниц, даже небольших, сейчас делается на более сложных и тяжелых react/angular/vue? Каким образом они облегчают фронтенд разработку?
Потому, что фронтенд в наши дни зачастую содержит очень много бизнес логики и интеракции. Очень часто бекенда как такового просто нет. react/angular/vue уже, из коробки, содержат в себе компонентный подход к архитектуре UI и берут на себя управление DOM'ом и деревом состояний компонентов. Bootstrap про то, как должен выглядеть интерфейс, react/angular/vue про его архитектуру под капотом.
Re: Что такого могут react/angular/vue, чего не может bootstrap4?
Малышев показывает небольшое веб-приложение. Размер приложения в gzip вместе с необходимым кодом из Svelte составляет всего 6,4 КБ: https://youtu.be/NvNe4nKmZT0?t=1583
Re: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, Михaил, Вы писали:
М>Привет, М>Вопрос новичка. М>Изучаю web, и понравился bootstrap своей простотой (там, по сути, c с проектом нужно распространять всего один js и один css). Очень много доступных примеров разных контролов (многие дополнительно используют jquery). М>Почему большинство страниц, даже небольших, сейчас делается на более сложных и тяжелых react/angular/vue? Каким образом они облегчают фронтенд разработку?
bootstrap — это интерфейс и дизайн. И немного js для оживления контролов.
react/angular/vue — это для сложной логики отображения — когда что показать или скрыть, переходы между разделами приложения, запрос-получение-обработка данных с сервера и т.д. Они не противопоставляются bootstrap и вполне могут сосуществовать вместе.
Re[2]: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, fmiracle, Вы писали:
F>bootstrap — это интерфейс и дизайн. И немного js для оживления контролов.
F>react/angular/vue — это для сложной логики отображения — когда что показать или скрыть, переходы между разделами приложения, запрос-получение-обработка данных с сервера и т.д. Они не противопоставляются bootstrap и вполне могут сосуществовать вместе.
но так как все вышеперечисленное, а также много еще чего есть уже в голом html-js то все они вместе уже не нужны
Re[3]: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, paradoks, Вы писали:
P>но так как все вышеперечисленное, а также много еще чего есть уже в голом html-js то все они вместе уже не нужны
С этим сложно спорить. Да, не нужны. Так же как не нужны все созданные людьми библиотеки и фреймворки — все можно сделать на голом тьюринг-полном языке. Но с библиотеками и фреймворками — проще и быстрее.
Re[4]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, fmiracle, Вы писали:
F>Здравствуйте, paradoks, Вы писали:
P>>но так как все вышеперечисленное, а также много еще чего есть уже в голом html-js то все они вместе уже не нужны
F>С этим сложно спорить. Да, не нужны. Так же как не нужны все созданные людьми библиотеки и фреймворки — все можно сделать на голом тьюринг-полном языке. Но с библиотеками и фреймворками — проще и быстрее.
а с чего проще то? аргументируй!
на счет быстрее — имхо все эти либы на js для js тормоза. Все теже возможности уже есть из коробки и реализован на с++
да было время когда фреймворки обгоняли и были будущим js/html/css, но, имхо, сейчас ситуация обратная — Фреймворки отстают все больше по фичам
разрастаются и, как следствие, все больше тормозят
про старые андроиды — на них неплатежеспособные нищеброды, для коммерческой разработки они НУЛИ.
И в тоже время iPhone 6 поддерживает все модерновые фичи,не говоря уж о 7 и старше
ну и еще скоро если не уже в просто не сможете распротранять апликухи для старых а знаит 32 битных андроидов через гугл-плэй
мне так уже вывесили плаху что надо все на 64 бит, или кранты, а это новые или старые, но мощные андроиды
то есть я хочу сказать что старые андроиды окончательно потеряют актуальность и делать для верстку бессмысленно
Здравствуйте, paradoks, Вы писали:
F>>bootstrap — это интерфейс и дизайн. И немного js для оживления контролов.
F>>react/angular/vue — это для сложной логики отображения — когда что показать или скрыть, переходы между разделами приложения, запрос-получение-обработка данных с сервера и т.д. Они не противопоставляются bootstrap и вполне могут сосуществовать вместе.
P>но так как все вышеперечисленное, а также много еще чего есть уже в голом html-js то все они вместе уже не нужны
Если можно, дилетантский вопрос: а разве объем кода при разработке веб-приложения без использования JavaScript-фреймворков не будет значительно больше, чем при их использовании? Ведь, по сути, разработчику придется написать велосипед свой собственный JavaScript-фреймворк...
Re[5]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, paradoks, Вы писали:
P>да было время когда рейворки обгонли и были будущим js, но, имхо, сейчас ситуация обратная — Фреймворки отстают все больше по фичам P>разрастаются и, как следствие, все больше тормозят
L>Если можно, дилетантский вопрос: а разве объем кода при разработке веб-приложения без использования JavaScript-фреймворков не будет значительно больше, чем при их использовании? Ведь, по сути, разработчику придется написать велосипед свой собственный JavaScript-фреймворк...
а зачем там что-то писать если все уже встроено из коробки?
(я про дизайн юзерского интерфейса, а не про моднявые алго-штучки и пр.ерунду)
Re[6]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, paradoks, Вы писали:
P>>да было время когда рейворки обгонли и были будущим js, но, имхо, сейчас ситуация обратная — Фреймворки отстают все больше по фичам P>>разрастаются и, как следствие, все больше тормозят
L>Напомню, выше
Здравствуйте, paradoks, Вы писали:
P>а зачем там что-то писать если все уже встроено из коробки? P>(я про дизайн юзерского интерфейса, а не про моднявые алго-штучки и пр.ерунду)
Попробую переформулировать вопрос: насколько больше кода придется написать при разработке достаточно сложного веб-приложения, если использовать vanilla JS? Если вопрос тупой, прошу извинить: я не волшебник программист, а только учусь.
Re[7]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, paradoks, Вы писали:
P>>а зачем там что-то писать если все уже встроено из коробки? P>>(я про дизайн юзерского интерфейса, а не про моднявые алго-штучки и пр.ерунду)
L>Попробую переформулировать вопрос: насколько больше кода придется написать при разработке достаточно сложного веб-приложения, если использовать vanilla JS? Если вопрос тупой, прошу извинить: я не волшебник программист, а только учусь.
имхо нииболее сложные ГУИ я вдел и частично програмил в играх, там всякие Фреймворки это сразу смерть проекта из-за тормозов
и вечной путаницы с вериями фреймв и кто с кем совместим и нет
квалиф чтобы изучить js-html-css среднему программисту как правило хватает с запасом
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, paradoks, Вы писали:
P>>а зачем там что-то писать если все уже встроено из коробки? P>>(я про дизайн юзерского интерфейса, а не про моднявые алго-штучки и пр.ерунду)
L>Попробую переформулировать вопрос: насколько больше кода придется написать при разработке достаточно сложного веб-приложения, если использовать vanilla JS? Если вопрос тупой, прошу извинить: я не волшебник программист, а только учусь.
В разы больше. Сейчас без ангуляраподобных фреймворков этого никто не делает. Для ангуляра 2.0 уже говорят даже jquery не нужен, все есть изкаропки.
Кодом людям нужно помогать!
Re[7]: Что такого могут react/angular/vue, чего не может bootstrap4?
Здравствуйте, Sharov, Вы писали:
L>>Попробую переформулировать вопрос: насколько больше кода придется написать при разработке достаточно сложного веб-приложения, если использовать vanilla JS? Если вопрос тупой, прошу извинить: я не волшебник программист, а только учусь.
S>В разы больше. Сейчас без ангуляраподобных фреймворков этого никто не делает. Для ангуляра 2.0 уже говорят даже jquery не нужен, все есть изкаропки.
Здравствуйте, Lazytech, Вы писали:
L>Попробую переформулировать вопрос: насколько больше кода придется написать при разработке достаточно сложного веб-приложения, если использовать vanilla JS? Если вопрос тупой, прошу извинить: я не волшебник программист, а только учусь.
Если нужна интерактивность, сравнимая с десктопом (взаимодействующие друг с другом странички, кнопочки, чекбоксы, списки, таблички и т.п.), то голый JS — это огромное количество лапшеобразного кода.
Поэтому наличие фреймворка в таких случая просто необходимо. Рекомендую Vue.
Best regards, Буравчик
Re[7]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, Буравчик, Вы писали:
Б>Если нужна интерактивность, сравнимая с десктопом (взаимодействующие друг с другом странички, кнопочки, чекбоксы, списки, таблички и т.п.), то голый JS — это огромное количество лапшеобразного кода. Б>Поэтому наличие фреймворка в таких случая просто необходимо. Рекомендую Vue.
Понятно. Справедливости ради скажу, что есть разные мнения касательно использования фреймворков. Так, несколько недель назад прочитал статью бывшего ведущего разработчика (имя забыл ) популярного JavaScript-фреймворка (название тоже забыл ), который почему-то разочаровался во фреймворках. Помню еще другую его статью про разработанную им на чистом JS программу (что-то вроде виртуального пианино), но сейчас не смог навскидку ее нагуглить, а ссылку, увы, не сохранил...
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, Буравчик, Вы писали:
Б>>Если нужна интерактивность, сравнимая с десктопом (взаимодействующие друг с другом странички, кнопочки, чекбоксы, списки, таблички и т.п.),
то голый JS — это огромное количество лапшеобразного кода.
ну что за чушь, как может программер такую чушь писать... откуда лапша? кто тебе мешает все структурировать, разбить на модули и компоненты
все инcтрументы для этого есть из коробки без фреймворков
Б>>Поэтому наличие фреймворка в таких случая просто необходимо.
нет. они не нужны.
Re[9]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, paradoks, Вы писали:
Б>>>Если нужна интерактивность, сравнимая с десктопом (взаимодействующие друг с другом странички, кнопочки, чекбоксы, списки, таблички и т.п.), P>то голый JS — это огромное количество лапшеобразного кода.
P>ну что за чушь, как может программер такую чушь писать... откуда лапша? кто тебе мешает все структурировать, разбить на модули и компоненты P>все инcтрументы для этого есть из коробки без фреймворков
Разве это не означает, что разработчик, по сути, создает свой фреймворк? (Я-то не против, но в общем случае это лишняя работа.)
Здравствуйте, Lazytech, Вы писали:
L>Разве это не означает, что разработчик, по сути, создает свой фреймворк? (Я-то не против, но в общем случае это лишняя работа.)
L>P.S. Нашел статью, автор которой не рекомендует использовать фреймворки: L>Why You Shouldn't Use A Web Framework — DEV Community 👩💻👨💻
Очевидно, что если вы гуру, то можете и без фреймворка справиться. А если начинающий, и надо сделать аппликацию, то лучше какой-нибудь фреймворк использовать.
Но да, в целях оптимизации, продвинутые люди могут их выпиливать и делать свое решение.
Кодом людям нужно помогать!
Re[11]: Что такого могут react/angular/vue, чего не может bo
Здравствуйте, Sharov, Вы писали:
S>Но да, в целях оптимизации, продвинутые люди могут их выпиливать и делать свое решение.
имхо JS-ФРЕЙМВОРК ЭТО НЕЧТО НАВЯЗЫВАЩЕЕ свою крайне оригинальную идеологию в корне отличную от исходной концепции DOM/css/html/js
пару лет назад это аргументировалось тем, что этого (реактивность компоненты и тд) нет в JS
но теперь есть и это навязывание доп. извращений выглядит извращением
имхо правильные либы и тд не навязывают идеологий, а решают прикладные задачи в рамках стандарта
Здравствуйте, Sharov, Вы писали:
S>Очевидно, что если вы гуру, то можете и без фреймворка справиться. А если начинающий, и надо сделать аппликацию, то лучше какой-нибудь фреймворк использовать. S>Но да, в целях оптимизации, продвинутые люди могут их выпиливать и делать свое решение.
В общем, лучше без фанатизма.
Re[12]: Что такого могут react/angular/vue, чего не может bo
Здравствуйте, paradoks, Вы писали:
P>имхо JS-ФРЕЙМВОРК ЭТО НЕЧТО НАВЯЗЫВАЩЕЕ свою крайне оригинальную идеологию в корне отличную от исходной концепции DOM/css/html/js
В компонентах Vue вполне четко разделяется html/js/css и соответствует исходной концепции.
P>пару лет назад это аргументировалось тем, что этого (реактивность компоненты и тд) нет в JS P>но теперь есть и это навязывание доп. извращений выглядит извращением
Поддержки реактивности нет. А она очень-очень помогает.
P>имхо правильные либы и тд не навязывают идеологий, а решают прикладные задачи в рамках стандарта
Любая либа навязывает. Да, фреймворки больше навязывают, но только для того, чтобы упростить еще более сложные вещи.
Best regards, Буравчик
Re[9]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, paradoks, Вы писали:
P>ну что за чушь, как может программер такую чушь писать... откуда лапша? кто тебе мешает все структурировать, разбить на модули и компоненты P>все инcтрументы для этого есть из коробки без фреймворков
Ну можно написать велосипед: реактивность, роутинг, движок шаблонов и многое другое, что есть в фреймворках.
И не забыть это все отладить и оптимизировать.
Б>>>Поэтому наличие фреймворка в таких случая просто необходимо. P>нет. они не нужны.
Тебе не нужны, мне нужны.
С фреймворком разработка получается сильно быстрее.
Best regards, Буравчик
Re[10]: Что такого могут react/angular/vue, чего не может boo
Скажите, а чем все эти фреймворки лучше jQuery?
Под веб не пишу почти, разве что простые веб-админки для личных нужд. Раньше использовал jQuery, но сейчас вижу тенденцию к его исчезновению (точнее, что он "тяжелый" "немодный" и все такое). Типа пишите на чистом жс. Ну на чистом так на чистом, чистый код это всегда хорошо — но почему-то эти же аполлогеты пишут про еще более тяжелые реакты и прочий шлак. jQuery это, по факту, подключаемая библиотека,хочу делаю через нее, а хочу — кусок важного кода написал на чистом. А все эти фреймворки такого вроде как не позволяют.
Re[13]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, morgot, Вы писали:
M>Скажите, а чем все эти фреймворки лучше jQuery?
Отвечу на правах новичка в веб-разработке и вообще в программировании.
Насколько я понимаю, jQuery — библиотека, которая когда-то была популярной благодаря потому, что позволяла писать меньше кода (например, за счет использования более коротких операторов jQuery взамен тех, что предоставлял тогдашний JS). Однако с выходом ES6 ситуация заметно изменилась, причем не в пользу jQuery. По идее, сравнивать современные фреймворки с jQuery, если речь идет о мало-мальски сложном проекте, теперь не имеет особого смысла.
M>Под веб не пишу почти, разве что простые веб-админки для личных нужд. Раньше использовал jQuery, но сейчас вижу тенденцию к его исчезновению (точнее, что он "тяжелый" "немодный" и все такое). Типа пишите на чистом жс. Ну на чистом так на чистом, чистый код это всегда хорошо — но почему-то эти же аполлогеты пишут про еще более тяжелые реакты и прочий шлак. jQuery это, по факту, подключаемая библиотека,хочу делаю через нее, а хочу — кусок важного кода написал на чистом. А все эти фреймворки такого вроде как не позволяют.
Во-первых, не все фреймворки одинаково тяжелые; к примеру, выше я упоминал «исчезающий фреймворк» Svelte (ссылка на русскоязычный раздел оф. сайта). Во-вторых, далеко не все фреймворки жестко навязывают свой стиль (бывают opinionated, а бывают не очень).
Re[13]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, morgot, Вы писали:
m> Скажите, а чем все эти фреймворки лучше jQuery? m> Под веб не пишу почти, разве что простые веб-админки для личных нужд. Раньше использовал jQuery, но сейчас вижу тенденцию к его исчезновению (точнее, что он "тяжелый" "немодный" и все такое). Типа пишите на чистом жс. Ну на чистом так на чистом, чистый код это всегда хорошо — но почему-то эти же аполлогеты пишут про еще более тяжелые реакты и прочий шлак. jQuery это, по факту, подключаемая библиотека,хочу делаю через нее, а хочу — кусок важного кода написал на чистом. А все эти фреймворки такого вроде как не позволяют.
Погляди на mithril.js — маленькая библиотека, а не фреймворк-всемогутер. Как замена jQuery самое то.
Здравствуйте, Lazytech, Вы писали:
L>Если можно, дилетантский вопрос: а разве объем кода при разработке веб-приложения без использования JavaScript-фреймворков не будет значительно больше, чем при их использовании? Ведь, по сути, разработчику придется написать велосипед свой собственный JavaScript-фреймворк...
Не придется. В этих фреймворках только 20% кода используется (в простых приложениях еще меньше), а остальное идет в нагрузку, на всякий случай; их разработчики не слышали про принцип "не платить за то, что не используешь".
Вот время разработки они могут серьезно сократить, но объем кода останется чрезмерным.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[5]: Что такого могут react/angular/vue, чего не может boo
Здравствуйте, Ops, Вы писали:
Ops>Не придется. В этих фреймворках только 20% кода используется (в простых приложениях еще меньше), а остальное идет в нагрузку, на всякий случай; их разработчики не слышали про принцип "не платить за то, что не используешь".
Разработчики некоторых фреймворков слышали про этот принцип.
Ops>Вот время разработки они могут серьезно сократить, но объем кода останется чрезмерным.
К счастью, не всегда (по крайней мере, если использовать определенные фреймворки).
P.S. Малость повторился.
P.P.S. Дабы не быть голословным, приведу конкретный пример. Недавно в качестве пробы сил сделал пару простеньких игр (крестики-нолики и морской бой) с использованием фреймворка Svelte.
Суммарный размер дюжины файлов-исходников в формате .svelte (внутри — JavaScript, HTML и CSS) и .js — приблизительно 99 КБ. Внутри файлов .svelte пока много закомментированного кода и есть малополезные функции. После удаления ненужного кода размер файлов может уменьшиться на 10-20%. Исходя из этого, оцениваю объем полезного кода в 80-90 КБ.
Команда npm run build сгенерировала минифицированные файлы bundle.js (50 КБ) и bundle.css (6 КБ), а также файлы bundle.js.map (225 КБ) и bundle.css.map (101 КБ). В сумме — приблизительно 382 КБ. При упаковке всех этих файлов в архив Zip получился файл размером около 90 КБ; полагаю, архив gzip получился бы примерно такого же размера.
Есть еще пара мелких файликов, а именно index.html (0,4 КБ) и global.css (1 КБ), но в данном случае их размером можно пренебречь.
Здравствуйте, morgot, Вы писали:
M>Скажите, а чем все эти фреймворки лучше jQuery? M>Под веб не пишу почти, разве что простые веб-админки для личных нужд. Раньше использовал jQuery, но сейчас вижу тенденцию к его исчезновению (точнее, что он "тяжелый" "немодный" и все такое). Типа пишите на чистом жс. Ну на чистом так на чистом, чистый код это всегда хорошо — но почему-то эти же аполлогеты пишут про еще более тяжелые реакты и прочий шлак. jQuery это, по факту, подключаемая библиотека,хочу делаю через нее, а хочу — кусок важного кода написал на чистом. А все эти фреймворки такого вроде как не позволяют.
Ну jQuery сейчас практически полностью интегрировали в javascript. querySelector и прочая, которых не было, когда изобрели jQuery.
То есть, если сейчас писать на jQuery будет примерно то же самое что и на "голом" жаваскрипте. Зачем тогда jQuery спрашивается.
Для фреймворков типа angular/react/vue оно не конкурент,
поскольку они дают как минимум некие шаблоны или механизмы для генерации разметки, чего в jQuery или голом javascript вообще нет.