Yii2 Vs ZF2 - Помогите составить список преимуществ

Не относящиеся к фреймворку и программированию вопросы
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение slavcodev »

Sam Dark писал(а):
логгер в yii неплох. но и стандарт предоставляет только интерфейс (насколько я понимаю, интерфейс можно было бы реализовать с минимальными изменениями, особенно на уровне yii2-beta)
Можно было бы, но теперь только в 2.1. Как альтернатива — сделать PSR-3-адаптер, хотя это не совсем оно...
Только зачем все это. В тот-то и преимущество PSR интерфейсов и недостаток велосипедов Yii - стандартизированные интерфейсы. Мы даже в проекте на Yii1 стали переходить на PSR-3 (Monolog, со всей кучей его плагинов, логи в syslog, в hipchat).
1. Добавляем компонент Monolog в приложение. 2. Пишем Route для старых Yii::log() вызовов.
Жду Yii 3!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение samdark »

Как я уже сказал, я попробую протащить PSR-3 в 2.1 в том или ином виде.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение slavcodev »

а PSR-7 ? ;)
Жду Yii 3!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение samdark »

Тоже.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение slavcodev »

и даже сможешь убрать request/response из контейнера? т.к. это дата-объект, а не сервис, и делать ему в контейнере нечего.
Жду Yii 3!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение samdark »

Вполне возможно.
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

Я в итоге так и не понял чем высокая связность мешает ddd. Что мешает не использовать yii2 AR и взять например доктрину? Что мешает использовать например monolog вместо логгера который не соответствует psr? Кстати говоря в других популярных фреймворках именно так и происходит, есть ядро, которое реализует по сути роутинг и контроллеры а дальше либо сторонние либы (иногда обернутые в собственную абстракцию), либо свои велосипеды. Согласен с samdark что ни одного весомого аргумента в споре zelenin не привел, помимо того что "с опытом сами все поймете". Конечно с опытом приходит понимание многих вещей, о которых раньше и не задумывался, но одно я знаю наверняка: правила диктует бизнес. И для него решения его задач мы все работаем. И если бизнесу нужно вчера сделать возможность публиковать статические страницы с возможностью задания СЕО тегов на нашем портале (ооочень условно), то если вы этому самому бизнесу скажите что вам нужно на это потратить ресурсов в 3 раза больше чем задача того стоит, то бизнесу будет не интересно покупать ваш труд. Вместо приведенного мной грубого примера можно вставить любой другой какой больше нравится. Суть посыла что RAD это иногда хорошо, когда нужно быстро решить несложную задачу.
Для меня yii предоставляет как раз сервисный слой: работу с базой, миграции, взаимодействие с очередями, кэшем, логгером и прочее, прочее. И самое главное что все это работает быстро, просто и очевидно. Ну и почти любой компонент я могу заменить при необходимости. Да, есть которые жестко зашиты что не выпилишь, request/response, роутинг и подобное, но, на минуточку, эти компоненты также зашиты и в других фреймворках (за исключением что их можно использовать иногда по отдельности). И если нужна совсем независимость, то тогда уж совсем нужно либо отказывать от фреймворка либо брать что-то вроде zend ezpressive.
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение ElisDN »

amarox писал(а): 2017.07.16, 21:43 Я в итоге так и не понял чем высокая связность мешает ddd. Что мешает не использовать yii2 AR и взять например доктрину? Что мешает использовать например monolog вместо логгера который не соответствует psr?
Про это и говорим. Ничто не мешает не использовать ничего из Yii2 и взять, например, Symfony с доктриной и monolog.
amarox писал(а): 2017.07.16, 21:43 Кстати говоря в других популярных фреймворках именно так и происходит, есть ядро, которое реализует по сути роутинг и контроллеры а дальше либо сторонние либы (иногда обернутые в собственную абстракцию), либо свои велосипеды.
Да, в других фреймворках такой связности нет.
amarox писал(а): 2017.07.16, 21:43 И если бизнесу нужно вчера сделать возможность публиковать статические страницы с возможностью задания СЕО тегов на нашем портале (ооочень условно), то если вы этому самому бизнесу скажите что вам нужно на это потратить ресурсов в 3 раза больше чем задача того стоит, то бизнесу будет не интересно покупать ваш труд.
Статические страницы - это Wordpress. Попросят соседа-студента за 100 рублей.

