На каком движке лучше всего создавать сайт?

programmer

Member
Само понятие «движок для сайта» – очень широкое, это может быть как один управляющий скрипт index.php, в котором стандартной PHP функцией include() собираются («инклудятся») файлы, содержащие статические куски HTML кода, так и более сложные программы, CMS из их числа. Приведу простой пример. Содержимое следующих частей сайта: «шапка», блок с меню, блок с контентом и «подвал» — вынесено в отдельные файлы, которые собираются в единое целое в index.php. Файлы (страницы) с контентом, если их много, можно вынести в отдельную папку /include и «инклудить» уже из нее при помощи массива, при этом для каждой страницы можно создать уникальные заголовки и мета-данные, прописанные в конфигурационном файле config.php.

Это приблизительный вариант создания собственного движка для сайта. Пример кода — не привожу, потому что на данном этапе вам важно понять только принцип организации движка.


О роли СУБД в процессе создания сайта
lamp.jpg


Очень часто для удобного обращения с большим количеством данных программисты (и не только) используют базы данных. В случае с сайтом, текстовое или графическое содержимое часто выносится в базу данных, которая хранится на удаленном сервере. Примером СУБД (системы управления базами данных) является MySQL. Вы, наверняка, познакомитесь с MySQL (или PostgreSQL) при организации хостинг-пространства для вашего сайта, использовании более-менее сложного скрипта, или в процессе установки CMS системы. Но сейчас мы не о параметрах хостинга, сейчас речь о технологии.

resum_peng.jpg


Технологически это так: данные расположенные в базе создаются, модифицируются и управляются при помощи SQL-запросов, которые, в свою очередь, создаются на основе языка структурированных запросов SQL. Но это в чистом виде. Язык PHP, в свою очередь, наделен различными функциями для работы с MySQL. Через php-скрипт мы можем подключаться к серверу MySQL и выбирать базу данных (mysql_connect(), mysql_select_db()), передавать sql-запросы (mysql_query()), обрабатывать результаты запросов (пусть mysql_fetch_array()) и завершать mysql-соединения.

Под сервером базы данных понимается не только отдельно установленная машина выполняющая роль сервера MySQL, но и функциональный сервер. Грубо говоря одна «железка» может служить и web-сервером (apache, nginx), и mysql-сервером и т.д. Но об этом мы поговорим в статье, посвященной выбору хостинга. Как вы уже поняли, подобные технологии применяются при создании/управлении сайта в целом. Следует заметить, что web-программисты иногда используют базы данных на текстовых файлах, но это уже отдельная история.


Что лучше: «голый» PHP или фреймворк?
php-ruby-python-300x196.jpg


Наверное подобная тема не совсем для новичков, тема достаточно «холиварная», но иметь некоторые представления будет не лишним для того, чтобы правильно определиться с выбором лучшего движка для своего сайта. Если мы берем за основу PHP, а есть и другие скриптовые языки программирования, то следует сказать, что многие программисты используют так называемые MVC-фреймворки основанные на языке PHP. Использование фреймворков — это особый подход к проектированию и созданию веб-проектов. Zend Framework, Symfony, CodeIgniter, Kohana и многие другие, созданы для быстрой разработки приложений на PHP, но это не единственный критерий. Однако, сам фреймворк вам тоже придется изучать. Многие фреймворки, как своеобразная «надстройка» над PHP — требовательны к ресурсам сервера. Специалисты много и упорно спорят на тему: «Что лучше использовать в качестве движка для сайта?». Одни утверждают, что если есть PHP, тогда зачем фреймворк, зачем посредник «съедающий кусок ресурсного пирога», ссылаясь на то, что самые крупные и популярные сайты написаны на чистом PHP. Другие считают разработку при использовании фреймворка более передовой и удобной — следующим шагом на пути развития PHP программиста. Некоторые считают, что при использовании фреймворка, при определенных условиях, можно даже «выиграть» в производительности. Сам PHP умеет работать в разных режимах (например — mod_php), что также может сказаться на производительности.

Кодить самому или выбрать решение из «коробки»?
bad-code.jpg


