Крик души

Не относящиеся к фреймворку и программированию вопросы
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Крик души

Сообщение an.viktory@gmail.com »

Привет всем Yii -ишникам и IT-шникам)
Конечно вопрос деликатный и может не к месту но просто не знаю что с этим делать!
И так если вы зайдете на рынок php (нерусский!!!) то вы встретите любителей Laravel и Symfony, которые скажут то они не знают что такое Yii2. ну и как правило еще пару непонятных фраз типа у них самый лучший framework))
Вот уже год как пытаюсь слезть в Yii2, типа монолитного негибкого framework, ключевая фраза ТИПА
И побывал уже много с каких интернациональных командах, где про Yii2 ничего не знают, и думаю что это типа WP.
Могу сделать выводы которые у меня в голове не укладываются и хочу разьяснений.
И так типа работаю на симфони, не о какой герерации кода по пробованным тысячами разрабов решений/шаблонов речи не идет, все кастомное, уникальное (у каждого разраба это свое).
И так дали задачу поправить action засел на полдня, конфиги и routes в 1000 строк, YAML!!!!! это любовь с первого взгляда, один лишний пробел приложение труп!!!!!, разраб считающий пробелы и догадывающийся что туда писать в моем случае, не об этом я мечтал когда думал по программровании, не прошло и 3 дня и приспособился)
Добрались до twig красота) пока не засунул туда vueJS, Angular и пр схожее по форматированию вещь, да там можно прописать директиву чтобы он думал что это не его теги)) то Storm этого пока не понимает и работаем с названием переменных и функций на ошупь)) автоподстановки 0, как же я люблю запоминать как я называю поля в точности до символа)) когда phpStorm в наглую жрет 4G памяти чтобы эти заниматься но он просто не в курсе)) и жрет просто так)
PS: поддержкой проекта на Symfony занимается комнада из 10 человек (БЕК), делают за 1 месяц то что и на глаз сложно отличить, когда вы зайдете на главную страницу. Это серьезно?? я чего то не понимаю. Я поддерживаю три проекта, за месяц могу перелопатить пол проекта, да админка bootstrap3-4, виджеты от картика, но это лучше и дешевле чем нанять фронтендера который будет желать тоже самое только за деньги)
Это только одна история. Таких уже 3, и мне иногда кажется люди просто придумывают себе проблемы на ровном месте.
Всякий раз когда я хочу слезть, мне кажется что я занимаюсь САДОМАЗО! Переубедите меня!
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Крик души

Сообщение zxczxc12 »

Интересно мнение авторитетного гуру
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Крик души

Сообщение chesar »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 PS: поддержкой проекта на Symfony занимается комнада из 10 человек (БЕК), делают за 1 месяц то что и на глаз сложно отличить, когда вы зайдете на главную страницу. Это серьезно?? я чего то не понимаю. Я поддерживаю три проекта, за месяц могу перелопатить пол проекта, да админка bootstrap3-4, виджеты от картика, ...
В этом и основной, ключевой момент. С проектом на Symfony будет работать интернациональная команда и вероятность обнаружения WTF в коде будет в районе 5 - 10%. Код написанный сторонним разработчиком, будет примерно таким же как его бы написал я.
Код написанный для проекта на Yii у каждого из 10 разрабов будет свой. Это будет строительство вавилонской башни. В итоге будет больше срача чем продуктивной разработки.

* Yii подходит для быстрого прототипирования
* Для разработки в одни - пару рук
* Для команд где сильный тимлид, devops, жёсткие и задокументированные правила. Где коммит будет отвергнут пока не пройдет проверки на кодстайл, анализ и кодревью.
zxczxc12
Сообщения: 161
Зарегистрирован: 2013.01.24, 21:16

Re: Крик души

Сообщение zxczxc12 »

chesar писал(а): 2020.04.17, 10:09 * Для команд где сильный тимлид, devops, жёсткие и задокументированные правила. Где коммит будет отвергнут пока не пройдет проверки на кодстайл, анализ и кодревью.
А разве это не идеальные условия для любого проекта на любом фреймворке и языках в целом ?
Да и где вы видели все эти полностью совпадающие условия ? :-)
Yii подходит для быстрого прототипирования
Вот тоже не понятный тезис

