Изменения

Мода на веб-фреймворки - тезисы

505 байтов добавлено, 22:12, 1 сентября 2012
м
Нет описания правки
** Деньгами продавцу коробки
** Деньгами подрядчикам, её дорабатывающим
**: Дешёвым — обычно несколько раз
* Некрасивая архитектура, оптимизированная под «общий случай». То есть, не оптимизированная ни подо что вообще.
** Простейший пример — EAV.
* Примеры:
** Битрикс (должен быть стоп-словом)
*** БИТРИКС ДЕТЕКТЕД! Вполне «БИТРИКС ДЕТЕКТЕД» — вполне катит для отдельного раздела на говнокод.ру.
*** Битрикс можно снести с серверов, но нельзя убрать из головы
***: («Можно вывезти девушку из деревни, но нельзя вывести деревню из девушки»)
Что такое фреймворк?
* Фреймворк Как и библиотека, набор заранее написанного функционала…* Но фреймворк отличается от библиотеки повсеместным применением IoC.
Минусы веб-фреймворков:
* Почти все нужные абстракции в PHP уже есть => фреймворк даёт мало полезного функционала
*: Зачастую «умного» функционала, который мог бы быть очень полезен, как раз и нет, а есть только совсем шаблонные решения?. Обёрнутые в классы, фабрики и фабрики фабрик.* Жирная зависимость => для библиотек не подходит. Библиотека под фреймворк — это уже не библиотека, а плагин.* Простые задачи проекты усложняет => для простого не подходит.* В сложных задачах проектах жмёт => для сложного тоже не подходит.* Остаются «средние» сайты…проекты… (а это вообще что?)
* Вам могут тупо не понравиться практики, принятые во фреймворке, а от них никуда не деться
*: Одни фреймворки более пермиссивные, чем другие, и в них этот минус частично сглаживается
* Дополнительный источник багов и дыр
* Глобальные перетрахивания фреймворка, происходящие при обновлении языка (например php4 -> php5, неймспейсы) => возможно, придётся перетрахивать и ваш код
* Очень обидно, если для переопределения чего-то нельзя обойтись без патчинга фреймворка — а такое бывает!
* «Автобусный фактор» разработки некоторых фреймворков
* Внутренние фреймворки — вообще отдельная песня. С ними решение — либо опенсорс, либо не особо сильно на них полагаться. Либо и то, и другое.