При создании сайта на PHP или PHP + фреймворк нужно отдавать себе отчет в том, что уровень программирования у всех разный, что для создания мощного сайта не достаточно просто знаний синтаксиса языка. Критериев к качественно исполненному (с программной точки зрения) сайту — очень много (безопасность, функциональность, производительность и т.д.) и учесть всех нюансов часто не под силу начинающему. Есть специалисты, занимающиеся исключительно тестированием новых программных проектов, эта не простая процедура очень важна при создании сайта с использованием уникального программного кода. Все это не зря и именно об этом вспоминают опытные программисты, когда употребляют неблагозвучную фразу «говнокод» по отношению к очередному кривому модулю для популярной CMS или какому-то неудачному проекту с открытым исходным кодом. Все это говорит о том, что определиться с лучшим движком для своего сайта можно только в том случае, если подбирать движок под конкретные особенности своего сетевого проекта

Не бывает ничего идеального и не секрет, что даже многие CMS (распространяемые под разными лицензиями, в том числе и коммерческие) не всегда (или не полностью) соответствуют вышеперечисленным критериям качества программного кода. Однако, пишут CMS и составляют обновления для них программисты высокой квалификации (в большинстве своем), подобные системы тестируются на проектной стадии и сообществом, что сокращает шансы напороться на проблемы разного характера. Для коммерческих CMS расширения (компоненты, модули, плагины) создаются централизованной группой разработчиков самой CMS или одной из групп, а вот расширения для open source CMS могут создаваться кем угодно и как угодно. Зачастую, именно в расширениях и наблюдается «говнокод» — со всеми вытекающими. Однажды, один из моих сайтов на базе CMS Joomla был взломан по вине хостинг провайдера (да, хостеры тоже грешат «криворукостью»), но вредоносный код был размещен именно в сторонних расширениях (популярных и с хорошей репутацией). В целом, статей на данную тему в интернете больше чем «пупырышек на теле бегемота», но понимание придет не сразу, потому что все это уже из области программирования, которым владеют не все создатели сайта. Не всем оно и надо. Теперь пора поговорить о CMS системах подробнее, моя следующая статья посвящена именно им — системам управления контентом (CMS).
 

prorab

New Member
Топ-5 наиболее популярных CMS: какую выбрать?



В последние годы интернет настолько стремительно поразил общественность, что не только стал весомой частью человеческой жизнедеятельности, но также и ключевым фактором в развитии бизнеса. Интернет играет существенную роль и оказывает огромную помощь компаниям в ведении бизнеса и его развитии, даёт хлеб программистам, а также является отличным средством коммуникации для всех людей. Но чем бы был интернет без так называемого виртуального информационного пространства? Это пространство состоит из миллионов веб-сайтов.

Не важно, являетесь вы новичком, не знающим ничего о построении сайтов, или же умудрённый опытом профессионал, вы можете стать частью виртуального пространства, создав веб-сайт. Есть только один большой вопрос – каким образом? Естественно, вы можете нанять команду профессиональных дизайнеров, программистов и SEO-менеджеров, которые воплотят в жизнь вашу идею, либо же вы можете воспользоваться CMS (content management system).

Из всей огромной массы веб-сайтов, наполняющих интернет, около 31% используют CMS. Ниже представлен график, показывающий историческую динамику доли веб-сайтов на CMS, начиная с 1 сентября 2011 года до 19 сентября 2012 года. График показывает отчетливую положительную тенденцию в сторону увеличения доли сайтов с CMS, а всё потому, что эти инструменты делают вашу жизнь проще. Существует множество CMS, и вы можете выбрать наиболее подходящую для себя, в зависимости от целей и специфики вашего веб-сайта.

Рисунок 1 Динамика использования CMS в веб-сайтах за период с 1 сентября, 2011 до 19 сентября 2012.
16c68b8a0f684faf1cbb8cb565ea76ca.png


Существует множество причин для создания собственного сайта. Он может представлять ваш бизнес (корпоративный сайт), служить онлайн-магазином, быть социальной сетью, информационным порталом, галереей, блогом, форумом и так далее. Вместе с тем, как мы уже говорили, существует множество различных CMS, каждая из которых может быть в той или иной мере полезной для каждого из типов сайтов. Стоит упомянуть, что сегодня получили распространение так называемые open source CMS, то есть бесплатные. Как правило, у этих систем есть довольно мощные комьюнити, обеспечивающие постоянное развитие CMS и наполнение их различными «фичами».

