С какой целью разрабатывается фреймворк

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

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

TM123 писал(а): 2019.04.03, 13:32 2. ...я не понимаю именно переименования, а не то что зачем было менять реализацию методов.
Переименования придуманы для более логичного именования вещей и для лучшего понимания назначения вещей без необходимости лезть в код. Это:

Код: Выделить всё

if ($user->can('delete-post', $post)) {
    ...
}
понятно читается на естественном английском как:

Код: Выделить всё

if user can delete post
вместо неперевариваемой мозгом ерунды:

Код: Выделить всё

if user check access delete post
И из названий findOne и findAll намного понятнее, что они делают, чем просто find. Вот в Doctrine из Symfony есть методы find(..) и findBy(...). Угадайте с трёх раз по внешнему виду, One они находят или All?

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

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

TM123 писал(а): 2019.04.03, 10:36 вот не понимаю я глубинного смысла переименования find в findOne, ckeckAccess в can - в чем был глубинный смысл? можно еще долго перечислять такого рода переименования, которые по сути ничего не меняют, но делают код несовместимым не только на уровне авхитектуры, но и на уровне названия методов.
С Yii Вам с этим ещё очень повезло, что у него всего две версии с парой переименований за пять лет. Делали бы на Laravel - каждые пару месяцев бы в обморок падали от сотен изменений в каждом релизе и каждые полгода бы всё переписывали.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: С какой целью разрабатывается фреймворк

Сообщение TM123 »

anton_z писал(а): 2019.04.03, 15:34 Я бы спокойно продолжал периодически поднимать вопрос про необходимость переписывания на плановых/периодических встречах с руководством. Просил бы сделать отдельный амортизационный фонд на поддержку ПО собственной разработки (чтобы компания потихоньку "копила" на переписывание). Это может получиться, встречался с такими ситуациями - правда речь шла о покупке серверов резервных и на замену. Год, два, три - если ПО докажет свою необходимость и принесет пользу, на него денег не пожалеют, но нужно время, чтобы у руководителей появилось понимание преимуществ использования самописной системы и необходимости ее поддержки и обновления. Если вложения были недавно, то реакция как в вашем случае вполне понятна: "я же всего год назад заплатил кучу денег, а теперь они (программисты) просят еще, это что, бездонная бочка, сколько можно туда кидать?". Вам надо дождаться следующего "да, текущая система отработала уже несколько лет, может действительно пора ее обновить и усовершенствовать, да это дорого, но мы не сможем без нее работать".
ПО уже давно доказало свою необходимость и эффективность, народ уже возмущается почему у них нет в HelpDesk, MedeaWiki или 1С таких же возможностей, сервера обновляются раз в 1-2 года и при необходимости добавляются новые, но это разовые траты, а освободившиеся сервера отправляются на переферию. Методы о которых вы говорите работают при необходимости сделать разовые затраты на которые можно накопить, это не работает когда надо увеличить затраты на ежемесячной основе, а самое главное что потом их сократить в случае неудачи будет невозможно.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: С какой целью разрабатывается фреймворк

Сообщение TM123 »

ElisDN писал(а): 2019.04.03, 16:07 Переименования придуманы для более логичного именования вещей и для лучшего понимания назначения вещей без необходимости лезть в код.
Да не вопрос, вопрос в другом, почему для совместимости не оставили старые названия, да в новой версии используются новые названия, но для совместимости можно было оставить старые и выводит в логи depricate как это сделано в других системах. Я так и поступил, просто написал обертки, чтобы надо было меньше кода с ходу переписывать, в новом функционале новые названия, но старые библиотеки и фреймворк независимые классы дергают старые методы.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение samdark »

Говоря о среде исполнения, я имел в виду, что обработчик Yii2 должен был получать и обрабатывать запрос и не найдя у себя соответствующую пару controller/action передавать на повторную попытку обработать в Yii 1.1
1. Это лишь один из способов организовать совместную работу двух версий фреймворка.
2. Не все мигрируют вот таким гибридом. Есть туча других вариантов.
3. Многие не мигрируют и либо остаются на старой версии, либо переписывают рядом и перетаскивают единовременно данные.

