Этот пост, наверное, не столько опыт, сколько планирование своих действий. Но я думаю, что этакий план применим ко многим разработчикам.
Когда-то давно я писал пост о том, что закончил написание собственной системы управления сайтами. Однако, "закончил" в данном случае - это слишком громкое и абсолютно неуместное слово. Прошло уже столько много времени, а я ее все еще пишу. Пишу под каждый проект... ну или товарищи мои пишут (есть ведь у меня несколько коллег, с которыми я неплохо сработался). Для каждого проекта создаются определенные модификации модулей системы, собирается система из разных модулей для достижения определенной функциональности. Расскажу немного о том, как происходит процесс.
После прочтения и осмысления техзадания на создание сайта сначала обнаруживается в недрах жесткого диска одна из подходящих версий самой CMS, потом по архиву выполненных работ ищутся нужные модули системы, соответствующие им запросы к БД, изображения, папки и функции, конфиги и т.д. Следующим шагом идет сборка всего обнаруженного в единый комплект. Затем производятся необходимые модификации модулей - внедрение новых полей или удаление ненужных.
На этом заканчивается этап сборки сайта. Начинается этап верстки макета, если он уже готов, либо же его ожидание, а потом - верстка. Но и здесь тратится довольно много времени на актуализацию модулей - в случае с моей KatrinCMS дизайн модулей хардкодом забит в нутро каждого модуля. Да, это техническая недоработка. Но с тем опытом, который у меня был на момент создания первой версии ЦМСки, даже таковой - уже достижение. После сборки и верстки начинается тестирование и наполнение проекта контентом.
Так вот, проблема в моем случае - это существенные временные затраты на сборку комплекта системы управления, модификации модулей и хардкод-верстку. Кроме того, в большинстве случаев верстальщик из нашей "компании" не сможет сделать сайт, не зная РНР. Ему приходится обращаться к кому-то из программистов или ко мне.
По моим подсчетам, затраты времени можно снизить, ни много, ни мало, на 70%, а сам процесс создания сайта сделать настолько доступным, что даже командный верстальщик или дизайнер с опытом верстки мог бы большую часть работы выполнить самостоятельно. Таким образом выросла бы прибыльность работы и скорость ее выполнения без ущерба для качества.
Но как этого добиться?