Собственный фреймворк vs существующих решений. Осторожно возможен HW

Ирокез

бессмертный пони
Команда форума
Партнер клуба
Тема родилась из ветки выбора фреймворка для большого проекта. Флейм не приветствуется.

Мое субъективное мнение, что для большого производительного (быстрого) проекта (при условии наличия команды и архитектора) эффективнее разрабатывать свой фреймворк.

(приглашается grigori), не приветствуются посты без обоснованного комментария
 

С.

Продвинутый новичок
При условии наличия команды и архитектора совершенно не важно, что использовать. Минусы любого варианта (а они есть всегда) посто будут подавлены численным перевесом команды и грамотным командованием начальника.
 

Absinthe

жожо
Готовый фрейморк. Потому что при вливании нового члена команды он начинает работать в плюс значительно быстрее.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Absinthe
написано было: при условии наличия команды и архитектора.

Я за "велосипеды" в такой формулировке.
 

Bardak

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

sobachnik

Новичок
В таком случае поиск нового кандидата будет существенно упрощен в случае использования готового решения.
Мне кажется, что это не так. В случае своего самописного фреймворка (или отсутствия вообще какого-либо фреймворка) будет искаться просто человек, знающий PHP. В случае использования готового фреймворка - будет искаться человек, знающий PHP и этот фреймворк.
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
Ну к примеру, (в моем велосипеде) достаточно объяснить, что
foo.controller.php, являет точкой входа для www.mysite.com/foo/
sql::query запросы к БД
class модель extends TObject (что-то среднее между AR и прямыми запросам)
...
ну еще не более десятка howto и вперед выполняй поставленную задачу.

- при этом при всем, код фв, уже оптимизирован (где-то в ущерб читабельности) под нужды.
- время реакции на баг, критическое

Фремворк не является узким звеном в сложном софте,

Сложный софт, с моей точки зрения, это минимализм и оптимизированность фреймворка, быстрая расширяемость (добавления установившихся конструкций в ядро фв)

и самое главное это оптимальное решение задачи софта, а не использования монстрокода, тех-же к примеру ActiveRecord
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Re: http://phpclub.ru/talk/threads/Фреймворк-для-большого-проекта.70622/#post-630711

Ирокез ты как журналист: много обобщений, ярких, но ложных утверждений
к тому же, есть реальный бизнес и есть ксенофобия, с которой надо в себе бороться

- есть возможность оптимизировать сложные задачи

какую конкретно задачу сложно оптимизировать в не-собственном фреймворке? дай пример(ы)

цена процессорных циклов и памяти продолжает падать, а часа программистов - растет
я могу хорошо оптимизировать ботлнеки, используя yii

- нет зависимости от релизов и новых фич фв
у тебя проект уровня баду и посещаемость намного больше 10 миллионов хитов в сутки? сколько тысяч долларов ты сэкономишь в месяц, ускорив сайт на 5%?
если 0, решение на поведениях и прочем подобии monkeypatching вполне работает

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

- большинство фреймворков, рано или поздно уйдут в монстрокод
есть список названий фреймворков, которые были красивыми, а за 3 года стали монстрами? я таких не знаю
планировать использование технологий больше, чем на 3 года, я не вижу смысла

- этот функционал вам не надо
он не нужен, но и не мешает

- через N-ое количество времени, разработчики ФВ заинтересованные в нем либо уйдут в монстрофичи, либо потихонечку забьют на него

о5 же - Скандалы интриги расследования! Носорог трахает человека!
какие фреймворки из 4х _скатываются_ в монстры? симфони и zf монстрами родились, kohana и yii монстрами не станут и развитие не остановится
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
- оптимальное решение задачи софта
дай примерное описание алгоритма расчета оптимальности!
для меня эффект - это влияние моей работы на фин. результат бизнеса,
условно эффект = прибыль за квартал / затраты за квартал, а оптимум - максимум роста прибыли в результате моих решений
сколько % проца или МБ памяти занято - я не считаю
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
Ну что-ж давай по порядку.

Ирокез ты как журналист: много обобщений, ярких, но ложных утверждений
к тому же, есть реальный бизнес и есть ксенофобия, с которой надо в себе бороться
у меня нет никаких проблем с чужими фв-ми, за исключением того что они как-ты написал в общем решает многие вопросы, но я при разработке решаю не общие вопросы, мне надо качественно и быстро решить четкие задачи. в противному случае , я бы впаривал бы решения микрософта, битрикса, лотус и т.д.

какую конкретно задачу сложно оптимизировать в не-собственном фреймворке? дай пример(ы)
ну давай на вскидку, типичная аналитическая задача прогноза по собранным данным, минимальное количество записей 10.000, надо сделать выборку из бд, расчет и вывод вывод кастомный, страницы на выходе > 1м.б.