А понадобится построить систему учёта по ТЗ на 1200 страниц - заплатят пару лямов Java-программистам за TDD и DDD.
amarox писал(а): 2017.07.16, 21:43 Суть посыла что RAD это иногда хорошо, когда нужно быстро решить несложную задачу.
Да-да, Yii - это RAD. Из коробки идеален для быстрых несложных задач.
amarox писал(а): 2017.07.16, 21:43 Ну и почти любой компонент я могу заменить при необходимости.
Скиньте ссылку, как заменить Twitter Bootstrap на Zurb Foundation.
amarox писал(а): 2017.07.16, 21:43 Для меня yii предоставляет как раз сервисный слой: работу с базой, миграции, взаимодействие с очередями, кэшем, логгером и прочее, прочее. И самое главное что все это работает быстро, просто и очевидно.
Иногда помимо базы и кеша появляется ещё и доменный слой с бизнес-логикой. Если у себя не сталкивались, то это не значит, что ни у кого в проектах их нет.
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

Про это и говорим. Ничто не мешает не использовать ничего из Yii2 и взять, например, Symfony с доктриной и monolog.
Так а в чем тогда разница, в любом случае будут использованы одни и те же либы. Только в случае с Yii без тормозов ядра.
Статические страницы - это Wordpress. Попросят соседа-студента за 100 рублей.

А понадобится построить систему учёта по ТЗ на 1200 страниц - заплатят пару лямов Java-программистам за TDD и DDD.
Я имел ввиду ситуацию когда уже есть проект какой-то определенной направленности, но возникает задача на нем реализовать несложную задачу. А это случается очень часто.
Да-да, Yii - это RAD. Из коробки идеален для быстрых несложных задач.
И это главная причина почему в итоге неквалифицированные разработчики творят такие вещи на нем, что потом аж страшно.
Иногда помимо базы и кеша появляется ещё и доменный слой с бизнес-логикой. Если у себя не сталкивались, то это не значит, что ни у кого в проектах их нет.
Если вы не знаете моих проектов, то это не значит, что у меня нет доменного слоя. Все свои проекты строю по DDD. Уровень и нагруженность проектов самые разные, к сожалению ссылки не могу давать по понятным причинам. Пробовал и лару и симфонию и не раз и не два. Можно привести кучу плюсов и минусов для любого из инструментов. Собственно и назначение у них тоже разное вот и выбирать надо под задачу. Если у вас команда говнокодеров, то тут конечно в случае с Yii будут проблемы. Ну а когда команда адекватная и каждый делает свое дело по совести, то и проекты выход качественными.
Речь зашла про DDD на Yii и так и не было приведено ни одного достойного аргумента почему это невозможно. Да и аргументов быть не может так как неоднократно проверено что фрейм ничем не мешает этому.
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

Забыл ответить
Скиньте ссылку, как заменить Twitter Bootstrap на Zurb Foundation.
Внимательно прочитайте мою цитату
Ну и почти любой компонент я могу заменить при необходимости.
Ключевое слово "почти". Также как например как симфони выпилить HttpKernel тоже проблематично или в Ларе контейнер.
Это во-первых.
А во-вторых, лично я вообще не использую виджеты и ActiveForm, так как это уже сильная завязка на фреймворк, переписать которую будет очень сложно в случае необходимости. В Yii есть вещи такие к сожалению. AssetBundle например тоже неоднозначный инструмент. Но при этом, в других фреймворках вы точно так же не используете ActiveForm и виджеты :)

