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

Здравствуйте. Изучаю фреймворк Yii2 и в процессе обучения очень часто на всяческих форумах встречаю мнение о том, что Yii для больших проектов - это боль и страдания. Только вот внятных объяснений, почему это так, я не нашел.
Некоторые говорят о том, что если с самого начала делать все правильно, зная слабые моменты Yii, то и для большого проекта он подойдет.
Уважаемые разработчики, объясните пожалуйста, почему Yii слабо подходит для больших проектов, какие у него слабые места и как их решать?
Заранее благодарен всем отозвавшимся.
  • Вопрос задан
  • 12615 просмотров
Решения вопроса 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
Вы в принципе не можете сделать большой проект на пхп без переписывается отдельных частей (чем выше нагрузка, тем больше переписывания) на другие языки (эликсир, эрланг, нода, си, го и тд).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы