JavaScript

Js фреймворки, что полезного можно для себя найти?

Всем привет)

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

Я в своих проектах использую bootstrap, он мне дает возможность быстро создавать годный, красивый и главное кроссбраузерный интерфейс. Раньше, до знакомства с этим фреймворком, времени на разработку такого интерфейса уходило в разы больше. Все остальное, аякс обработку форм, нестандартное отображение информации, делаю с использованием jquery, или нативного js (если важна производительность). От сюда вопрос, зачем нужны другие фреймворки, типа angular, backbone, react и прочие? Что они могут предложить лучшего по сравнению с тем же bootstrap, и чем ускорить и облегчить процесс разработки?

Я сам не являюсь frontend разработчиком, но так как работал больше всего в компаниях, где идет разработка внутренних проектов, а не на потоке, то занимался всегда разработкой приложения от и до, то есть и фронтенд и бекенд. Чаще всего не фреймворке Yii2.

Меня просто интересует, может ли мне принести, что-то полезное изучение какого-либо из популярных сейчас js фреймворков? Или это пустая трата времени и bootstrap вполне достаточно?

И еще, я слышал, что вроде с использованием того же angular можно вообще писать без использования других серверных языков. Типа не нужно париться с изучением и серверной и клиентской части. Это реально так? А работа с базами данных ложится тогда, получается, на NoSQL? Или там как-то можно с той же MySQL базой взаимодействовать?

И последний вопрос, касательно MVC. Как вообще понимать MVC в JS. Обычное использование js в проекте подразумевает - Допустим мне нужно при нажатии на какой-то элемент сделать, что-то, я пишу просто код в js и подключаю этот файлик. Все. А тут получается нужно создавать некую структуру, а не один файл и подключать ее? Или как? В php все понятно. А что в js из себя представляет модель скажем и предстваление?

Спасибо)
Буду благодарен и за ссылки на хорошие статьи по теме)
Sherzod Kasimov
Sherzod Kasimov
336
Да просто легче в них работать чем в чистом JS. Библиотека берет на себя манипуляции с циклами, переборами тэгов, проблемы с браузерами. К тому же в Javascript много типичных задач. Элементы можно выбирать более гибко, поскольку всё основано на css-селекторах, выбор элемента страницы основан на css.
В чистом JS если нужно отобрать элемент который содержит какой-то класс придется в цикле перебрать все тэги страницы, внутри этого цикла создать еще один цикл, который будет перебирать конкретный тэг и его свойства, если найдет свойство класс должен будет проверить соответствует ли этот класс тому что мы указали, и если соответствует, то поместить этот элемент в итоговый массив.
Неизвестно Неизвестно
Неизвестно Неизвестно
70 347
Лучший ответ
Sherzod Kasimov Это понятно. Поэтому я и написал, что нативный js используется только там, где производительность нужна большая. А я то пользуюсь такими фреймворками как jquery и bootstrap. Вопрос в другом. Я про масштабные фреймворки, типа angular. Есть проекты которые пишут целиком на js, без серверных языков, типа php или питона. Вот мне и интересно, на сколько это актуально. Вобщем-то я список вопросов предоставил в самом теле вопроса D
Бутстрап это набор готовых стилей для элементов, грид фреймворк и несколько жс плагинов. Сляпать что-то непритязательное по быстрому сгодится, не более. Если нужен дизайн какой смысл брать бутстрап, чтобы на каждом шагу его стили переопределять? Грид мало и нечасто где нужен, нет смысла тащить сторонние классы чтобы сделать простые вещи.
Бутстрап никак не решает проблему постоения ДИНАМИЧЕСКИХ интерфейсов. А это и есть самая жопа во фронтенде. Как ты решишь проблему синхронизации состояния между js и страницей? Ну навесил жеквери листнер, ага, ну два, ну где-то свойства поменял или создал ноду из строки. А если у тебя в приложении 100500 кнопкок, форм, полей, все это опять же динамически изменяется? Жеквери лапша мгновенно станет дико связанной и неподдерживаемой. Эту фундаментальную проблему и решают жс фреймворки оптимизируя изменения DOM дерева и состояния между js приложением и страницей.
Sherzod Kasimov Привет)
Я просто не профессиональный фронтенд разработчик, от сюда и вопросы. Я вот разрабатываю блоги, магазины, форумы разные. Пока не встречал ни одной задачи, где были бы какие-то проблемы со всем этим. На стороне сервера есть MVC структура, js скрипты выполняют роль, типа отправить форму через аякс или показать сообщение типа complete. Иногда там выполнить действие с бд без перезагрузки страницы. Нужные файлы подключаем в модуле и все работает. То есть я не говорю про single page приложения, где все на js весит. На счет синхронизации состояний между страницей и js, вообще если честно не понимаю, что это такое и для чего. На сервере для этого сессии есть и куки. А в клиенте для чего? Только если целиком на js писать?
Sherzod Kasimov А на счет bootstrap - у пользователей далеко не всегда есть запросы типа - хочу чтобы инпут выглядел вот так. По большей части вид элементов управления уже сам разработчик определяет. Bootstrap дает более приятный вид, чем стандартный. Что bootstrap не решает проблему динамических интерфейсов понятно. Он не для этого и нужен. А вот обычный нативный js или тот же jquery за счет ajax решает. Возможно в single page приложении где много js кода действительно бардак в коде получается, а в обычных js кода не так уж и много и чаще всего он примитивный. А на счет скорости, как я уже писал - только нативный js. Тот же ангулар, это только обвертка над нативным js, а в случае с angular bootstrap lite, это обвертка над обверткой)
фреймворк предлагает тебе не наступать на грабли, на которые уже наступили.
______ ______
______ ______
2 554