Reg.ru: домены и хостинг
Крупнейший регистратор и хостинг-провайдер в России.
Более 2 миллионов доменных имен на обслуживании.
Продвижение, почта для домена, решения для бизнеса.
Более 700 тыс. клиентов по всему миру уже сделали свой выбор.
Бесплатный Курс "Практика HTML5 и CSS3"
Освойте бесплатно пошаговый видеокурс
по основам адаптивной верстки
на HTML5 и CSS3 с полного нуля.
Фреймворк Bootstrap: быстрая адаптивная вёрстка
Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.
Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.
Верстайте на заказ и получайте деньги.
*Наведите курсор мыши для приостановки прокрутки.
Интервью с разработчиком MaxSite CMS
Сегодня у нас в гостях тот, кто знает про CodeIgniter практически все. Больше, чем он, знает разве что сам создатель CodeIgniter).
Это человек, которого обычно называют Max (в жизни - Максим), и он является разработчиком MaxSite CMS (max-3000.com) – мощной CMS-системы, построенной на основе фреймворка CodeIgniter.
Я связался с Максимом, и он любезно согласился ответить на мои вопросы по его системе и по CodeIgniter в целом. Все ответы Максим написал мне в текстовом виде.
Итак, мы начинаем (мои вопросы выделены жирным):
- Максим, расскажи, пожалуйста, немного о себе. Кто ты, чем занимаешься в жизни?
- В Интернете меня в основном знают по MaxSite CMS и по поддержке русского WordPress.
Впрочем, WordPress я не занимаюсь уже более трёх лет, остались только несколько разработок, вроде MaxCache, но до сих пор мне пишут по проблемам в WordPress.
Сам я фрилансер с почти пятилетним стажем. Основная работа - это создание сайтов на MaxSite CMS и какие-то сопутствующие работы. В реале - достраиваю дом (бесконечный процесс!), осваиваю огород и пасу табун из шести котов. :)
- Я узнал о тебе, как о разработчике MaxSite CMS, от Сергея Михалевича. Скажи, как давно ты начал разработку MaxSite CMS и что подтолкнуло к этому?
- Сергей - молодец! Я как-то загорелся сделать пару скринкастов. Но, услышав свой голос, понял, что это точно не моё. :) В этом плане у Сергея хорошо получается.
MaxSite CMS в этом году будет 4 года. Ну а началось всё с того, что я принял решение уйти из WordPress и попробовать сделать что-то своё.
Поначалу это было просто желание освоить CodeIgniter, но после первых опытов, я загорелся сделать "как в WordPress'е", только лучше. На второй план я отодвинул красоты админки и полностью сосредоточился на ресурсопотреблении и удобстве создания сайта (шаблона, плагина и т.п.).
- Почему ты взял за основу CMS-системы фреймворк CodeIgniter?
- Прежде всего, его скорость работы. После - универсальная архитектура, не загоняющая разработчика в кокон своих "стандартов". CodeIgniter - очень гибкий фреймворк, берущий на себя гигантское количество рутины. Один Active Record* чего стоит!
- Максим, такой еще вопрос. Вот ты - человек, который перелопатил CodeIgniter и создал на его основе свою CMS. Насколько гибкой она является, насколько хорошо она подходит для создания сайтов различных типов?
- MaxSite CMS годится практически под любые типы сайтов и задач. Тут нужно понять важную особенность системы (точнее это принцип работы CodeIgniter) - работа на основе входящего URL.
В рамках MaxSite CMS - это тип данных. Например, рубрика - это тип category, а запись - тип page. Тип данных извлекается из первого сегмента адреса, а что с ним делать дальше - решает разработчик.
- А каково все-таки наиболее типичное применение твоей CMS?
- Стандартный вариант заточен под блогосайт, как наиболее востребованный. При желании добавляется свой тип данных в виде обычного php-файла (type-файл). MaxSite CMS в этом плане накладывает только одно ограничение - в шаблоне должен быть index.php. А что в нём - её уже не заботит. :)
Логика работы MaxSite CMS достаточно простая: подключается небольшое ядро, активные плагины и управление передаётся в текущий шаблон. Дальше всё зависит от вебмастера. Если он делает "стандартный" вариант, то использует базовый функционал из default-шаблона. Причем всё так устроено, что нет необходимости что-то дублировать и копировать. Автоматом подключается даже css-фреймворк, настроенный под вывод данных системой.
За счет такой архитектуры количество кода в разы меньше, чем в том же WordPress'е.
Немаловажен также вопрос администрирования сайта. И здесь MaxSite CMS предлагает несколько решений по добавлению своих опций и настроек. Вебмастер вместо сложного программирования лишь "объявляет" необходимые опции: через ini-файл или массив специальной функции.
- Каковы самые сильные стороны твоего детища?
- Из сильных сторон я бы отметил низкое ресурсопотребление, высокую скорость работы, легкость в написании расширений/плагинов и удобство создания шаблонов.
- Какие основные векторы развития ты видишь для своего проекта?
- Их два. Первый - это как-то стимулировать создание публичных шаблонов. Так получилось, что в основном шаблоны MaxSite CMS делаются на заказ за деньги. Из-за этого отсекается львиная часть потенциальных пользователей. С другой стороны, заниматься благотворительностью тоже мало желающих. Наш народ считает своим долгом удалять даже такой мизер, как ссылку на сайт вебмастера. Так что здесь есть над чем думать.
Второй - я немного изменил порядок обновлений версий MaxSite CMS в пользу группы разработчиков и специалистов MaxSite CMS. Это позволит проводить более широкое тестирование и увеличит новые возможности системы.
Здесь идея в том, чтобы выделить из всех пользователей тех, кто непосредственно занимается MaxSite CMS в отдельную закрытую группу. Эдакий междусобойчик. :) Группе будут доступны все самые новые версии системы, которые и будут тестироваться и дорабатываться. Раз в месяц или два будем выкладывать версию на публику для рекомендованного обновления.
- Максим, т.е. ты уже давно работаешь над проектом не в одиночку, верно? Было бы очень сложно одному выполнять такой объем работы.
- Над MaxSite CMS трудятся многие люди, и мне бы хотелось избежать участи WordPress-специалистов, которые сейчас разбежались, а новые "спецы" умеют разве что буржуйский шаблон на русский язык перевести. :)
- И напоследок, скажи, пожалуйста, какой подход ты считаешь оптимальным для новичка, который хочет продвигаться в деле веб-разработки? (Я имею в виду тех, кто уже разобрался с установкой WordPress и сменой в нем темы оформления:))
- Веб-разработка сейчас довольно сильно специализируется, поэтому лучше сразу определиться с предпочитаемой областью.
Есть веб-дизайн. Если нет художественных навыков, то, наверное, нет смысла изучать фотошоп. Поиграться можно, но на серьезную работу это не тянет.
Есть веб-программирование: это знание PHP и работа с чужим кодом. Написание кода - это, прежде всего, умение придумать алгоритм и реализовать его на основе существующей базы. Иногда на форуме поддержки предлагаются решения с километровыми листингами. А ведь достаточно было просто изучить код системы и использовать одну-две функции.
Что касается JS-программирования, то сейчас для большинства задач больше требуется знание не нативного JavaScript, а библиотеки jQuery. Возможности, конечно, потрясающие, но для их изучения требуется время и терпение.
Отдельно стоят верстальщики. Этим проще - нужно "всего лишь" знать HTML и CSS. С CSS сложность в том, что многие стили применяются не совсем очевидным способом. Это такие хитрости, которые приходят с опытом.
Основы знаний CSS, конечно, должны быть железобетонными - без этого никак, но 80% времени работы уходит как раз на всякие неочевидные мелочи. Ну и верстальщик на сегодняшний день уже должен знать технологии, сокращающие трудозатраты, например LESS**. Я бы был даже более категоричен - не знаешь LESS - ты не верстальщик. :)
На мой взгляд, оптимально - это определиться со своим основным и поучиться «соседним» направлениям. Верстальщику будет крайне сложно работать, если он не будет знать основы PHP, а программисту без знания HTML и основ CSS - сложно придумывать свой веб-код.
- Отлично, Максим. Спасибо тебе большое за участие в интервью и за подробные ответы!
* Класс Active Record в CodeIgniter позволяет с легкостью работать с базами данных, производя любые операции и обеспечивая дополнительную защиту приложения от SQL-инъекций.
** LESS – надстройка над CSS, позволяющая "программировать" стили. См. статью: http://habrahabr.ru/post/136525/
Вот такой информацией с нами поделился специалист по CodeIgniter – Max, и я надеюсь, что данное интервью Вам понравилось. Еще раз спасибо Максиму.
P.S. Есть ли альтернатива CodeIgniter? Можете решить сами, просмотрев бесплатный видеокурс по основам работы с PHP-фреймворком CakePHP. Скачайте его, чтобы получить общее представление о возможностях этого фреймворка:
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!
Смотрите также: