Мода на веб-фреймворки - тезисы — различия между версиями
Материал из YourcmcWiki
м |
м |
||
Строка 2: | Строка 2: | ||
* «Мода на коробки и фреймворки в вебе — а нужна ли она?» | * «Мода на коробки и фреймворки в вебе — а нужна ли она?» | ||
− | Минусы фреймворков: | + | Тезисы: |
+ | |||
+ | |||
+ | |||
+ | Что такое CMS? | ||
+ | * Движок, на котором «можно сделать всё», причём в идеале «без единого гвоздя» :) | ||
+ | * Смысл именно в позиционировании и целях развития. | ||
+ | * Скажем, MediaWiki — не CMS. WordPress — раньше тоже не был CMS. | ||
+ | |||
+ | Минусы CMS: | ||
+ | * Монстр — Сложная и Неэффективная | ||
+ | ** => Плохо подходит для посещаемых сайтов | ||
+ | **: Это к тому, что и посещаемый сайт сделать на CMS можно — но геморроя не оберёшься. Будут тормоза, будет дорогой хостинг, будут простои, будут падения при внесении доработок и даже, например, сбросе кэша. | ||
+ | ** Сложность программной системы возрастает нелинейно при увеличении размера => отсюда все эти SOA и т. п. | ||
+ | * Вы оплачиваете её неэффективность! | ||
+ | ** Деньгами хостингу серверов | ||
+ | ** Деньгами продавцу коробки | ||
+ | ** Деньгами подрядчикам, её дорабатывающим | ||
+ | * Некрасивая архитектура, оптимизированная под «общий случай». То есть, не оптимизированная ни подо что вообще. | ||
+ | ** Простейший пример — EAV. | ||
+ | * Расчёт на доработку дешёвыми подрядчиками (и, похоже, дешёвыми программистами самой CMS) | ||
+ | ** Как они там в битриксе параметры научиться экранировать не могут | ||
+ | ** Нормальный разработчик в ЭТО потом вообще не полезет | ||
+ | * Вы оплачиваете и её | ||
+ | * Примеры: | ||
+ | ** Битрикс (должен быть стоп-словом) | ||
+ | *** Битрикс можно снести с серверов, но нельзя убрать из головы | ||
+ | *** («Можно вывезти девушку из деревни, но нельзя вывести деревню из девушки») | ||
+ | ** WordPress — внутри тот же битрикс, только открытый и менее коробочный | ||
+ | ** Любые движки интернет-магазинов с EAV | ||
+ | |||
+ | Что такое фреймворк? | ||
+ | * Фреймворк отличается от библиотеки повсеместным применением IoC. | ||
+ | |||
+ | Минусы веб-фреймворков: | ||
* Почти все нужные абстракции в PHP уже есть => фреймворк даёт мало полезного функционала | * Почти все нужные абстракции в PHP уже есть => фреймворк даёт мало полезного функционала | ||
* Жирная зависимость => для библиотек не подходит | * Жирная зависимость => для библиотек не подходит | ||
Строка 14: | Строка 48: | ||
Вывод: | Вывод: | ||
− | * | + | * Полезное применение шире, чем у CMS, но всё же достаточно узкое. |
+ | * Если фреймворк пермиссивный — он, по крайней мере, не вредит сильно. |
Версия 19:15, 31 августа 2012
Название доклада:
- «Мода на коробки и фреймворки в вебе — а нужна ли она?»
Тезисы:
Что такое CMS?
- Движок, на котором «можно сделать всё», причём в идеале «без единого гвоздя» :)
- Смысл именно в позиционировании и целях развития.
- Скажем, MediaWiki — не CMS. WordPress — раньше тоже не был CMS.
Минусы CMS:
- Монстр — Сложная и Неэффективная
- => Плохо подходит для посещаемых сайтов
- Это к тому, что и посещаемый сайт сделать на CMS можно — но геморроя не оберёшься. Будут тормоза, будет дорогой хостинг, будут простои, будут падения при внесении доработок и даже, например, сбросе кэша.
- Сложность программной системы возрастает нелинейно при увеличении размера => отсюда все эти SOA и т. п.
- => Плохо подходит для посещаемых сайтов
- Вы оплачиваете её неэффективность!
- Деньгами хостингу серверов
- Деньгами продавцу коробки
- Деньгами подрядчикам, её дорабатывающим
- Некрасивая архитектура, оптимизированная под «общий случай». То есть, не оптимизированная ни подо что вообще.
- Простейший пример — EAV.
- Расчёт на доработку дешёвыми подрядчиками (и, похоже, дешёвыми программистами самой CMS)
- Как они там в битриксе параметры научиться экранировать не могут
- Нормальный разработчик в ЭТО потом вообще не полезет
- Вы оплачиваете и её
- Примеры:
- Битрикс (должен быть стоп-словом)
- Битрикс можно снести с серверов, но нельзя убрать из головы
- («Можно вывезти девушку из деревни, но нельзя вывести деревню из девушки»)
- WordPress — внутри тот же битрикс, только открытый и менее коробочный
- Любые движки интернет-магазинов с EAV
- Битрикс (должен быть стоп-словом)
Что такое фреймворк?
- Фреймворк отличается от библиотеки повсеместным применением IoC.
Минусы веб-фреймворков:
- Почти все нужные абстракции в PHP уже есть => фреймворк даёт мало полезного функционала
- Жирная зависимость => для библиотек не подходит
- Простые задачи усложняет => для простого не подходит
- В сложных задачах жмёт => для сложного тоже не подходит
- Вам могут тупо не понравиться практики, принятые во фреймворке, а от них никуда не деться
- Одни фреймворки более пермиссивные, чем другие, и в них этот минус частично сглаживается
- Дополнительный источник багов и дыр
- Глобальные перетрахивания фреймворка, происходящие при обновлении языка (например php4 -> php5, неймспейсы) => возможно, придётся перетрахивать и ваш код
- «Автобусный фактор» разработки некоторых фреймворков
Вывод:
- Полезное применение шире, чем у CMS, но всё же достаточно узкое.
- Если фреймворк пермиссивный — он, по крайней мере, не вредит сильно.