Ну и если на у вас на проектах нет фронтендеров, которые всю клиентскую часть реализуют самостоятельно, а бэкенд программисты как вариант подтягивают репозиторий фронта композером как обычную зависимость, то это не значит что такого нет.
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение ElisDN »

amarox писал(а): 2017.07.17, 10:17 А во-вторых, лично я вообще не использую виджеты и ActiveForm, так как это уже сильная завязка на фреймворк, переписать которую будет очень сложно в случае необходимости. В Yii есть вещи такие к сожалению. AssetBundle например тоже неоднозначный инструмент.
Ну раз Вы из Yii2 выкидываете почти всё (AR, Logger, ассеты, виджеты, ServiceLocator, DataProvider, Serializer) и используете только контроллеры, кеш и хелперы, то и приходим к:
zelenin писал(а): 2015.10.30, 13:35 То есть если бы я следовал yii-канонам, я бы юзал 90% кодовой базы yii. Если бы следовал ddd/cqrs, то юзал бы 10%.
а если я юзаю 10% yii, то зачем мне он вообще нужен? я могу юзать любой фреймворк на рынке, каждый из которых предоставляет необходимые мне фичи. И немного подумав, можно решить что для получения этого набора минимальных фич удобнее выбрать ЛЮБОЙ слабо связанный фреймворк.
Так что приведите весомый аргумент, почему удобнее ради этих 10% тянуть весь Yii с JQuery и полдня выкидывать лишнее, адаптировать к PSR и прикручивать Twig, если можно сразу поставить тот же Zend Expressive?
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

Ну раз Вы из Yii2 выкидываете почти всё (AR, Logger, ассеты, виджеты, ServiceLocator, DataProvider, Serializer) и используете только контроллеры, кеш и хелперы, то и приходим к:
Где я это сказал? Приведите ссылку.
Я выкидываю ассеты и виджеты. AR использую когда задача простая и решить нужно быстро, или просто нужно решить быстро чтобы сейчас работало с последующим переписыванием уже в спокойной обстановке (само собой сразу а не через год). Это по вашему 90% фреймворка?
Так что приведите весомый аргумент, почему удобнее ради этих 10% тянуть весь Yii с JQuery и полдня выкидывать лишнее, адаптировать к PSR и прикручивать Twig, если можно сразу поставить тот же Zend Expressive?
Потому что как я выше написал это не 90%. Потому что не нужно "полдня выкидывать лишнее", вы его просто не используете и оно никого не трогает. Адаптировать к PSR делается один раз и затем тащится из проекта в проект, если вы делаете на каждом проекте все заново то это как минимум странно. Прикручивание твига это composer require yii2soft/yii2-twig и пару строк в конфиге, ни больше ни меньше чем подключение любой другой либы. То что твиг идет из коробки в симфони это киллер фича?
В zend expressive вы не потратите полдня на сборку нужных вам компонентов? Кэш, шаблонизатор, логгер, прослойка с базой (и чтобы логгер все записывал все запросы например), очереди и прочее прочее что предоставляет любой современный фреймворк.

Если посмотреть на гитхабе проекты на ларе (а я их пересмотрел и расковырял много когда глубже вникал в этот фрейм), то можно увидеть что часто выкидывают Blade и Eloquent, заменяя на твиг и доктрину, ну то есть остается роутинг, request/response, контейнер, обертка над PDO и ядро. Собственно тоже самое что я использую в Yii. Плюс к этому вполне устраивает query builder в частности и прослойка для работы с базой в общем.
Твиг я не использую из-за тормознутости и значительной перегруженности (как и все компоненты от Фабиана).