В этой статье мы намерены рассказать вам о преимуществах и недостатках пяти наиболее популярных CMS. Вполне возможно, что эта информация поможет вам принять правильное решение, когда вы захотите создать свой собственный веб-сайт. Итак...

Рисунок 2 Процентное соотношение использования различных CMS
78136561f2fb21a702480adb141479de.png


Диаграмма показывает рыночные доли различных CMS на современном этапе. Как мы можем видеть, более половины CMS-сайтов используют WordPress. И сейчас вы поймёте почему.

WordPress: Правит Интернетом!

c307000643618b65f6a0ac5a56ae0144.jpg


Тяжело сказать что-то новое о WordPress. Эта CMS изначально зарекомендовала себя как инновационная блог-платформа с высокой юзабилити. Но развитие функционала системы обеспечило ей высокую популярность также и среди других форматов веб-сайтов. Сегодня индустрия веб-дизайна обеспечена высоким спросом на услуги в области разработки под WordPress. WordPress используется везде, начиная от личных блогов и заканчивая e-commerce сайтами.

Преимущества:
  • Это наиболее популярная CMS: более половины пользователей предпочитают именно WordPress. Возможно, данная статистика уже является сильным доказательством в пользу преимущества данной системы;
  • Наиболее широкий набор плагинов, тем, виджетов для галерей, форумов, мультиязычность, различные каталоги, магазины и так далее;
  • WYSIWYG редактор облегчит жизнь тем, у кого есть проблемы с HTML-разметкой и другими языками;
  • Технический опыт не обязателен. Админ-панель намного проще, чем в других CMS: PHP и CSS файлы можно редактировать непосредственно в админке. Например, можно легко вставить текст из любого текстового редактора, в отличие от Drupal или Joomla;
  • Также WordPress — довольно сильный инструмент для разработчиков и дизайнеров, которые создают сайты для клиентов.
Недостатки:
  • Система даёт огромное поле для выбора, поэтому главная проблема – как использовать все её возможности правильно? Эта CMS будет работать намного лучше, если правильно кастомизировать настройки;
  • Если вы новичок, то можете столкнуться с некоторыми проблемами при установке, несмотря на распространённое мнение о самом лёгком процессе установки.
Лучшее решение:
Эта CMS может быть лучшим вариантом, если вам нужен легко администрируемый веб-сайт. Использование данной системы обеспечивает широкий, но вместе с тем простой функционал. WordPress – идеальный вариант для новостных сайтов или блогов, но, как мы уже писали, она используется и для сайтов других типов.

Joomla: симпатичная, но мелковатая, как девушка вашего брата

dc9102819d0c95b7d06fc885e347bea6.jpg


Joomla следующая по популярности CMS, которой пользуются 9% юзеров. Это что-то среднее между обширными возможностями ориентированного на разработчиков Drupal и простотой WordPress, но с более широкими возможностями для разработки. Несмотря на это, Joomla обладает дружественным пользователю интерфейсом.

Преимущества:
  • Несмотря на простоту в сравнении с Drupal, Joomla является полноценным инструментом для разработки;
  • Поддержка протоколов контроля доступа (OpenID, LDAP, Gmail.com);
  • Наличие удобной админ-панели с широким набором функций: шаблоны, стили, управление меню и так далее;
  • Простой процесс установки для неопытных пользователей;
  • И ещё невозможно пропустить тот факт, что эта CMS довольно красивая.
Недостатки:
  • Система довольно поверхностна и слаба, несмотря на всю универсальность;
  • Больше платных плагинов и тем в сравнении с WordPress. Будьте готовы платить;
  • Для неопытных пользователей может показаться, что Joomla обладает множеством ненужных функций, а для опытных пользователей она слишком простая.
Лучший выбор:
Joomla – это лучшее решение, если вы ищите CMS с расширенными функциями и фичами. Она обеспечивает более богатую и гибкую структуру веб-сайта, чем WordPress.

Вы можете использовать Joomla для создания корпоративного сайта, сообщества или сайта с e-commerce функциями.