Ну то есть вот это реализовать, конечно, можно, но нужно оно не так чтобы многим, а потратить время и поддерживать придётся. В выборе между потенциально не очень нужной большинству фичей и очевидно нужной побеждает всегда последняя.

Ну то есть если вот такой прозрачный мост универсальный делать для Yii 3, то только силами кого-то заинтересованного вне основной команды.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение samdark »

На тему новых и старых названий — мы так планировали изначально для Yii 2.1, помечали методы как @deprecated и названия новые давали рядом. Но, копнув поглубже и попытавшись натянуть на Yii 2 несколько методологий разработки, поняли, что есть ошибки в самой основе фундамента.

Они не фатальные, но с ними можно работать только одним способом и он в некоторых случаях не вполне подходит. Хочется чтобы фреймворк был применим для 80% методологий и расширяем под остальные 20%. Сейчас это не так.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: С какой целью разрабатывается фреймворк

Сообщение TM123 »

samdark писал(а): 2019.04.03, 18:41 Ну то есть вот это реализовать, конечно, можно, но нужно оно не так чтобы многим, а потратить время и поддерживать придётся. В выборе между потенциально не очень нужной большинству фичей и очевидно нужной побеждает всегда последняя.

Ну то есть если вот такой прозрачный мост универсальный делать для Yii 3, то только силами кого-то заинтересованного вне основной команды.
Говоря о нужности фичи, мне кажется надо оценивать какого рода проекты существуют на фреймворке и из этого следует время их жизни, откуда возникает необходимость фичи. Я уже писал что мне кажется что это фреймворк для корпоративной разработки, а не для сайтостроя типа сайтов визиток, а такие проекты существуют годами, а значит такие технологии востребованы и тут на мой взгляд не факт что важнее для фреймворка - обратная совместимость, пусть не полная или новые фишки. Я вам рекомендую подумать над темой того, что вы возможно неправильно расставляете приоритеты, потому что вам как программисту автору разработчику хочется конечно реализовать эти самые фичи и в этом вас нельзя винить, но если есть желание чтобы фреймворк жил, надо наращивать количество эксплуатантов и как я говорил ранее, серьезных разработчиков на данном фреймворке может породить только корпоративная разработка и это будет устойчивый круг скорее всего расширяющийся, все остальные - это пузырь из случайно мимо проходящих людей, который как быстро надувается, точно так же быстро сдувается.

Методов перехода много, я нашел для себя который смог реализовать с учетом баланса ресурсов и у меня нет сейчас проблем с совместной жизнью 1.1 и 2, да я не могу использовать код в кросфремворковом формате, но проект имеет модульную структуру и модули имеют высокую интеграцию на уровне базы данных, а не сервера приложений, что собственно и позволило осуществить достаточно легко взаимодействие, решая проблемы взаимодействия фреймворков на низком уровне и не решая проблемы взаимодействия бизнес функционала, хотя меня не однократно пинали в том числе и здесь речами как плохо навешивать бизнес функционал на базу данных, что ее надо использовать только как тупое хранилище, что очень популярно у адептов MySQL, которое и есть тупое хранилище со слабыми попытками наладить серверное программирование на стороне базы данных, в отличие от достаточно серьезных возможностей у PG, MS, Oracle.

Если говорить о разработке среды исполнения, то это фактически разработка абстрактного универсального фреймворка у которого делаются по сути коннекторы к соот. фреймворкам. Это интересная задача и я ей хотел бы заняться, но увы нет не сил, не времени, не денег.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: С какой целью разрабатывается фреймворк

Сообщение anton_z »

Все что вы говорите имеет резон, но вы же взяли бесплатный инструмент, без всякой поддержки и гарантий, так сказать "AS IS". Если хочется какой-то поддержки, и долгоиграющих версий как вы сказали "корпоративного" уровня, за это надо платить, халявы тут почти не бывает. Поэтому многие компании если и берут linux, то RHEL, потому, что можно заключить договор и в случае чего обращаться к ним с подобными вопросами. А если бесплатно берем "КАК ЕСТЬ", что тут говорить. Может подумаете о спонсорстве Yii в обмен на поддерку и разработку необходимых фич/обеспечение совместимости? Может вам какие расширения напишут, которые совместимость будут обеспечивать.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение samdark »

