Мода на веб-фреймворки - тезисы — различия между версиями

Материал из 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, но всё же достаточно узкое.
  • Если фреймворк пермиссивный — он, по крайней мере, не вредит сильно.