Я не адепт и не сторонник Yii или любого друго инструмента, не подумайте. Работал с разными и продолжаю работать. Yii я выбираю когда мне нужно производительное приложение, а его ядро на два шага впереди Лары и Симфони по скорости. Когда на проекте нужно работать и реализовывать функционал а не заниматься телепатией наблюдая очередной магический экспешн в Ларе (особенно в блейде). Когда нет времени или желания прокачивать стероиды чтобы это хоть как-то шевелилось и страницы загружались быстрее 2с. Когда мне нужно получить готовый скелет под будущий проект и не вымучивать очередной велосипед. Разделение advanced-app мне кажется очень удачным и удобным (но разве что неймспейсы поправить и еще по мелочи). Это основное. В остальных случаях я Yii не выбираю.

Есть масса примеров живых проектов на этом инструменте, которые растут и развиваются. Да у Yii много проблем и некоторые весьма серьезные. Не следование PSR это конечно недопустимо в 2017 году и может стать фатально если это не исправят. Сильная связность компонентов аналогично. И это все нужно исправлять. Пусть болезненно, пусть на живую, но другой путь для фрейма только в могилу как я думаю.
Но не надо говорить что вот я поработал с симфони а ваш Yii г..но. Обычно после таких фраз через пару лет звучит что-то вроде я освоил Go и ваш PHP г.но
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение zelenin »

amarox писал(а): 2017.07.17, 15:16 Есть масса примеров живых проектов на этом инструменте, которые растут и развиваются. Да у Yii много проблем и некоторые весьма серьезные. Не следование PSR это конечно недопустимо в 2017 году и может стать фатально если это не исправят. Сильная связность компонентов аналогично. И это все нужно исправлять. Пусть болезненно, пусть на живую, но другой путь для фрейма только в могилу как я думаю.
эм. ну тогда у нас просто разные планки когда нужно продолжать пользоваться фреймворком, а когда нет. Для меня фреймворк не родственник, а инструмент. Если "Не следование PSR это конечно недопустимо", то я выбираю любой другой.
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

эм. ну тогда у нас просто разные планки когда нужно продолжать пользоваться фреймворком, а когда нет
Если вы думаете что один-два PSR важнее многократной разницы в производительности, то наверное да, планки действительно разные. Мне видится что вы судите только взглядом программиста и сильно совмневаюсь что стояли по другую сторону этого бизнеса, а это очень полезно. Когда вы начинаете новый проект, у вас есть 2кк денег и вы думаете заплатить их Java программистам чтобы запилил на Spring или столько же отдать пхппешникам (в обоих случаях подразумеваем квалифицированых людей а не говнокодеров), которые сделают на Yii. В первом случае объем работы будет выполнен в 2-3 раза меньше. Поддержка будет стоить в 2 раза дороже как и развитие и длиться будет дольше. Для моего бизнеса это будет очень серьезный недостаток, так как цель - заработать денег и в данном случае я выберу Yii, который при всем при это с задачей справится не хуже, так как кодеры пряморукие, сделают такой же DDD и минимально завяжутся на сам фреймворк. Вот если бы вы поимели еще и такого опыта, то думаю взгляды на жизнь и работу стали бы боле объективными и максимализм ушел бы сторону. Ну и учитывая то, то следование PSR решается за несколько часов, что составляет в районе 10к рублей стоимости и уж они точно не стоят вложений на 500к больше при использовании Симфони.
Но для энтерпрайза такие суммы не являются суммами очень часто и поэтому симфони и заняло эту нишу. Там директор договоривается с другим директором, заключают контракт и ему пофигу что сотрудники потом пользоваться тормознутым монстром.

Вот в той же статье человек вобщем-то по делу ответил https://habrahabr.ru/post/333398/#comment_10315050

Вы не задумывались почему Go появился. Зачем он нужен если есть Java. Потому что Google управляют бизнесмены а не программисты. И разработка на Go намного дешевле, а задачи решает свои не хуже. Это конечно не единственная причина, но она тоже имеет место. А сколько было поначалу вбрсываний говна на вентилятор, что Go это для хипстеров, очередная мода и т.д. Растет и развивается и многие переходят на него с других языков.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение zelenin »