Я так понимаю что термин "прототипирование" подразумевает какой то на коленке быстро сделанный проект с минималным функционалом с целью показать заказчику как проект будет выглядеть или запустить проект и посмотреть взлетит или нет ?
Ну взлетел проект и что дальше ? С нуля все переписываем на чистовое и по феншую ? Да если проект взлетит, И взлетит очень быстро , То хотел бы я посмотреть на эту иддилию : аритектор вдумчиво проектирует , писатели ТЗ скурпулёзно опрашивают заказчика , тим лид сосредоточенно расписывает спринты , эстимейтит
Угу ...

А не лучше изначально все писать по феншую на том инструменте , который устраивает ?
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: Крик души

Сообщение an.viktory@gmail.com »

chesar писал(а): 2020.04.17, 10:09
an.viktory@gmail.com писал(а): 2020.04.17, 01:05 * Yii подходит для быстрого прототипирования
* Для разработки в одни - пару рук
* Для команд где сильный тимлид, devops, жёсткие и задокументированные правила. Где коммит будет отвергнут пока не пройдет проверки на кодстайл, анализ и кодревью.
Я тоже долго кормил себя этими вещами пока не столкнулся с тем что описал выше. Пока единственно объяснение это что те фраймворки завоевали рынок определенный и люди думаю что это единственно решение. Но фактичеки разработка на них медленне в разы, поддержка дороже, и сами приложения не быстрее нифига. А писать админки с 0 кастомную это вообще отдельная история, грохаются космические деньги на то что шло в Yii из коробки 7 лет назад и актуально даже сейчас очень очень
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: Крик души

Сообщение an.viktory@gmail.com »

Еще я могу сказать что тот шаблон который генерирует CRUD является очень лаконичным и правильным по структуре на 90% (я не имею ввиду представления, скорее Controller, SearchModel, DataProvider), если что-то не нравится вырежи и добавь свое. Но пилить с нуля и все равно прийти к такой структуре только через переписывание кода по три раза это не вариант

ДА и REST api тоже пишется легко и непренужденно, и его можно катомизировать как угодно.
то что прелагают Symfony и Laravel я пока не понял, но видел как это делается в проектам старше 5 лет. Скажу честно сплошная боль.
Tommi
Сообщения: 90
Зарегистрирован: 2013.08.01, 13:44

Re: Крик души

Сообщение Tommi »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 поддержкой проекта на Symfony занимается комнада из 10 человек (БЕК), делают за 1 месяц то что и на глаз сложно отличить, когда вы зайдете на главную страницу. Это серьезно?? я чего то не понимаю.
Забавно что изначально все эти идеи насчет правильного ООП, слоистых архитектур, DDD создавались именно для того чтобы код решал проще и быстрее проблемы бизнеса. Т.к. код написанный в терминах бизнеса будет органично меняться вместе с изменениями бизнес требований.
Что же конкретно в вашем проекте вызывает эффекты наоборот?
На что тратится все время?
Про конфиги и роуты я понял, но это просто следствие того что еще вы не знакомы глубоко именно с этим проектом?
an.viktory@gmail.com писал(а): 2020.04.17, 01:05 И побывал уже много с каких интернациональных командах
А что в таких англоязычных командах обычно за стек применяемых штук?
Например Jira, свой Gitlab, а разрабатывают по gitflow, докером разворачивается , плюс документация где ведется и общение внутри команды
Tommi
Сообщения: 90
Зарегистрирован: 2013.08.01, 13:44

Re: Крик души

Сообщение Tommi »

А тесты вы в этом проекте пишете?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 Переубедите меня!
Попробую:
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 Вот уже год как пытаюсь слезть в Yii2, типа монолитного негибкого framework, ключевая фраза ТИПА... И так типа работаю на симфони, не о какой герерации кода по пробованным тысячами разрабов решений/шаблонов речи не идет, все кастомное, уникальное (у каждого разраба это свое).
Это у вас как раз привычка работы с монолитным RAD-фреймворком.

Да, для типовых проектов удобно взять готовую админку на GridView и по-быстрому нагенерить ActiveRecord'-ов для CRUD-ов.
Но если вдруг что-то нужно вывести вроде таблицы чуть сложнее, то на готовом Yii вы бы тоже целый день провозились с тем, как в GridView объединить ячейки по colspan или rowspan и как заставить готовый API искать по ElasticSearch + ActiveRecord. Или как в виджет Картика добавить свою кнопку. В итоге бы плюнули на это дело, выбросили готовые GridView и RestController и спрограммировали и сверстали бы всё вручную.

