Вам понадобится
- - доступ в интернет;
- - современный браузер.
Инструкция
1
Запланируйте функционал движка. Ответьте на вопросы общего плана, касающиеся назначения и типа разрабатываемого продукта. Определитесь, будет ли это универсальная CMS, или что-то более узконаправленное (блог, платформа для онлайн-торговли, сайт сообщества, новостной портал). Ответьте на конкретные вопросы относительно требующихся возможностей. Подумайте, нужна ли на сайте галерея изображений, форум, новостная лента, файловый архив, и т.д. Должен ли подобный функционал быть жестко интегрирован в ядро, или же он может быть представлен в виде модулей расширений.
2
Продумайте архитектуру движка. Как правило, архитектура современных CMS следует MVC-парадигме. На данном этапе имеет смысл изучить уже существующие решения, коих существует весьма большое количество.
3
Определите технологии, на основе которых будет реализован основной функционал продукта. Выберите язык программирования. Стандартом де-факто для разработки CMS сейчас является PHP. Хотя можно рассмотреть использование ASP .NET, Java, Python. Выберите технологии хранения данных. Как правило, современные CMS используют базы данных в качестве основного места хранения информации. Но в отдельных случаях можно положиться на файловую систему. Выделите другие технологии, которые потребуются для работы движка (библиотеки обработки графики, проверки орфографии, криптографические модули, и т.д.).
4
Изучите документацию по продуктам и технологиям, на основе которых будет построен проект. Определите целесообразность использования каждого продукта или технологии. При необходимости произведите корректировки в перечне технологий, найдите приемлемые альтернативы.
5
Составьте план или техническое задание на разработку. Даже если к разработке не планируется привлекать никого, кроме инициатора проекта, следование четкому плану или пунктам технического задания сэкономит большое количество времени и сделает труд гораздо более эффективным. При старте проекта имеет смысл составить задание на разработку ядра (и, возможно, тестовых модулей) CMS с минимальным функционалом.
6
Реализуйте часть проекта в соответствии с ранее разработанным техническим заданием.
7
Произведите тестирование функциональности, реализованной на предыдущем шаге. Выявите ошибки. Составьте список ошибок и задания на доработку. Назначьте ошибкам показатели приоритета исправления. Отсортируйте ошибки в соответствии с их приоритетом.
8
Исправьте найденные ошибки. Возможно, на данном этапе будут выявлены другие проблемы в работе системы. Дополняйте список ошибок, произведите исправление каждой из них.
9
Определите необходимость дальнейшей доработки или модификации движка сайта. Ответьте на вопрос о соответствии имеющегося функционала ранее запланированному, об удовлетворении параметров работы системы предъявляемым критериям качества. В случае если требуется дальнейшая разработка, перейдите к шагу 5 для совершения следующей итерации развития продукта.
Обратите внимание
Реализуя движок сайта "с нуля", будьте особо внимательны при обработке принимаемых извне данных. Недостаточная фильтрация может быть причиной уязвимости, несущей угрозу безопасности.
Полезный совет
Как правило, использование или доработка существующих решений позволяет гораздо проще и быстрее получить желаемый результат. Если вы собираетесь разрабатывать движок не ради создания нового продукта, имеет смысл выполнить проект на базе существующего кода. Например, использовать ядро Drupal или популярные CMF вроде CodeIgniter или Simfony.