|
Форумы xBB > Вебразработка
Написать CMS...
Автор: Arman.
Последнее редактирование: 2009-06-25 17:53:25
Приветствую друзей и остальных форумчан!
Вот наконец-то и в моей жизни веб-разработчика настал момент, когда мне захотелось написать свою CMS.
Тут же возникло много "а если", "или"...
Основные вопросы конечно таковы:
Использовать ли какой-либо фрейвморк для написания CMS, а если использовать то какой?!
С чего начать разработку: написать ли что-то типа selfТЗ или просто взять и начать писать, а править по ходу разработки?!
Воть коротко вопросы над которыми ломаю голову. Собственно хотелось бы услышать мнения и мысли по этому =)
17 комментариев
dima
Может быть мои советы будут неправильными, но опыт написания/переписывания ЦМСок у меня довольно обширный, буду делиться в этой теме по мере надобности.
Во первых, зачем тебе CMS? Если она тебе, чтобы " научиться писать CMS", то не могу ничего посоветовать. Свои я всегда писал/переписывал чисто из практических надобностей. Дальше я буду считать, что CMS нужна тебе не как цель, а как рабочий инструмент для создания сайтов.
Судя по всему ты собираешься писать CMS в одиночку. Скорее всего не за деньги, скорее всего в свободное время. Поэтому совет: не разводи ненужную бюрократию (ТЗ и пр.). Менеджера над тобой нет, контролировать команду тебе не нужно, и времени на лишние телодвижения тоже нет (еще и работать ведь надо). Просто представь, какие минимальные фичи должны быть в твоей CMS и реализовывай их. Когда их реализуешь, поверишь в свою способность достигнуть большего, и т.д.
dima
На счет фреймворков и прочих инструментов. Если ты знаешь, что инструмент X облегчит тебе написание CMS, используй его! Если не знаешь или не уверен, не заморачивайся! Как бы ты ни пытался использовать ВСЕ "правильные" инструменты, у тебя не получится! Всегда найдется какой-то незнакомый инструмент, о котором ты не знал, когда писал свой велосипед. Может быть через год ты хлопнешь себя по лбу и скажешь: "Блин, ну почему я не заюзал ту классную фичу и потратил месяц на всякую фигню!" Не бойся этого. Это бывает со всеми. Даже с самыми "крутыми" прогерами. Если будешь бояться таких ситуаций, то никогда даже и не начнешь писать свою CMS.
Дальше. Не бойся будущего рефакторинга! Без него не обойдешся. CMS - довольно сложная система и спроектировать ее безошибочно не удавалось никому и никогда. По мере ее написания, а потом использования всегда выявляются узкие места в самом фундаменте и приходится рефакторить, рефакторить и еще 10 раз рефакторить. Если хочешь написать CMS, смирись с тем, что ее первоначальный проект будет неидеальным. Жизнь такая.
dima
Еще совет. Не грузи себя от общения с коллегами. Если какой нибудь распальцованный деятель начнет тебе доказывать, что ты, - ламер, раз в твоем коде не нашлось место паттерну "ШешБеш", не надо тут же браться за внедрение этого паттерна в свой код. Если будешь гнаться за всеми модными поветриями, не напишешь ничего стоящего. Хочешь написать что-то стоящее, иди к намеченной цели, не поворачивайся влево-вправо как флюгер. А "ШешБеш" заюзаешь тогда, когда он действительно будет облегчать тебе жизнь.
Чего то я ударился в философию  Это потому что вопрос такой чересчур обширный.
К теме. Используй что хочешь, но учти: любую ошибку можно исправить, кроме URL'ов страниц. На работающем сайте URL'ы страниц менять нельзя. Технически, конечно, можно, но практически нельзя  Поэтому проектируй свою CMS так, чтобы в дальнейшем можно было провести любой рефакторинг не изменяя урлов страниц. А урлы по нынешним временам должны быть ЧПУ. Как, например, на этом сайте.
Arman
Спасиб, Дим!
Учту...
Появятся еще мысли - пиши ;)
dima
Уже начал писать?
Arman
Еще нет. Появилось тут задание по вакансии одно. Сначала его реализовать нуна.
Vlad
Написание CMS — это как этап становления в веб девелоперы 
Попробуй задать себе пару вопросов: Уникальна ли твоя будущая CMS? Может стоит обойтись уже существующими аналогами? Первая, написанная с нуля CMS дает, безусловно, бесценный опыт в веб-разработке. Но разработчик не должен брезговать использования фреймворков, ибо в этом вся суть эффективного программирования. cakePHP, Zend Framework, Symfony — все это облегчает жизнь веб-разработчику.
Arman
Временно приостановил свои потуги ибо в срочном порядке требуется изучить ZF (нашел новую работу и там он будет основой для всего). Воть. Возможно после освоения на его основе что-нить наклепаю.
Кстати, написание своей CMS действительно - огромный опыт для веб-разработчика. Понял это когда начал ее писать. Узнал много нового и закрепил тучу старого.
dima
Если ты хорошо овладеешь ZF, то написание CMS сильно и сильно упростится. Фактически останется только продумать пользовательский интерфейс.
Гость SandZ
Да! Сам сейчас начинаю писать свою CMS и тоже немогу определиться с флаемворком..
что проще, что удобнее, что лучше?
Если ты хорошо овладеешь ZF, то написание CMS сильно и сильно упростится. Фактически останется только продумать пользовательский интерфейс.
действительно? хм)
Ответить:
|