цена процессорных циклов и памяти продолжает падать, а часа программистов - растет
я могу хорошо оптимизировать ботлнеки, используя yii
тут мой ответ в виде флейма :)

- нет зависимости от релизов и новых фич фв
у тебя проект уровня баду и посещаемость намного больше 10 миллионов хитов в сутки? сколько тысяч долларов ты сэкономишь в месяц, ускорив сайт на 5%?
если 0, решение на поведениях и прочем подобии monkeypatching вполне работает
нет, ну, какого полового все считают, что нагруженный проект может мерятся только хитами? или другой нагрузки не в состоянии осилить?
у меня проект, работы с огромным количеством данных, которые постоянно растут в своем объеме (подбираюсь к 200 гигам данных), их постоянно надо считать, сортировать, строить графики и т.д.
при этом количество сложных запросов может достигать приличного количества

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

- большинство фреймворков, рано или поздно уйдут в монстрокод
есть список названий фреймворков, которые были красивыми, а за 3 года стали монстрами? я таких не знаю
планировать использование технологий больше, чем на 3 года, я не вижу смысла
на вскидку CodeIgniter, достаточно?

отличное заявление, рассказать заказчику, при долгосрочном проекте что его задача продержится три года (мы интерент магазинчик делаем? или говорим о сложном проекте )

- этот функционал вам не надо
он не нужен, но и не мешает
кто-то там говорил, про принципы разработки (бритва оккамы)?

если я не использую "условно" базовый фукнционал фв (к примеру router), который в версии х.х.х будет пререработан и будет переработан тот функционал который я использую мне придется подстраиваться под новую версию и тратить дорогие часы не на разработку задачи, а на рефакторинг кода, либо делать свою ветку фв-ка.

- через N-ое количество времени, разработчики ФВ заинтересованные в нем либо уйдут в монстрофичи, либо потихонечку забьют на него
о5 же - Скандалы интриги расследования! Носорог трахает человека!
какие фреймворки из 4х _скатываются_ в монстры? симфони и zf монстрами родились, kohana и yii монстрами не станут и развитие не остановится
я рад что ты свято в это веришь, я нет и пологаться на твое утверждение я не могу, потому как отдаю себе отчет в том, что возможно это случиться, а возможно и нет, но вероятность 50 на 50 меня не устраивает[/quote]
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
- оптимальное решение задачи софта
дай примерное описание алгоритма расчета оптимальности!
для меня эффект - это влияние моей работы на фин. результат бизнеса,
условно эффект = прибыль за квартал / затраты за квартал, а оптимум - максимум роста прибыли в результате моих решений
сколько % проца или МБ памяти занято - я не считаю
н-да, оптимизация процессов бизенса, выражаеся не средствах, которые зарабатывает бизнес (не только в этом), а в оптимизации расходов бизнеса,
на основании оптимизации внутренних расходов можно делать более конкурентноспособные предложения уменьшение себестоимости очень серьезное конкуретное приимущество.

как это достигается программированием, просто, оптимизируй процесс генерации отчета клиенту на 10%, при количестве NNNN клиентов, сократишь время затрачиваемое работником, он будет выполнять другие задачи за те-же деньги,

ты рассмотрел одну картину, я вторую, в целом получилась общая картина :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я не решаю общую задачу
у меня проект, работы с огромным количеством данных,
типичная аналитическая задача прогноза по собранным данным, минимальное количество записей 10.000, надо сделать выборку из бд, расчет и вывод вывод кастомный, страницы на выходе > 1м.б.
Вот и все, тема закрыта.

Когда я писал проект для рассылки миллионов писем подписчикам магазинов, я тоже не использовал веб-фреймворк, я использовал специализированный MTA и писал все from sketch.

Этот форум посвящен веб-разработке и созданию веб-сайтов, 99% логики - выборка из небольшого объема данных и генерация вывода маленькой веб-страницы.

Исторически аналитические задачи чаще пишутся на java.
Веб-фреймворки, особенно ActiveRecord, плохо работают на задачах с большими повторяющимися запросами. Тебе не нужен фреймворк, а другим людям не нужны твои решения для аналитики, как не нужна и моя система рассылки миллионов писем.

нет, ну, какого полового все считают, что нагруженный проект может мерятся только хитами? или другой нагрузки не в состоянии осилить?
Так сложилось. Стоимость проекта при продаже, цена рекламы оцениваются как цена за пользователя умножить на количество пользователей.
Количество пользователей - важнейший фактор для большинства коммерческих веб-проектов. Не для всех.

на вскидку CodeIgniter, достаточно?
недостаточно: CI - решение для 4ки, как они пишут "broad compatibility, for shared hosting accounts, simple"
есть тонны устаревших и неудачных решений, не исключающих наличие ряда удачных