Drupal: Сила и мощь!

ca5321ab3949352072a431a26e5ece94.png


Около 7% пользователей предпочитают Drupal. Разработчикам нравится его всеобъемлющая мощь и дружественный разработчику интерфейс, который позволяет создавать сложные веб-сайты. И, как другие «крутые» инструменты, Drupal требует некоторых технических навыков, без которых вы могли бы обойтись, используя Joomla или WordPress.

Преимущества:
  • Наличие так называемых хуков (hooks), которые позволяют избежать практически любых проблем в системе;
  • Модули CCK и VIEWS позволяют конструировать произвольные типы данных и их отображение;
  • С каждым новым релизом Drupal становится всё проще в плане использования;
  • Эта система известна своим модулем Taxonomy, который позволяет систематизировать контент по уровням, признакам и категориям;
  • Drupal имеет активную и большую комьюнити;
  • Огромное количество модулей, которые позволят добавить сайту множество фичей, таких как пользовательские блоги, OpenID, форумы, профили и так далее, повышая функциональность.
Недостатки:
  • Из-за своей сложности Drupal определенно не подходит для неопытного пользователя. Для того, чтобы кастомизировать модули в Drupal, необходимы дополнительные навыки в области программирования. Но вы можете нанять специалиста для этих целей.
  • Drupal требует прогрессивного технического оборудования, иначе могут возникнуть некоторые проблемы в плане производительности. Поэтому вам нужно быть уверенными в том, что ваши сервера выдержат нагрузку, создаваемую такой сложной системой.
Лучшее решение:
  • Это хороший, но технически сложный инструмент для конструирования высокофункциональных, разносторонних и расширенных сайтов.
  • Обычно Drupal используется для сайтов, требующих сложной организации данных: для форумов, онлайн-магазинов, веб-блогов, корпоративных веб-сайтов и комьюнити.

vBulletin: Сила быка для вашего форума!

a62feeb5a3b6f1083d53f6ec47487bfe.jpg


Этой CMS отдают предпочтение около 4% пользователей. Но говоря о популярности, стоит отметить, что эта система в последние годы теряет свои рыночные позиции. vBulletin обеспечивает пользователя инструментарием для создания и администрирования форумов и блогов.

Преимущества:
  • vBulletin – передовое и инновационное решение для создания форумов;
  • Широкий спектр бложных плагинов;
  • — Много скинов и чистый код;
  • Простая и симпатичная админ-панель;
  • Высокий уровень безопасности, благодаря чему на этой платформе создано большое количество форумов;
  • Множество компонентов для SEO.
Недостатки:
  • Эта CMS не является бесплатной;
  • У системы очень много опций, что может стать проблемой для неопытного пользователя;
  • Если вам нужно будет импортировать данные с других электронных досок объявлений, то нужно будет устанавливать отдельно модификационный патч.
Лучший выбор:
vBulletin – расширенный инструмент для создания форумов и публикации контента. Это определенно хорошее решение, если вы решили сделать форум на вашем блоге. vBulletin обеспечит простоту контроля за веб-сайтом.

TYPO3: последний, но не лузер

d7cc579fa545a2735182a8d762d347cd.png


TYPO3 используется 2% вебсайтов, использующих CMS. Спрос на эту систему значительно вырос с момента релиза 4 версии. Это профессиональный и мощный инструмент, богатый различными фичами и опциями.

Преимущества:
  • Система предоставляет широкий набор фичей, которые могут быть кастомизированы или расширены;
  • Простота установки;
  • Эффективное управление контентом и графическими элементами;
  • Усовершенствованный логин для юзеров и администраторов;
  • Вы можете легко добавлять контент, страницы, документацию, изображения, даже если вы неопытный пользователь, ничего не знающий об HTML и веб-разметке.
Недостатки:
  • Требует хорошего хостинга, поскольку система большая;
  • TYPO3 довольно тяжело изучать;
  • Много дыр в коде, которые разработчики предлагают устранить хешированием, но на самом деле это никак не решает проблему.
Лучшее решение:
TYPO3 может использоваться для создания блогов, домашних страниц, онлайн-газет, образовательных порталов, онлайн-магазинов и так далее.
 
Вверх