Мы не осилим всё и сразу. Сначала сделаем сам Yii 3.0, потом подумаем что можно сделать с миграцией с 2.0 теми силами, что у нас на тот момент будут.
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

Корпоративный фреймворк с таким корпоротивным подходом – это как раз Symfony. Там как раз предсказуемый график релизов, понятное версионирование, LTS версии, пометки @deprecated с выводом предупреждений о их использовании в коде проекта, компонентность и переносимая архитектура из коробки. У Yii же, разрабатываемого как повезёт, ничего этого не было и нет.
uEhlO4a
Сообщения: 70
Зарегистрирован: 2017.08.12, 19:19

Re: С какой целью разрабатывается фреймворк

Сообщение uEhlO4a »

давно не заходил на этот форум, а тут такой срач.. не мог пройти мимо.

TM123,
много текста, видно подгорает, не паникуй - даже когда тебя сьели, есть как минимум два выхода. Максимум - меняешь работу и это уже проблема бизнеса, а не твоя.
Забей на тех кто тебе советует свое излюбленное фигаро DDD и другой бред кодо-дрочеров у которых нету ни одного проекта, который генерирует деньги, бред, который не имеет никакого отношения к реальному миру. Любителей "писать адаптеры на фреймворк" можно отправлять сразу по известному адресу писать адаптеры на .NET, потому что вдруг выйдет 5 версия! Еб..нутся.
Касаемо твоей ситуации:
1. нехватка кадров решается оплатой. Мне как профессионалу фиолетово какой фреймворк - есть оплата = есть время
2. касаемо перехода. скорее не договариваешь, т.к. скорее всего был изменен код исходников самого фреймворка. Когда такое делается, нужно делать PR на github и где-то у себя вести историю (репо/fork, свои версии), следить за кодом. В идеале - участвовать в проекте если вы прям такие большие + денюжкой помогать проекту Yii.
3. в чем именно вызвана потребность перехода на 3 версию? Я так и не понял. Страхом, что никто не будет работать? Ну это фреймворк,а не CMS. Страх не оправдан. На ZF1 сидят и не рыпаются. Максимум, сделай клон репо со своими изменениями и синхронизируй, свои версии и т.д. и т.п. PHP Composer может читать репо с паролем.
4. Yii3 с такой скоростью может и не появиться.
5. Ты ошибаешься, что Yii2 это "крутой" фреймворк, Yii2 это RAD - rapid app dev, основная суть "скорость". Yii2 не крут - он прост и просто работает. "Монолит? Ну и х..й с ним."
6. Тысяча пользователей - это ни о чем. Я что-то не понял почему аж 40 серверов на несчастную тысячу.. ну да ладно.

Касаемо "крутого" фреймворка Symfony - то Symfony фремворка уже не существует в природе. Сейчас набор компонентов не более. А та абоминация которая сейчас есть как версия 3 и 4 - это вообще треш с lazyLoad. Одна doctrine тупо для мазохистов, не говоря уже о таких простых вещах как конфиг в yaml формате. Symfony FullStack скоро кранты, чего только стоит https://github.com/symfony/symfony/issues/28869 . Заберут некоторые пакеты и RIP.

И кстати, такой хайповый шлак как Laravel со своими фасадами не зря такой популярный. Он пакетный как Symfony и такой же простой как Yii2 (за счет AR и некоторого DIC).

ElisDN,
с этого года работаю с Laravel - ни разу в обморок не падал. Возможно ты сделал опечатку и имелось в виду Symfony https://github.com/symfony/symfony/releases/tag/v4.2.7?
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: С какой целью разрабатывается фреймворк

Сообщение anton_z »

uEhlO4a писал(а): 2019.04.18, 01:32 Любителей "писать адаптеры на фреймворк" можно отправлять сразу по известному адресу писать адаптеры на .NET, потому что вдруг выйдет 5 версия! Еб..нутся.
:D Давно так не смеялся, поддерживаю.
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

