Kohana, Заметки → Развитие фреймворка kohana

Прочли заголовок? Тогда Вы знаете, о чем я хочу порассуждать вслух…

Для начала, опишу саму проблему: последний год (может быть чуть больше), все проекты я пишу на фреймворке kohana. До коханы пользовался codeigniter-ом. Саму коханы выбрал за минималистичность: минимум встроенных модулей, минимум встроенных классов, минималистичная (но очень удобная) файловая структура и пр. Переходить с CI 1.7 было сложно из-за привычек, но далее все было замечательно (чего не скажу про ko2.x)…

Но сегодня я уверен, что придется все-таки переходить на что-то другое. Скорее всего это будет yii или zf. Первый мне не нравится, но второй я вообще терпеть не могу (((

Напрашивается резонный вопрос — а нахрена? Вот на него я и буду отвечать далее…

Помните, как в школе решали задачки? «дано, задача, решение»… Вот я решил пойти примерно тем же путем.

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

Все правильно? По-моему, скромному, мнению — именно так и должно быть. В реальности, все в точности наоборот.

1. Для чего каждые полгода-год менять кардинально апи? Лично я не понимаю смысла изменения валидации, например. Или, для лучшего примера, конфиги: их не просто поменяли, а изменили кардинально! Ну скажите мне, почему нельзя было сделать новые конфиги или валидацию в качестве доп. модуля???

2. Модули. Наверное, самая основная проблема, на данный момент. Не верите? Докажу: на ko3.x я сделал десяток проектов (включая не завершенные). В большинстве из них, часть кода оформлено в виде модулей (например, loginid.ru). Но теперь, даже я сам, не могу использовать эти модули! Они завязаны на другие части фреймворка, которые постоянно меняются. И ладно бы, если это описано, как в случае с валидацией… С последовательностью обработки запроса я до сих пор ловлю баги! Тот же notify отнял у меня столько времени, что намного проще и дешевле было бы вообще отказаться от фреймворка…

3. База. Наверное, от ORM есть огромный плюс, который я до сих пор не могу понять. Иначе, как объяснить, что разработчики фреймворка приносят в жертву скорость работы приложения? Не понимаете о чем я? Сделайте тест: один и тот же запрос (любой, хоть обычный select) на ORM и plain SQL. Меня результат убил: до 2-х раз медленнее!!! Вдумайтесь! Чаще всего, в веб приложении, именно база является узким местом, а тут еще и сами замедляем вдвое…

4. Обратная связь. Нее, я понимаю, что разработчики фреймворка делают, в первую очередь, для себя. И прекрасно понимаю, что нельзя что-то вообще требовать… Но не понимаю, почему тогда нельзя сказать об этом открыто! Возможно я и ошибаюсь, но… Несколько фактов: не спрашивают про изменение структуры фреймворка (включая апи), закрыли вывод постов из русской ветки на форуме(хотя наши разработчики одни из самых активных пользователей фреймворка), нет обратной связи с активными разработчиками (нету, что бы вы сейчас не говорили!) и т.д. Нужны ли вообще пользователи???

К чему это приведет, думаю и сами догадаетесь. Уверен, если провести исследование, большинство пользователей фреймворка уже перебрались на другие. Остались только такие, как я: упортые, которые даже от сотрудников требуют знание коханы. Ну или совсем новички…

Заранее отвечу на некоторые возможные вопросы:

1. Да, я знаю про fuel. Не нравится. Хоть и берет начало из коханы, идеология отличается в корне.

2. Да, я знаю, что CI начал развиваться. Но после ko3.x он кажется ущербным (

3. Нее, не нравится мне питон. Знаю много минусов php, но любому объясню, почему ДЛЯ МЕНЯ php — лучший выбор.

4. Да, я знаю, что можно форкать кохану и развивать как мне нравится. Но! Я не участвую в open source по идеологическим причинам, я не планирую тратить свое время на чужой код и пр. Почему я прошу все это в ответ? Да все просто — люди сами предложили, я не просил. А сейчас я, всего-лишь, пытаюсь дать понять, чего реально не хватает в фреймворке икомманде фреймворка.

5. Да, я готов платить за то, что использую. Как заплатил за винду, офис, the bat и пр. Или, как плачу за касперского. Но! Они решают мои проблемы, а фреймворк пока только добавляет их.

6. Нет, я не готов помогать в разработке фреймворка. См. п 4.

7. Почему я такой упертый и до сих пор не сменил фреймворк? Не вижу достойной альтернативы. Это честный ответ. Подскажите что-то достойное — отблагодарю денежкой…