Yii + javascript фреймворк

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
mikola123
Сообщения: 42
Зарегистрирован: 2016.04.22, 22:39

Yii + javascript фреймворк

Сообщение mikola123 »

Добрый день!
Думаю у кого-то есть большой или малый опыт, по взаимодействию yii2 и javascript фреймворков.
Я далеко не спец. Какие сейчас стандарты разработки?
Я уже давно не занимался программированием, подзабыл многое. В интернетах хейтят jquery. Решил тоже попробовать JS фреймворк, выбрал Vue. Yii + Vue.
Не понимаю, как все организовать. Нужно отдельно разрабатывать фронтенд, компилить JS, подключать в Yii Asset и выдавать наружу?
А yii будет работать как интерфейс API.
Тогда yii form уже работать не будет, так получается? И надо самому организовывать работу c моделями форм.

Подскажите какие JS фрейморвки используете?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii + javascript фреймворк

Сообщение ElisDN »

Делаем две отдельные папки api и frontend.

Во frontend создаём Vue-проект и все JS и вёрстку делаем там.

В api разворачиваем Yii-проект только с API-контроллерами из раздела веб-сервисы REST. Никакие JS, assets и виджеты из Yii не используем.
mikola123
Сообщения: 42
Зарегистрирован: 2016.04.22, 22:39

Re: Yii + javascript фреймворк

Сообщение mikola123 »

ElisDN писал(а): 2020.05.09, 18:18 Делаем две отдельные папки api и frontend.

Во frontend создаём Vue-проект и все JS и вёрстку делаем там.

В api разворачиваем Yii-проект только с API-контроллерами из раздела веб-сервисы REST. Никакие JS, assets и виджеты из Yii не используем.
Я примерно так и представлял. Как на ваш взгляд что лучше в нынешних условиях,все таки ИТ развивается достаточно быстро, подход серверный API + JS оболочка или старый проверенный способ выдавать страницы с web сервера? Вроде как гугл Angular и фейсбук React работают на своих JS фреймворках. Но если говорить о фейсбуке, при открытии, браузер так сильно тормозить начинает,что у меня возникают сомнения в использовании JS фреймворков.

Еще интересно, у yii есть шаблон advanced, я сначала думал, что разделение на backend - это админка, fronend - это пользовательская часть. Потом начал изучать JS фреймворки и понятия о backend и frontend несколько изменились. Так что же такое шаблон advanced?

Я раньше все делал через модули шаблона base.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii + javascript фреймворк

Сообщение ElisDN »

mikola123 писал(а): 2020.05.09, 18:44 Я примерно так и представлял. Как на ваш взгляд что лучше в нынешних условиях,все таки ИТ развивается достаточно быстро, подход серверный API + JS оболочка или старый проверенный способ выдавать страницы с web сервера?
Недавно обсуждали здесь и там. Если для страниц достаточно одного HTML без JS, то проще отрендерить всё на сервере. Но если нужен интерактив, то вместо кучи лапшекода на jQuery удобнее взять именно специализированный JS-фреймворк для построения интерактивных интерфейсов.
mikola123 писал(а): 2020.05.09, 18:44 Еще интересно, у yii есть шаблон advanced, я сначала думал, что разделение на backend - это админка, fronend - это пользовательская часть. Потом начал изучать JS фреймворки и понятия о backend и frontend несколько изменились. Так что же такое шаблон advanced?
Бэкенд - всё, что скрыто сзади, фронтенд - всё что спереди. Это слова общеупотребительные:

Где-то как в yii-app-advanced фронтендом зовётся видимая часть, а бэкендом (или бэкофисом) кабинет или админка. В сетях тот же внешний проксирующий сервер Nginx называют фронтендом, а серверы за ним бэкендами. В случае Vue код в браузере называют фронтендом, а API бэкендом.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii + javascript фреймворк

Сообщение ElisDN »

mikola123 писал(а): 2020.05.09, 18:44 Вроде как гугл Angular и фейсбук React работают на своих JS фреймворках. Но если говорить о фейсбуке, при открытии, браузер так сильно тормозить начинает, что у меня возникают сомнения в использовании JS фреймворков.
И без этого когда некоторые готовые шаблоны для WordPress на jQuery открываю браузер тоже с ума сходит. Так что это не проблема самих фреймворков. И на jQuery этот же фейсбук быстрее бы не работал.
mikola123
Сообщения: 42
Зарегистрирован: 2016.04.22, 22:39

Re: Yii + javascript фреймворк

Сообщение mikola123 »

Ага, спасибо большое! Попробую заняться JS frontend. Возможно получиться отделаться малой кровью для валидации моделей форм.
mikola123
Сообщения: 42
Зарегистрирован: 2016.04.22, 22:39

Re: Yii + javascript фреймворк

Сообщение mikola123 »