amarox писал(а): 2017.07.17, 16:09Если вы думаете что один-два PSR важнее многократной разницы в производительности
я считаю, что: а) производительность важна, но не нужно переоценивать ее вклад в траты при разработке - месячная зарплата одного программиста покроет годовые траты на один мощный сервер, б) аргументировать свою позицию разницей с самым медленным фреймворком, когда есть куча других, некорректно
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

я считаю, что: а) производительность важна, но не нужно переоценивать ее вклад в траты при разработке - месячная зарплата одного программиста покроет годовые траты на один мощный сервер
Мощный сервер не заставит работать так быстро как требуется. Вклад я не переоцениваю. Давно не секрет что дольше 1с пользователь не ждет. Опять для внутренних корпоративных инструментов это нивелируется.
б) аргументировать свою позицию разницей с самым медленным фреймворком, когда есть куча других, некорректно
ок, пусть не симфони, пусть Ларавель. Без стероидов, отдает страницы несложные страницы порядка 400мс. Битрикс в мою давнюю бытность работал быстрее. Не только для екомерса. Начиная от посадочных страниц, промосайтов сервисов и заканчивая вездесущих екомерсом это фатальный недостаток напрямую влияющий на продажи очень существенно. Придет конкурент, сделает аналогичный продукт, но нормально работающий и пользователь уйдет туда. Так происходит со мной и со многими моими знакомыми, у которых мне интересно выспрашивать такие штуки, чтобы убедиться в правдивости материалов, которые я на этот счет прочитал (последнее время стали часто мелькать).
Личный кабинет FastpVPS жутко бесит своими тормозами несмотря на то что хостер сам по себе на пять баллов. Несложно догадаться на чем написан этот ЛК
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение zelenin »

amarox писал(а): 2017.07.17, 16:34Мощный сервер не заставит работать так быстро как требуется. Вклад я не переоцениваю. Давно не секрет что дольше 1с пользователь не ждет. Опять для внутренних корпоративных инструментов это нивелируется.
это намек, что симфони будет работать близко к 1 сек?
amarox писал(а): 2017.07.17, 16:34ок, пусть не симфони, пусть Ларавель
что в принципе та же симфони, и опять же это два самых медленных фреймворка (хотя выше упоминали про микрофреймворки вы выбираете для аргументации ооочень медленные)
amarox писал(а): 2017.07.17, 16:34Без стероидов, отдает страницы несложные страницы порядка 400мс
ну смешно. Какие 400? на локальной тачке с включенным дебагом? кто вообще будет пользоваться фреймворком, отдающим страницу на продакшне за 0.4 сек?
Главная laravel.com отдается за 0.011 сек например.
amarox
Сообщения: 78
Зарегистрирован: 2012.03.19, 21:03

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение amarox »

это намек, что симфони будет работать близко к 1 сек?
где намек? Прямым текстом что симфони тормоз. И это так и есть к сожалению. Для меня это фатальный недостаток.
что в принципе та же симфони, и опять же это два самых медленных фреймворка (хотя выше упоминали про микрофреймворки вы выбираете для аргументации ооочень медленные)
Лидеры в этой сфере symfony/zf/laravel/yii. Остальное нет смысла рассматривать если вы начинаете более-менее серьезный проект.
ну смешно. Какие 400? на локальной тачке с включенным дебагом?
смешного в этом мало. Это из практики. Еще раз повторю: без стероидов.
Главная laravel.com отдается за 0.011 сек например.
Кэшем nginx например
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Vs ZF2 - Помогите составить список преимуществ

Сообщение zelenin »

amarox писал(а): 2017.07.17, 21:17где намек? Прямым текстом что симфони тормоз.
я про тормоз не говорил. я про 1 сек. вы считаете, что разработчики могут использовать фреймворк, работающий одну секунду?
Ответить