uEhlO4a писал(а): 2019.04.18, 01:32 с этого года работаю с Laravel - ни разу в обморок не падал.
О да! За эти четыре месяца Вы, наверное, уже столько полугодовых релизов Laravel встретили, что нам и не снилось :)
uEhlO4a писал(а): 2019.04.18, 01:32 Возможно ты сделал опечатку и имелось в виду Symfony https://github.com/symfony/symfony/releases/tag/v4.2.7?
По этой ссылке вижу 5 фиксов функциональности и 5 фиксов безопасности. И ни одного Added и Changed, которые у Laravel в каждом патче. Значит, что не опечатка.
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

uEhlO4a писал(а): 2019.04.18, 01:32 Любителей "писать адаптеры на фреймворк" можно отправлять сразу по известному адресу писать адаптеры на .NET, потому что вдруг выйдет 5 версия! Еб..нутся.
Ну автор и сказал, что за это и полюбил .NET:
TM123 писал(а): 2019.04.01, 18:20 но следующий проект очень вероятно я не буду стартовать на Yii, потому что он совершенно не соответствует традициям PHP - сильная обратная совместимость и соответствует традиции .NET, в которой с выходом новой версии мы выбрасываем все наработки и начинаем делать все с нуля.
TM123 писал(а): 2019.04.02, 20:59 у них нет цели создать рабочий инструмент, потому что когда каждая версия не совместима с предыдущей - это инструмент для одноразовых поделок со сроком жизни равным сроку выхода версий. Я MS с его .NET послал именно по этой причине.
и что не прочь бы поразрабатывать на более стабильном инструменте.
uEhlO4a
Сообщения: 70
Зарегистрирован: 2017.08.12, 19:19

Re: С какой целью разрабатывается фреймворк

Сообщение uEhlO4a »

ElisDN,
я что-то убеждаюсь что ты просто балабол. Я пролистал изменения до версии 5.4 от 2017го года и ничего там не вижу. Есть подробный путь миграции, любой более-менее опытный сотрудник перейдет с 5.4 -> 5.5 -> 5.6 -> 5.7 за день-два.
Потому если ты падаешь в обморок от такой фигни https://laravel.com/docs/5.7/upgrade и не падаешь в обморок от того, что твой фреймворк выпускает ПЯТЬ исправлений на уязвимость(при чем еще и делает откат кода) - тогда вопрос у меня закрыт.

касаемо Java - то это дно, ему место только в говноприложениях на Android. На адекватные вещи есть Qt/C++ и .NET

у меня всё

p.s.
касаемо "проблем" с миграциями в .NET, что нужно выкидывать полприложения - это вранье. пример инструкции по миграции https://docs.microsoft.com/en-us/dotnet ... ion-guide/
Аватара пользователя
ElisDN
Сообщения: 5841
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение ElisDN »

uEhlO4a писал(а): 2019.04.18, 21:22 Я пролистал изменения до версии 5.4 от 2017го года и ничего там не вижу. Есть подробный путь миграции, любой более-менее опытный сотрудник перейдет с 5.4 -> 5.5 -> 5.6 -> 5.7 за день-два.
Ну да. Прям видим, как Вы пятилетний рабочий проект из 20 000 файлов с 4.0 на 5.8 за пару-тройку дней обновляете :)
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: С какой целью разрабатывается фреймворк

Сообщение anton_z »

Ну не все ж проекты из 20000 файлов...
uEhlO4a
Сообщения: 70
Зарегистрирован: 2017.08.12, 19:19

Re: С какой целью разрабатывается фреймворк

Сообщение uEhlO4a »

ну, это уже ближе к сути - с 4.0 до 5.х, но я глянул путь https://laravel.com/docs/5.0/upgrade#upgrade-5.0 и там тоже все понятно. ну, пускай будет 7 дней, максимум.
Насчет файлов - это не показатель, играет роль лишь насколько много было переопределено базовых функций фреймворка.
то есть, если был подход "адаптеров на фреймворк" - то да, тут полгода нужно будет переписывать эти адаптеры, ха-ха.

н возникает резонный вопрос - а чем занимались разработчики все 5 лет что они прям так бац и прозрели, что 4.0 уже вроде устарело? и безопасность их не смутила и т.д. Какой-то очень странный проект, в том плане, что его никто не кинул на деньги за все эти годы. Как правило провтыкал на неделю (а то и день) с обновлением - получи минус 20к баксов на взломе. но это такое.