отличное заявление, рассказать заказчику, при долгосрочном проекте что его задача продержится три года (мы интерент магазинчик делаем? или говорим о сложном проекте )
не "продержится" (яркое слово), а будет считаться современной.
Владельцы всех сайтов, написанных на symfony 1, сейчас решают - забить или переписывать на 2ке.
У любого кода есть срок морального устаревания, у моих проектов он порядка 2-3х лет,
у тебя может быть больше

кто-то там говорил, про принципы разработки (бритва оккамы)?
неприменимо: принципы касаются того, что делает программист, а не 500 кбайт на винчестере

если я не использую "условно" базовый фукнционал фв (к примеру router), который в версии х.х.х будет пререработан и будет переработан тот функционал который я использую мне придется подстраиваться под новую версию и тратить дорогие часы не на разработку задачи, а на рефакторинг кода, либо делать свою ветку фв-ка.
Еще одна яркая фраза, но в реальности большинство проектов навсегда остаются на той версии фреймворка, на которой они были написаны.
Тебе могут подойти решения вроде Spring с большим сроком поддержки и разработки.

я рад что ты свято в это веришь
я не верю - я знаю, что будет в yii 2, что Саша Макаров хочет сделать его еще меньше, убрать раздражающий всех недо-view, и сделать репозиторий модулей
 

zerkms

TDD infected
Команда форума
на основании оптимизации внутренних расходов можно делать более конкурентноспособные предложения уменьшение себестоимости очень серьезное конкуретное приимущество.
именно. сокращение времени разработки своего инструмента до 0 с заменой на ZF - это отличный пример оптимизации
 

Вурдалак

Продвинутый новичок
Ирокез, я от тебя постоянно что-то про оптимизацию слышу: то в теме про кавычки, то тут. По-моему, время, когда было нужно экономить 1 байт, потратив 1 час уже давно прошло. Сейчас выгоднее в большинстве случаев потратить 1 байт, чем время программиста.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Вурдалак при обработке в php результата выборок >10k записей и выводе страниц >1mb оптимизация становится вопросом не затрат, а работоспособности (не вылезти в своп, не убить базу),
но нас это не касается
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
оптимизация процессов бизенса, выражаеся не средствах, которые зарабатывает бизнес (не только в этом), а в оптимизации расходов бизнеса,
на самом деле это не так, но я не буду с тобой спорить, т.к. уже устал писать тут
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
zerkms нет, дело не в понтах, я переписал фразу, просто долго писать про виды рынков, классификацию позиции на рынке, стратегии развития, EBITDA и разницу между экономикой и менеджментом, а иначе будет разговор слепого с глухим,
причем, в его случае допустимо упрощение до модели "меньше затраты - лучше",
а я уже спать хочу, на сегодня с меня достаточно
 

Absinthe

жожо
В случае своего самописного фреймворка (или отсутствия вообще какого-либо фреймворка) будет искаться просто человек, знающий PHP. В случае использования готового фреймворка - будет искаться человек, знающий PHP и этот фреймворк.
Готовый фреймворк имеет документацию и поэтому гораздо легче в изучении, чем твой. Поэтому обоснуй такую несправедливую разницу в требованиях.

на вскидку CodeIgniter, достаточно?
А тепрь смотрим на его актуальную версию под названием Kohana. Монстр? Нет.

у меня проект, работы с огромным количеством данных, которые постоянно растут в своем объеме (подбираюсь к 200 гигам данных), их постоянно надо считать, сортировать, строить графики и т.д.
А разве фреймворк добавляет не константную нагрузку на запрос?

если я не использую "условно" базовый фукнционал фв (к примеру router), который в версии х.х.х будет пререработан и будет переработан тот функционал который я использую мне придется подстраиваться под новую версию и тратить дорогие часы не на разработку задачи, а на рефакторинг кода, либо делать свою ветку фв-ка.
А свой фреймворк ты не улучшаешь? У тебя в случае самописного фреймворка данная проблема будет еще чаще. Или у тебя под КАЖДЫЙ проект СВОЙ фреймворк С НУЛЯ пишется?
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
...Вот и все, тема закрыта.

Этот форум посвящен веб-разработке и созданию веб-сайтов, 99% логики - выборка из небольшого объема данных и генерация вывода маленькой веб-страницы.
Вот как, я думал этот форум по разработке на php, где можно обсудить все аспекты программирования.

Я не буду флеймить, всего лишь одно grigori.
От тебя так и не поступило ответа, по поводу чем лучше одно от другого, вместо этого ты цитируешь и строишь свои ответы на воздухе.

(ой извините много красивых фраз).

Удачи! :), тему закрываем, ввиду отсутствия комментариев касаемых темы.
 
Сверху