Статьи
От выбора платформы для разработки зависит как сама возможность реализации необходимой функциональности, так и трудоёмкость дальнейшего развития веб‑проекта. Для создания сайта, как правило, выбирается одна из платформ: CMS, фреймворк или SaaS‑решение.
SaaS‑платформы еще часто называют «конструкторами сайтов». Основное преимущество этого варианта — весьма хороший уровень качества за очень небольшие деньги. Но кастомизация SaaS‑решений очень ограничена.
Система управления сайтом (CMS) служит для разработки стандартных разновидностей сайтов. Многие небольшие и средние сайты строятся именно на CMS‑платформах, так как это наиболее целесообразный с экономической точки зрения подход.
Фреймворк — это программный продукт, который так же, как и CMS, служит основой для сайта, но фреймворк — это более низкоуровневое решение, обладающее большей гибкостью и производительностью в сравнении с CMS. Этот вид платформ используют почти все крупные веб‑проекты, а также подавляющее большинство веб‑приложений и веб‑сервисов.
SOLID — это аббревиатура, введённая Майклом Физерсом для пяти основных принципов проектирования в объектно-ориентированном программировании:
- Single responsibility — принцип единственной ответственности
- Open-closed — принцип открытости / закрытости
- Liskov substitution — принцип подстановки Барбары Лисков
- Interface segregation — принцип разделения интерфейса
- Dependency inversion — принцип инверсии зависимостей
Принцип заключается в том, что возможности, которые не описаны в требованиях к системе, просто не должны реализовываться. YAGNI основан на идее, что большинство «гипотетических» возможностей, которые кажутся полезными на этапе проектирования, никогда не будут востребованы. Реализуя их заранее, разработчики тратят время, усложняют код и повышают риск ошибок.
PostgreSQL — это популярная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL, отличается высокой надёжностью и имеет широкие возможности. В PostgreSQL нет ограничений на максимальный размер базы данных, количество записей и индексов в таблицах. В СУБД встроены мощные и надёжные механизмы транзакций, есть возможности для репликации, шардинга и партиционирования. СУБД отличает лёгкая расширяемость и возможность тонкой настройки.
JPEG и PNG — это два основных формата для изображений, которые используются на сайтах. В некоторых случаях лучше использовать JPEG, а в некоторых — PNG. Неверный выбор формата обычно приводит к кратному возрастанию размера изображения и, следовательно, к долгой загрузке изображений на медленном интернет-канале (мобильный интернет, например).
Серверные языки программирования нужны для реализации бизнес‑логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или веб‑приложения.
BPM‑системы позволяют организациям оптимизировать свои процессы за счёт автоматизации, улучшения и ускорения коммуникации, повышения прозрачности и сбора ценной информации о показателях производительности.
Рассмотрим системы управления документами, системы управления записями, системы управления цифровыми активами и системы управления веб‑контентом.
GitFlow — модель ветвления системы управления версиями, разработанная для структурированного управления изменениями в коде и повышения качества совместной работы разработчиков.
С технической точки зрения любая функциональность может быть реализована или на CMS, или на фреймворке, или без использования каких‑либо платформ на чистом языке программирования. Однако некоторые проекты проще сделать на CMS, некоторые — на фреймворке, а разработка без использования платформ редко бывает рациональным решением с точки зрения бизнеса. В большинстве случаев, выбор платформы стоит основывать на экономических критериях. В статье приведены основные критерии, которые позволят принять обоснованное решение по этому вопросу.