Коротко о CMF
— Что мне может дать использование CMF OpenKit? Позволяет ли он разрабатывать программы быстрее?
Как работает CMF OpenKit?
OpenKit – это оболочка, которая способна объединять в единую систему модули, создаваемые не связанными друг с другом разработчиками.
Модуль – это полноценное автономное приложение, которое может быть как монолитным (подобно большинству сценариев PHP или ASP), так и многоуровневым, а также распределенным. Каждый модуль сам отвечает за свою установку, создание объектов в базе (базах) данных, подготовку файловой системы и очистку ресурсов при удалении из оболочки.
Модуль содержит HTML фрагменты – экраны, – являющиеся графическим интерфейсом к прикладной объектной модели. Никакого дизайна они не содержат. Экранов может быть много, как отдельно стоящих, так и находящихся в сложных взаимоотношениях. Для отделения дизайна от данных, каждый экран может поддерживать заглушки данных и элементы управления, которые встроены в сам модуль вместе с документацией по их использованию.
Модуль может использовать объектные модели других модулей (они должны регистрироваться в системе раньше и удаляться позже).
Оболочка ничего не знает о модулях кроме одного общего программного интерфейса. Ее задача исключительно административная: организация HTML экранов модулей в web-сайты. Разработчика модулей логика ее работы никак не касается.
Что мне может дать использование CMF OpenKit? Позволяет ли он разрабатывать программы быстрее?
OpenKit дает полный контроль над кодом, как серверным, так и JavaScript, за счет полной изоляции от ASP.NET.
OpenKit позволяет разрабатывать программы быстрее за счет трех моментов:
-
Не нужно думать о графическом дизайне приложения. Дизайн создается дизайнерами для каждого конкретного случая и навешивается на OpenKit по мере необходимости;
-
Предлагается типовая архитектура модуля и набор правил, которые не нужно придумывать при создании каждого нового модуля. Как вариант, можно придумать свою архитектуру и свой набор правил один раз и использовать их в каждом новом модуле.
-
Для разработки модулей возможно использовать консольную оснастку, компиляция в которой намного быстрее, чем компиляция web-сайта.
С другой стороны, скорость создания объектно-ориентированных систем всегда ниже чем процедурных программ, а OpenKit, за счет разбивки системы на полностью автономные модули, стимулирует разработку именно их. Разработка объектно-ориентированных систем не позволяет по быстрому сваливать все в одну большую кучу и потому более трудоемка, требует специальных навыков. Зато они могут переносить существенные модификации в то время, как процедурные приложения приходится переписывать заново, что в итоге обходится значительно дороже.