Блог студии 77

Как и на чем делать сайт?

16 мая 2012

Современный мир веб-технологий предлагает массу методов и вариантов создания веб-сайта. У клиента, зашедшего на фриланс, просто разбегаются глаза от обилия предлагаемых движков, методов и технологий. В этой статье я попытаюсь осветить проблему и сделать ее понятной для любого.

Сразу отбросим бесплатные конструкторы сайтов (ucoz.ru и др.). Это не серьезно, не гибко и не презентабельно. За язык разработки возьмем PHP. Не хочу вдаваться в споры и начинать «святые войны», но PHP имеет самый богатый выбор отличных бибилиотек, фреймворков, CMS и огромное интернет-комьюнити. Ruby, Python, ASP.NET и прочие серверные языки серьезно уступают в этом.

1. Самописные движки – самый универсальный метод разработки. Дает абсолютно полную свободу действий разработчику в решении любых задач исходящих от клиента. Программист ограничен только собственой изобретательностью. Наша студия большинство проектов выполнила именно на собственном движке.

Минусы:

  • доработка проекта сторонними программистами (незнакомыми с движком) будет немного дольше и сложнее;
  • невозможность за 1 минуту перенести класс с одного проекта в другой. А зачастую невозможность перенести вообще класс, так как он жестко завязан в движке.

2. CMS(Content Managment Systems) системы. Готовое, быстрое, недорогое, не заточенное под заказчика решение. Существует масса CMS с огромными комьюнити разработчиков и массой готовых плагинов, позволяющие сделать шаблонный интернет-магазин или мощный блог за день, даже не имея особых знаний в веб-программировании. Стандартная настройка вообще не требует знаний PHP. Однако тонкая настройка таких сайтов довольно трудоемка, а в некоторых случаях невозможна из-за архитектуры самой CMS. Мое субъективное мнение, что рационально использовать CMS в таких случаях:

  • нужен блог/сайт визитка. Wordpress с набором плагинов удовлетворит практически всех.
  • нужен интернет-магазин (в ближайшие дни), функционал стандартный и не заточенный под ваши нужды. Подойдут как широкозадачные Joomla или Drupal, так и cms-магазины ShopCMS, WebAsyst и др.
  • нужен каталог чего либо со стандартным функционалом
  • нужен магазин со связью с 1С и без возможности выбирать данные из 1С – 1С Битрикс (мне кажется он только поэтому и пользуется популярностью)

В случае разработки сайта для заказчика – CMS «опасны» тем, что заказчик может упереться и потребовать сделать какой-то модуль под него, что чревато временными затратами.

3. Frameworks (фреймворки) – это каркас веб-приложения и набор бибилиотек, рассчитанных на программиста. Фреймворк позволяет думать только о логике работы и отвлечься от рутинных операций. Почти такой же гибкий метод разработки, как и самописные движки. Имеет массу плюсов:

  • универсальность кода (поймут все знакомые с этим фреймворком разработчики);
  • богатый выбор функций и библиотек в комплекте (а чего нет, находится и прикручивается);
  • высокое качество кода (годами фреймворк отлаживали на реальных проектах);
  • позволяет легко масштабировать проект (дополнять функционал).

Минусов же совсем немного:

  • могут возникнуть некоторые архитектурные сложности в реализации задач;
  • делать небольшой сайт на большом фреймворке – это как стрелять из пушки по воробьям.

ТОП-5 фреймворков на сегодня: Zend Framework, Symfony, Kohana, Yii, CodeIgniter.

Выводы за вами. Писать собственный несложный PHP-движок, использовать CMS-системы или же разрабатывать веб-приложение на основе мощных фреймворков. Перед выбором метода советую внимательно прочитать техническое задание и много думать, сэкономите силы :)

Как и на чем делать сайт?

Другие статьи автора: