Як написати движок для сайту

Як написати движок для сайту

Часи статичних сайтів, а також сайтів, лише частково надають динамічний контент, безповоротно пішли. Серверні потужності дозволяють використовувати CMS для побудови навіть маленьких інтернет-ресурсів. На сьогоднішній день доступно безліч безкоштовних CMS з функціоналом на будь-який смак. Багато хто з них розробляються командами професіоналів і дуже добре себе зарекомендували. Однак і сьогодні безліч ентузіастів прагнуть написати движок для сайту з нуля.

Вам знадобиться

- Доступ в інтернет;
- Сучасний браузер.

Інструкція

  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.