ElisDN писал(а): 2020.05.09, 19:07
mikola123 писал(а): 2020.05.09, 18:44 Вроде как гугл Angular и фейсбук React работают на своих JS фреймворках. Но если говорить о фейсбуке, при открытии, браузер так сильно тормозить начинает, что у меня возникают сомнения в использовании JS фреймворков.
И без этого когда некоторые готовые шаблоны для WordPress на jQuery открываю браузер тоже с ума сходит. Так что это не проблема самих фреймворков. И на jQuery этот же фейсбук быстрее бы не работал.
Да с JQuery у нас был печальный опыт, когда делали веб приложение, с кучей активных элементов, которые обновлялись каждый 30 секунд. Ох там и тормоза были. Потом наняли фронтенд разработчика и он, я не знаю, на каком фреймворке, все это дело исправил и страница уже работала очень даже хорошо.
Я так понимаю что JS frontend, хранят в себе ссылки на DOM элементы, поэтому быстрее получают доступ. А с Jquery никто не занимается хранением объектов DOM элемента, каждый раз происходит поиск по дереву, из-за этого дикие тормоза.
Последний раз редактировалось mikola123 2020.05.09, 19:14, всего редактировалось 1 раз.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii + javascript фреймворк

Сообщение ElisDN »

mikola123 писал(а): 2020.05.09, 14:50 Я далеко не спец. Какие сейчас стандарты разработки?
Я уже давно не занимался программированием, подзабыл многое. В интернетах хейтят jquery. Решил тоже попробовать JS фреймворк, выбрал Vue. Yii + Vue.
Если хотите поузнавать всего самого свежего и актуального, то я как раз сейчас записываю стримы, как делаю интерактивный проект на React с API. Там как раз про это всё.
mikola123
Сообщения: 42
Зарегистрирован: 2016.04.22, 22:39

Re: Yii + javascript фреймворк

Сообщение mikola123 »

ElisDN писал(а): 2020.05.09, 19:14
mikola123 писал(а): 2020.05.09, 14:50 Я далеко не спец. Какие сейчас стандарты разработки?
Я уже давно не занимался программированием, подзабыл многое. В интернетах хейтят jquery. Решил тоже попробовать JS фреймворк, выбрал Vue. Yii + Vue.
Если хотите поузнавать всего самого свежего и актуального, то я как раз сейчас записываю стримы, как делаю интерактивный проект на React с API. Там как раз про это всё.
Спасибо большое, с удовольствием посмотрю :)
Prooksius
Сообщения: 100
Зарегистрирован: 2019.01.17, 23:24

Re: Yii + javascript фреймворк

Сообщение Prooksius »

mikola123 писал(а): 2020.05.09, 19:11 Да с JQuery у нас был печальный опыт, когда делали веб приложение, с кучей активных элементов, которые обновлялись каждый 30 секунд. Ох там и тормоза были. Потом наняли фронтенд разработчика и он, я не знаю, на каком фреймворке, все это дело исправил и страница уже работала очень даже хорошо.
Я так понимаю что JS frontend, хранят в себе ссылки на DOM элементы, поэтому быстрее получают доступ. А с Jquery никто не занимается хранением объектов DOM элемента, каждый раз происходит поиск по дереву, из-за этого дикие тормоза.
А разве нельзя и на jQuery так организовать работу, чтобы не каждый раз по новой искать элементы в полном DOMе, а сохранить в переменные какие-то контейнеры со всеми изменяемыми элементами, ну или их ID на крайний случай. Способы есть же.
Мне кажется, в вашем случае причина тормозов была не в jQuery, а именно неоптимальная система доступа к изменяемым элементам. Хоть jQuery, хоть любой фреймворк - все работают с браузером, и именно браузер тормозит или не тормозит. Значит что-то работает неоптимально.

Ну к примеру, если действительно очень много элементов обновляется и возникают тормоза - обновляйте не каждый элемент, а сразу весь блок.
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Yii + javascript фреймворк

Сообщение skynin »

Prooksius писал(а): 2020.05.09, 20:08 А разве нельзя и на jQuery так организовать работу, чтобы не каждый раз по новой искать элементы в полном DOMе, а сохранить в переменные какие-то контейнеры со всеми изменяемыми элементами, ну или их ID на крайний случай.
Да, можно.
А смысл, если это отлично делают Vue-React и десятки более легковесных типа riot.js?
Prooksius писал(а): 2020.05.09, 20:08 а сразу весь блок.
или возьмите нормальный фреймворк с virtual DOM , или dirty checking

jQuery жил и будет жить, как раз потому что нередко не требуется обновлять никаких "блоков", и т.п.
а нужно добавить только к некоторым элементам анимации, или несложного UX

а если требуется, то зачем изобретать велосипед, да еще выбрав в качестве материала jQuery?
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Ответить