С чего начинать писать свою CMS

Тема в разделе "Как сделать...", создана пользователем Baracuda, 29 авг 2011.

Статус темы:
Закрыта.
  1. Baracuda

    Baracuda Постоялец

    Регистр.:
    31 дек 2007
    Сообщения:
    86
    Симпатии:
    4
    Здравствуйте форумчане. В последнее время устали от существующих бесплатных CMS таких, как drupal, WP и им подобным.

    Подскажите, с чего начать написание своей собственной CMS, с набором именно тех функций, что необходимо. Если еще поделитесь полезной информацией по: оптимизации кода, запросов, как сделать цмс максимально правильной, быстрой и умной.

    Текущий вопрос на повестке дня - правильный ли подход писать свою админку на фреймворке типа Yii или CI или КакаПХП? Или лучше писать свою полностью с нуля? Заранее благодарочка.
     
    FUTURiTY нравится это.
  2. Ewsen

    Ewsen

    Регистр.:
    26 июл 2008
    Сообщения:
    163
    Симпатии:
    59
    Вначале следует написать начальное ТЗ (наброски на 3-5л.). А уже и потом, когда будете дорабатывать ТЗ, то тогда и будет видно стоит ли использовать фреймворки.
    Если задача состоит в том чтобы сделать очередной конструктор типа Друпала или Джумла, то можно сделать и на основе фреймворка. А если это какая нибудь специализированная цмс или что-то небольшое и легкое, то фреймворки будут лишними
     
    FUTURiTY и Baracuda нравится это.
  3. Baracuda

    Baracuda Постоялец

    Регистр.:
    31 дек 2007
    Сообщения:
    86
    Симпатии:
    4
    Планируем сделать небольшой конструктор с набором нужных параметров и с удобной, понятной и главное легко меняемой внешний вид админкой.

    Т.е. под сайт визитку - такой набор, под интернет магазин - такой, под остальные нужды третий. Хочется сделать действительно качественный продукт, не важно сколько времени, сил и денег это займет.

    ТЗ само собой)
     
    FUTURiTY нравится это.
  4. demmy

    demmy

    Регистр.:
    13 ноя 2006
    Сообщения:
    330
    Симпатии:
    96
    Написание своей CMS рекомендую начать с изучения чужих фреймворков.
    Т.к. ЦМС использует массу стандартных вариантов (работа с базой, CRUD, пагинация) то зачем изобретать велосипед?
    От себя добавлю, что стоит посмотреть в сторону Yii. Но у меня на него мозгов не хватило, пока не хватило. Зато code-igniter я осилил на ура. В обоих фреймворках написание собственной ЦМС идет в качестве примера работы фреймворка :)
     
    FUTURiTY и Baracuda нравится это.
  5. 3xmaster

    3xmaster

    Регистр.:
    19 июн 2007
    Сообщения:
    552
    Симпатии:
    130
    FUTURiTY нравится это.
  6. demmy

    demmy

    Регистр.:
    13 ноя 2006
    Сообщения:
    330
    Симпатии:
    96
    FUTURiTY нравится это.
  7. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    890
    Симпатии:
    558
    Занимался данным вопросом. Но только вопросом- до кодинга дело не дошло. Ни знания ни сил ни времени. При этом спорная отдача от реализации.
    Для самописной цмс найдётся довольно много плюсов и минусов. Главное что мне стало ясно- надо или писать простой проект или подходить с полным комплектом знаний, умений точно зная что и как делать. про второй пункт –

    Во первых первоначальные знания – это чтение и знание минимум книг
    Совершенный код, Рефакторинг. Улучшение существующего кода , Приемы объектно-ориентированного проектирования. Паттерны проектирования. Это базис, больше - лучше , но там уже будут идти больше специфичные приёмы.
    Просто вебприложения уже перестают быть допотопными- когда даже с небольшими знаниями, без предварительной работы по организации структуры, документации и прочее прочее можно было состряпать неплохой скрипт. Я не говорю что сейчас 100% популярных и хорошоработающих скриптов \ программ делаются не на коленках. Тут уместна фраза от деда Феди, которую я увидел по тв – он построил самолёт из мусора на свалке, и хвастался что знаний в аэродинамике нет и вообще только школа и пту. И намекал что 100500 законов что ввели учёные, инженеры и прочие- для него полный бред.
    Вывод- чтобы сделать что-то не нужно иметь глубоких знаний, но нужны радикально прямые руки.
    А вот смог бы этот дед сделать пассажирский боинг, и лучше поставить сразу на поток? Нет. Вот для этого ему бы понадобились все эти глубокие знания .
    Так что считаю выработанные приёмы по программированию\проектированию и тп – просто нельзя игнорировать.

    Нужно знание велосипедов и умение их находить\изменять. Хорошо подходят Как уже говрили- существующие движки и фв . Не только на большие классы типа плагинаций и роутинга, но и небольшие типа вычисление даты, обработки текста…

    Теперь о задачах.
    Вообще 50% работы- это как раз должно быть разработка ТЗ и плана, как это должно работать. Предлагали сделать ТЗ как можно объёмным- верно.
    Затем открываем и смотрим на интерфейсы всех готовых систем, которые подходят для этого тз и думаем как переделать конкретно под каждую задачу в тз. Можно посмотреть по форумам, какие движки и за что критикуют.


    Надо подумать и о верстальщиках и о шаблонзаторе. Без шаблонов цмс далеко не поедет.
     
    Алсушка нравится это.
  8. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    Вопрос риторический, на самом то деле. Вот чем ваша цмс лучше скажем друпала будет? У вас 2-3 мейнтенера, у друпала десяти.

    Напишите на листке, что не умеет друпал+джумла+вп и что вы сможете сделать из этого. Тогда вопрос сразу отпадет.

    Считаю, что нужно писать уже на готовом фреймворке, хотя бы потому, что будут реализованы те маленькие кирпичи, которые делать не очень хочется.
     
  9. Yfo

    Yfo Создатель

    Регистр.:
    30 окт 2007
    Сообщения:
    43
    Симпатии:
    4
    Все зависит от того, какие цели преследуются. Если речь идет о работе для опыта, чтобы попробовать свои силы, то можно писать с нуля. Как только будет написано некоторое ненулевое количество кода, появятся собственные библиотеки и принципы организации. Что-то вроде своего фреймворка. Тут уже имеет смысл ознакомиться с готовыми фреймворками и проникнуться мыслью, сколько уже написано до нас.
    Если же речь идет о реальной жизненной ситуации, то средства нужно подбирать исходя из задачи и условий.
     
Статус темы:
Закрыта.