п.с.
кстати, я за 12 лет не видел чтобы проект жил больше 5 лет, по крайней мере в том понимании, в каком оно было изначально.


ладно, пойду я дальше. успехов
Аватара пользователя
BrusSENS
Сообщения: 565
Зарегистрирован: 2012.07.26, 06:51
Откуда: Новороссийск
Контактная информация:

Re: С какой целью разрабатывается фреймворк

Сообщение BrusSENS »

Мдаааа...
Почитал чего пишут люди и диву даюсь...
ТС, простите конечно, но судя по всему у Вас чайник свистит не на шутку.
Приплели всё, что только можно. 1c, .нэт, какие-то адаптеры в Yii2 для работы с Yii1.
Почему я, разрабатывая новый проект на Yii2 должен жертвовать скоростью и потреблением памяти для ненужных проверок из-за окаменелого динозавра, который не может переписать проект (хотя если он через одно место написан, то и Yii3000 не поможет).
Ну это ладно. Бреда я конечно такого давно не читал, но раз данная тема является местом для высказывания мыслей, то и я выскажусь.

С полгода начал работать на крестах и многое подчерпнул.
Например то, что DDD новомодный кусок говна в PHP, что не пришей ... рукав, который уже давно пережевали в других яп и выплюнули. PHP тем и хорош для веба, что нет строгой типизации, как в других яп со строгой типизацией. Он позволяет многое и это круто, когда понимаешь цену этому. Хотите DDD и строгой типизации? У меня плохие новости. Вы не тот яп выбрали.

Далее по BC между Yii2 и Yii1 и проекту, который более года не могу обновить толпой разрабов.
Так вот. Если у Вас, уважаемый ТС, бизнес логика раскидана хрен знает где, то это ваши проблемы, что у Вас плохо с проектированием. И да, по поводу того, что Yii для того, что бы убрать забубённость ООП - Вам книжки нужно умные читать, а не тимлидом быть (или кто вы там), ибо Yii - это инструмент, которым и голову себе проломить можно с дуру.

Несколько лет не хватает на обновление до Yii2? У меня для Вас снова плохие новости... Кажется пора всей команде требовать оформления инвалидности.

Хотите BC на долгие годы? C, C++. Или нет. Лучше (прости Господи) ассемблер! А что? На долгие годы и BC железная просто. Ещё ни разу вроде не ломали. Да и обновляться тоже не нужно.

И да, ТС, ну почитайте, что означает фраза "Предпочитайте композицию наследованию", если не хотите в будущем наступить на эти же грабли и хаять инструмент, с которым работаете. Поработайте на других яп и Вы быстро поймёте, на сколько PHP красивый и приятный. И используйте нужные инструменты для нужных задач. Если делаете целую интерпрайз систему, то одним PHP у Вас отделаться не выйдет.

P.S.: Нормально хотеть более нового, более идеального. И ребята из Core Stuff'а делают это для нас, за что им низкий поклон. Инструмент очень крут и любим многими не просто так.
P.P.S.: Симфони хорош только парой-тройкой компонентов. Остальное собачье дерьмо, которое жрёт тонну ресурсов. Ларавель - Yii2 для хипстеров. И да. Монолит после крестов полюбил. Ничего плохого не вижу. Полная независимость в проекте - галлюцинация грибного нарка. Независимые компоненты != Хорошая архитектура.
Я всё.
Native Web - небольшой блог о веб разработке (временно на ремонте)
Режим обслуживания сайта для Yii 2.x.x
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: С какой целью разрабатывается фреймворк

Сообщение maleks »

BrusSENS писал(а): 2019.04.24, 11:13 Например то, что DDD новомодный кусок говна в PHP, что не пришей ... рукав, который уже давно пережевали в других яп и выплюнули.
Не записывали себе какие то знаковые статьи/обсуждения на эту тему?
Книги то по архитектуре, DDD, идут без привязки к ЯП.
Может действительно где то уже все обсмоктали, а мы тут каждый в своем пузыре общения. Как та ситуация с критикой RoR, которая очень давно придавно случилась, а у нас тут про проблемы таких AR архитектур до сих пор многие не догадываются.
Yii2 universal module sceleton - for basic and advanced templates
Ответить