Здравствуйте, 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 вообще нет.