Изучение Drupal может показаться сложным. Его экосистема похожа на густой лес, но для тех, кто не имеет опыта в ее изучении, лес может выглядеть густым, темным и зловещим. Вы знаете, что через лес есть тропинки, но некоторые из них не очень хорошо обозначены, а некоторые ведут в тупики или долгим путём. Если вы хотите стать разработчиком Drupal, какой путь вам следует выбрать, чтобы исследовать обширную экосистему Drupal?
Свяжитесь с поддерживающим сообществом
Если вы новичок в веб-разработке Drupal и ваша цель — работать с сайтами Drupal, эта статья описывает путь, который проведет вас через основы веб-разработки к основным концепциям разработки сайтов Drupal. Но сначала настройтесь, чтобы найти и связаться с другими людьми, которые могут помочь вам на этом пути.
Создайте учетную запись drupal.org
Drupal — это не просто система управления контентом, это сообщество. Ваша учетная запись на drupal.org в некоторой степени описывает ваше положение в этом сообществе. Если вы еще этого не сделали, создайте учетную запись пользователя на Drupal.org. Как и любое путешествие, путешествие начинается, когда вы решаете отправиться в путешествие!
Найдите наставника
Наставник может предложить ресурсы и помочь вам решить, что для вас наиболее целесообразно изучать дальше. Они могут предоставить вам видение всего процесса, установить реалистичные ожидания и помочь вам с вопросами.
Присоединяйтесь к местной встрече Drupal или взаимодействуйте с различными сообществами Drupal и выражайте свое желание найти наставника. Часто люди из этих групп и каналов будут рады вам помочь. Если вы найдете кого-то рядом с вами или, по крайней мере, в вашем часовом поясе — это может упростить встречу с помощью видеозвонков.
Также ознакомьтесь с ценностями и кодексом поведения Drupal. Хорошо, если они вам понравятся.
Составьте план ваших учебных целей
Установите реалистичные ожидания и спланируйте свои шаги. В зависимости от того, с чего вы начнете, вам может потребоваться больше времени на изучение базовых концепций, или вы сможете сразу же погрузиться в изучение того, как писать код Drupal.
Разделите свой путь на два разных пути: обучение и действие. Путь «Обучение» ориентирован на чтение, изучение и практику в среде «песочницы», а путь «Выполнение» ориентирован на получение опыта работы с реальными приложениями или обучение на рабочем месте.
Путь обучения: читать, учиться и практиковаться
Выделите время, чтобы читать, изучать и практиковаться самостоятельно. Несмотря на то, что некоторым людям удобен подход «обучение на собственном опыте», разработка Drupal достаточно сложна, и это может стать непростой задачей, если вы не знакомы с фундаментальными концепциями и не практикуете их.
Вот несколько направлений, которые помогут вам начать.
Веб-разработка: фундаментальные концепции
Цель: изучить HTTP, как браузеры взаимодействуют с серверами, а также ознакомиться с такими терминами, как GET, POST, 200, 403 и 404.
Понимание HTML и DOM
Цель: изучить основные части HTML-документа, понять, когда использовать каждый из основных семантических элементов, узнать, что такое DOM, и использовать инструменты разработки, встроенные в определенные браузеры.
CSS: фундаментальные концепции
Цель: изучить CSS, применить CSS к простому HTML-документу, получить базовое представление о том, как работает и структурирован CSS.
JavaScript: фундаментальные концепции
Цель: создать файл JavaScript «Hello World», прочитать и понять базовый синтаксис JavaScript.
Доступность (A11y)
Понимание доступности с самого начала вашего пути изучения веб-разработки укрепит ваше понимание HTML и DOM и гарантирует, что вы понимаете последствия того, как код вашего приложения интерпретируется широким кругом пользователей и устройств.
PHP и объектно-ориентированное программирование (ООП)
Цель: использовать концепции объектно-ориентированного PHP для создания приложения.
Основы Git
Цель: клонировать репозиторий Git, создать новую ветку, отредактировать файл и проверить отличия от ветки по умолчанию.
Сервер LAMP и инфраструктура
LAMP относится к стеку «инфраструктурного» программного обеспечения, которое может размещать приложения PHP, такие как Drupal. В упрощенном виде LAMP означает Linux, Apache, MySQL, PHP. Однако в каждом компоненте этого стека есть несколько альтернатив, которые можно использовать для размещения динамического веб-приложения.
Цель: понять инфраструктуру, необходимую для CMS, такой как Drupal.
Настроить локальную среду разработки
Цель: настроить локальную среду разработки Drupal на вашем компьютере с помощью DDEV.
DDEV — это одна из нескольких установок локальной среды разработки на основе Docker, которую вы можете использовать для практики разработки Drupal.
Познакомьтесь с Drupal через создание сайта
Цель: познать фундаментальные концепции создания и администрирования сайтов Drupal.
Изучите бэкэнд Drupal и разработку модулей
Цель: понять, как структурирован код Drupal, где писать свой собственный код, некоторые распространенные хуки Drupal и некоторые шаблоны, которым нужно следовать (с использованием контроллеров, плагинов, сервисов).
Расширьте свое понимание, изучив Symfony, поскольку компоненты Symfony являются частью кодовой базы Drupal.
Изучите интерфейс Drupal и разработку тем
Цель: понять основы разработки внешнего интерфейса в Drupal, как работает тема, как переопределить разметку, препроцессоры, шаблоны, некоторые знания Twig, куда добавить свои ресурсы CSS и JavaScript и многое другое.
Внесите свой вклад в Drupal
Маленький секрет: это лучший способ изучить Drupal.
Цель: понять, как работает Drupal.
Начните с руководства для авторов (drupal.org)
Потратьте некоторое время, пытаясь внести свой вклад. Ваш наставник должен быть в состоянии помочь вам найти подходящую для вас задачу на этом этапе. Если у вас нет наставника, прочтите руководство для авторов и решите, какую роль вы хотите, и найдите задачу.
Получить реальный опыт
Мало кто захочет нанять вас в качестве разработчика Drupal, если вы не сможете продемонстрировать опыт работы с Drupal. Вы приобретаете этот опыт, работая с Drupal. Но как получить реальный опыт разработки с Drupal, если вас никто не возьмет на работу? Вот несколько идей, которые помогут вам избежать этой проблемы:
Создайте проект
Цель: запустить проект, достойный резюме.
Создайте проект для себя чтобы разместить его в вашем резюме.
Сотрудничайте с агентством или фрилансером в качестве ученика или стажера
Цель: пройти обучение или стажировку, работая на сайтах Drupal.
Может быть, ваш наставник может помочь вам в налаживании контактов или, возможно, он может подсказать, как искать возможность учиться в реальном проекте. Здесь важно сосредоточить свои ожидания на возможности обучения, а не на денежной прибыли, которую это может вам принести.
Внесите свой вклад в проект Drupal
Цель: способствовать разрешению, тестированию или документированию проблемы в основной или добавленной очереди задач.
Как упоминалось ранее, несколько разработчиков Drupal называют свой вклад в Drupal одним из лучших образовательных опытов в своей карьере. Однако не стоит слишком завышать свои ожидания. Это часто расстраивает. Часто бывает трудно даже найти, с чего начать. Наберитесь терпения и мотивации, чтобы помочь. Если вы взяли это за отправную точку, ваш опыт внесения вклада имеет очень мало шансов пойти не так, как надо.
Найти работу
Цель: определить потенциальных работодателей и подать заявку на вакансии разработчика Drupal.
Надеюсь, что к этому моменту вы создадите связи в сообществе Drupal, которые откроют интересные возможности. Ваш наставник также может стать отличным ориентиром для ваших следующих шагов. Вот еще несколько дополнительных предложений:
На Drupal.org есть доска объявлений. Следите за возможностями, которые могут хорошо соответствовать вашим навыкам и ценностям.
Советы по поиску работы
Цель: создать свою сеть и связи с другими разработчиками Drupal в Интернете.
- Убедитесь, что ваши учетные записи в социальных сетях актуальны. Twitter, VK, Facebook и другие. Никогда не помешает сообщить знакомым, что вы ищете.
- Идите за работой, где она есть. Не ограничивайте свой поиск опубликованными предложениями о работе. Поговорите с людьми в сообществе. Свяжитесь с компаниями, которыми вы восхищаетесь. Отправляйте заявки, даже если это кажется маловероятным. Никогда не знаешь, какие двери могут открыться, когда меньше всего этого ожидаешь.
Заключение
Цель: обращаться к сообществу Drupal за поддержкой и советом.
Вы можете испугаться, когда общаетесь с командами, имеющими многолетний опыт работы в мире Drupal. Это нормально. Мы все были там. Независимо от того, имеете ли вы образование в области компьютерных наук или научились работать в интернете, пока вы сохраняете честный подход к обучению, помощи другим и позволяете другим помогать вам, все будет хорошо. Некоторые из лучших разработчиков в какой-то момент своей карьеры испытали трудности, так что не позволяйте им быть препятствием для построения вашей новой профессиональной жизни.
Присоединение к сообществу Drupal это может помочь вам ориентироваться Drupal. Ищете ли вы технические решения проблемы, новую работу или отзывы о презентации, сообщество может помочь вам преодолеть чувство сомнения и помочь вам добиться успеха на любом этапе вашего пути разработчика.
Добро пожаловать в сообщество Drupal!
Веб-разработчик Drupal Павел Мартыненко.