Почему Yii/Yii2 не подходит для крупных проектов?

Здравствуйте. Изучаю фреймворк Yii2 и в процессе обучения очень часто на всяческих форумах встречаю мнение о том, что Yii для больших проектов - это боль и страдания. Только вот внятных объяснений, почему это так, я не нашел.
Некоторые говорят о том, что если с самого начала делать все правильно, зная слабые моменты Yii, то и для большого проекта он подойдет.
Уважаемые разработчики, объясните пожалуйста, почему Yii слабо подходит для больших проектов, какие у него слабые места и как их решать?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 12532 просмотра
Решения вопроса 3
@karminski
Разработчик CRM/ERP систем
У нас в компании 4 энтерпрайзных проекта на Yii2. В том числе CRM. В том числе и связь с телефонией, 1С, баг-трекером. Всё работает отлично, без нареканий. О каких "слабых" местах вы говорите? Прекратите читать - начните делать!
Ответ написан
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
Это мнение людей которые не умеют делать большие проекты. Им просто кажется, что если бы они могли взять вначале другой фреймоврк/язык/базу то результат был бы намного лучше, на деле же они просто не имели понятия о проблемах с которые появляются в больших проектах.
Ответ написан
qonand
@qonand
Software Engineer
Хоть Yii и создан в первую очередь как фреймворк для быстрой разработки приложений, ничего не мешает сделать на нем крупный проект. Как сказал oxidmod Yii ничего не навязывает разработчику, в этом его плюс и минус одновременно. Если проект реализовывают профессионалы - они спокойно его сделают на Yii качественно, если новички - они спокойно заговнокодят проект. Т.е. тут вопрос только в радиусе кривизны рук. Yii реже выбирают для крупных проектов чем тот же Symfony, т.к. с точки зрения бизнеса он более оптимальный, например:
- в стандартной реализации Yii нацелен в первую очередь на скорость разработки, симфони - на качество. Соответственно в крупном проекте дешевле использовать Symfony со всеми его инструментами, чем реализовывать эти инструменты с нуля. Например, yii-шный ActiveRecord - хорош на простых проектах, но в сложных проектах он приносить больше проблем чем пользы, а в стандартной реализации никаких альтернатив ему не предусмотрено ...
- Symfony накладывает определенные правила разработки для программистов, соответственно из за этого проще внедрять на проект новых разработчиков, не боясь что они заговнокодят.
- в Yii низкий порог входа, соответственно "качество" многих разработчиков желает лучшего ...
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
@oxidmod
потмоу что yii никак не препятсвует написанию говнокода. вы в любом месте можете сделать \Yii::app()->someComponent. Хоть в актив рекорд модели данные из реквеста брать. Неопытные разработчики этим злоупотребляют считая это благом, но это скользкий путь в никуда. код выходит сильно связаным, не поддающимся рефакторингу и модификациям. чем больше система, тем сложней становится её поддерживать.

в той же симфони невзначай наговнокодить не выйдет, только целенаправлено, и то это потребует некоторых усилий))
Ответ написан
@heahoh
Full stackoverflow developer
Есть крупный проект на Yii1, порядка 500 моделей и 300 контроллеров и 2000 вьюх. Изменений в фреймворке не делалось, при необходимости создавались наследники которые и используются по проекту вместо стандартных компонентов фреймворка. Бывают встречаются небольшие проблемы связанные с говнокодом и большим объемом данных (изменение afterFind модели, к примеру, с необоснованным использованием связей AR), которые приводили к тормозам, но это редко. Собственно, правильно спроектированный проект избавляет от многих проблем говнокода. К сожалению, не использовал другие php-фреймворки в энтерпрайзе и сравнить удобство использования не могу
Ответ написан
jamakasi666
@jamakasi666
Просто IT'шник.
Потому что чем мощнее фреймворк тем легче писать что то быстро на коленке, а в больших проектах появляются собственные хотелки которых нет в фремворке. В итоге рождается боль в виде собственного микрофремворка поверх фремворка которые дефакто будет костылями или же лезть в фремворк, читать и разбираться как он устроен и расширять его необходимым функционалом в том же стиле что и весь фреймворк в целом. Последнее обычно самое геморойное.
Ответ написан
gadfi
@gadfi
https://gamega.org
Yii2 подходит для больших проектов(неверное =D ) но если вам не нравится возьмите другой фреймоврк, язык, что угодно
Мне например не нравится php .... никаких шуток про php программистов и тд, нет реальных претензий, просто не нравится и все. Я заказываю на нем если нужно разработку, не вижу в нем ничего ужасного, но мне ближе asp и Python

Рынок огромен. решений много и на любой вкус, ничего не мешает выбрать нужное
Ответ написан
@hector
php программист
1) Меня отпугивает AR. Он хорош в админке, но очень плох на пользовательской части сайта. Получать данные в виде массива не всегда удобно, т.к. уже нельзя применить какую-то бизнес логику, работать с моделями через чур накладно (например при кэшировании) и не безопасно (может кто-то во вьюхе сохранить к примеру).
2) Монолитный проект, допустим сложно проект разбить на микросервисы, всегда будет качаться компоненты связанные с базой данных, assets итд
Ответ написан
@DartNyan
Вы в принципе не можете сделать большой проект на пхп без переписывается отдельных частей (чем выше нагрузка, тем больше переписывания) на другие языки (эликсир, эрланг, нода, си, го и тд).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Платформа НТИ Москва
от 160 000 до 190 000 руб.
от 30 000 до 50 000 руб.
Alma Innovation Group Алматы
от 50 000 до 90 000 руб.
28 янв. 2020, в 13:01
15000 руб./за проект
28 янв. 2020, в 12:57
7000 руб./за проект
28 янв. 2020, в 12:53
150000 руб./за проект