Symfony как раз для кастомных не-CRUD проектов, где удобнее сделать всё под свои требования.

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

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 И так дали задачу поправить action засел на полдня, конфиги и routes в 1000 строк, YAML!!!!! это любовь с первого взгляда, один лишний пробел приложение труп!!!!!, разраб считающий пробелы и догадывающийся что туда писать в моем случае, не об этом я мечтал когда думал по программровании
В PhpStorm пробелы расставляются автоматом по Ctrl+Alt+L. Если вместо Yaml использовать аннотации, то автоподстановка работает везде.

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

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 01:05 Добрались до twig красота) пока не засунул туда vueJS, Angular и пр схожее по форматированию вещь
Ну так Vue/Angular/React фронтенд обычно делают отдельно, а не вкостыливают в Twig. Тогда таких проблем не бывает.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Крик души

Сообщение ElisDN »

zxczxc12 писал(а): 2020.04.17, 10:38 Я так понимаю что термин "прототипирование" подразумевает какой то на коленке быстро сделанный проект с минималным функционалом с целью показать заказчику как проект будет выглядеть или запустить проект и посмотреть взлетит или нет ?
Да, под "прототипированием" имелось в виду взять простой RAD-фреймворк и за полчаса нагенерирровать CRUD-ов на бутстрапе, немного подогнав напильником как в:
an.viktory@gmail.com писал(а): 2020.04.17, 01:05 Я поддерживаю три проекта, за месяц могу перелопатить пол проекта, да админка bootstrap3-4, виджеты от картика, но это лучше и дешевле чем нанять фронтендера который будет желать тоже самое только за деньги)
когда нет желания или ресурсов основательно продумывать требования.
zxczxc12 писал(а): 2020.04.17, 10:38 Ну взлетел проект и что дальше ? С нуля все переписываем на чистовое и по феншую ? Да если проект взлетит, И взлетит очень быстро , То хотел бы я посмотреть на эту иддилию : аритектор вдумчиво проектирует , писатели ТЗ скурпулёзно опрашивают заказчика , тим лид сосредоточенно расписывает спринты , эстимейтит
Есть авантюрные стартапы, делаемые наобум, где полная лотерея взлетит или нет. Вроде какого-нибудь твиттера для сантехников. Там можно хоть на вордпрессе/дермантине/дошираке прототипировать и десятки раз переписывать. Никто не знает точно что нужно делать и ни на что не хватает денег.

А есть реальные проекты и бизнесы. Вроде заказа на написание ERP для действующего завода железобетонных изделий. Или написание или внедрение CRM для сети кинотеатров. Там всё понятно, никто никуда не спешит и есть деньги на архитекторов.

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

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 11:26 А писать админки с 0 кастомную это вообще отдельная история, грохаются космические деньги на то что шло в Yii из коробки 7 лет назад и актуально даже сейчас очень очень
Захожу каждый день в современные онлайн-банки, кабинеты хостингов, CRM и т.п. Вижу, что всё свёрстано красиво и кастомно на Angular. А бэкенд у кого на PHP, у кого на Java. Даже редко у кого вижу стандартный Bootstrap.

Почему? Потому что в бутстраповском grid-12 ни пять колонок вместо четырёх или шести не выведешь, ни колонку в паре мест без костылей не уменьшишь. В итоге через полгода половина вёрстки оказывается на кастомные классы переписана вперемешку с бутстраповскими.
an.viktory@gmail.com писал(а): 2020.04.17, 11:26 Но фактичеки разработка на них медленне в разы, поддержка дороже, и сами приложения не быстрее нифига.
Если бы мир руководствовался только дешевизной, то все должны бы ездить на Daewoo Matiz, так как стоит три зарплаты, бензина ест как мопед, ремонт дешевле и можно парковать хоть поперёк обочины. Но все почему-то покупают автомобили прожорливые, тяжёлые и дорогие, но более комфортные.

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

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 11:26 Но фактичеки разработка на них медленне в разы, поддержка дороже, и сами приложения не быстрее нифига.
У руководителей таких проектов другие приоритеты. Об этом рассказал в https://elisdn.ru/blog/130/enterprise-frameworks
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 11:42 ДА и REST api тоже пишется легко и непренужденно, и его можно катомизировать как угодно.
то что прелагают Symfony и Laravel я пока не понял, но видел как это делается в проектам старше 5 лет. Скажу честно сплошная боль.
Как только вместо стандартного ActiveRecord захочется сделать запрос в ElasticSearch + Redis, то всё идёт лесом. DataProvider из RestController можно выбросить вместе с fields и extra. В итоге останется только 20% от фреймворковского контроллера, а остальные 80% всё равно окажутся написаны вручную.
an.viktory@gmail.com писал(а): 2020.04.17, 11:42 Еще я могу сказать что тот шаблон который генерирует CRUD является очень лаконичным и правильным по структуре на 90% (я не имею ввиду представления, скорее Controller, SearchModel, DataProvider), если что-то не нравится вырежи и добавь свое. Но пилить с нуля и все равно прийти к такой структуре только через переписывание кода по три раза это не вариант
Как раз такую разработку не на Yii сейчас рассматриваю у себя в стримах по разработке проекта под ключ.

Посмотрите, как там сделана регистрация пользователей и скажите, как вы это сделаете на ActiveRecord.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: Крик души

Сообщение an.viktory@gmail.com »

Tommi писал(а): 2020.04.17, 14:06 А что в таких англоязычных командах обычно за стек применяемых штук?
Например Jira, свой Gitlab, а разрабатывают по gitflow, докером разворачивается , плюс документация где ведется и общение внутри команды
И так стек
Symfony1, React, Mysql, MongoDb, DynamoDb, Redis, немного nodejs и python, более 100 доменов на 18 языках
все в докере (поднимается 30 минут комп виснет страшно i7 12Gb, запрос 5 сек)))))
Задачи в JIRA и дока там же, общение в slack в полне все себе современный стек
команда бек 10 человек)
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: Крик души

Сообщение an.viktory@gmail.com »

ElisDN писал(а): 2020.04.17, 20:37 У руководителей таких проектов другие приоритеты. Об этом рассказал в https://elisdn.ru/blog/130/enterprise-frameworks
В данном случае хочется сказать про лебедева) "долго дорого НО обычно"))
Отвечу массово и обшими словами.
Дмитрий Елисеев,я очень уважаю вас как специалиста, считаю единственным публичным и грамотным специалистом в своей области, с вашей работой и уроками я знаком не по наслышке))) поэтому вашу теорию знаю и понимаю что она имеет место, и тоже долго кормлю себя этим делом что Yii2 для джунов и все такое))

НО реальные цифры проекта в котором работал до того как он попал под каток коронокризиса меня пугают а именно
команда бек 10 человек, админка на boostrap 0 (если такой есть), этот 100 летний движок форума и то приличнее
Всего в репозитории около 60000 файлов (естественно без vendor) , команда радостно рапорует о новых трех строках в день в коммите и долго их принимает))
Вся бизнес локига может быть описана в 20-30 контроллерах, но нет это не для нас для нас 5000 actions в разных файлах по 300 строк, в проекте не менее 5 senior 15+ лет стажа!!! Команда из профессионалов все очень умные.
Но траты программисто-часов на поддержку проекта мне кажется космические
И да кстати про кастомность!
Была поставлена задача чтобы в API не светились поля которые не нужны и не безопастны для конкретных action, так вот чтобы это реализоать пришлось придумать очень сложный движок окло 10000 строк кода и 3 месяца) чтобы он эти занимался , в Yii2 я могбы это сделать в 10 раз проще. но как я сказал у руководителей этих проектов задачи другие "долго дорого НО обычно"
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: Крик души

Сообщение an.viktory@gmail.com »

И да кстати Вы сами написали статью как запилить в Yii2 Doctrine, т.е. AR в помощь а не во вред). НЕ нравится вообще никего берете голое подключение и работайте с ним, пока не вижу никаких реальных может в силу малого опыта весомых аргументов кроме как Symfony и Laravel не знают что можно по другому
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Крик души

Сообщение ElisDN »

an.viktory@gmail.com писал(а): 2020.04.17, 21:50 Была поставлена задача чтобы в API не светились поля которые не нужны и не безопастны для конкретных action, так вот чтобы это реализоать пришлось придумать очень сложный движок окло 10000 строк кода и 3 месяца) чтобы он эти занимался , в Yii2 я могбы это сделать в 10 раз проще.
Ну так они в Yii2 тоже бы сделали это в 10000 строк кода и 3 месяца. Но вдобавок бы ещё на синглтонах.
Ответить