Создание инструментов, тем, плагинов и приложений в WordPress требует множества разных вещей, если мы хотим убедиться, что мы вооружены самыми лучшими инструментами, необходимыми.
Если бы вы спросили, скажем, 10 разных людей, какие инструменты они предпочитают, вы бы не только получили широкий спектр ответов — от IDE до приложений управления зависимостями для создания инструментов — но вы также дали бы множество разных ответов. , все из которых предоставляют аналогичные функциональные возможности, что вам может понадобиться.
Например, некоторые вещи, о которых вы можете прочитать, включают:
- хрюкать
- Беседка
- Композитор
- CodeKit
- JSLint
- … и более
Это даже не затрагивает такие темы, как веб-серверы, системы баз данных и версии PHP. Все это важные темы, которые нужно обсуждать, но в своем посте.
При работе с WordPress некоторые не подлежащие обсуждению, связанные с эффективностью выполнения работы, включают следующее:
- IDE
- Отладчик
- Кодирование и минификация
- Контроль версий
- Инструменты развертывания
Как и в большинстве случаев, разработчики имеют свой конкретный выбор в отношении инструментов, которые им нравятся, и почему они любят их использовать.
В этой статье я расскажу о некоторых инструментах, которые я предпочитаю использовать и которые я нашел полезными в своих профессиональных усилиях по разработке WordPress; Однако я хотел бы уточнить, что это не полный список того, какие инструменты вы должны использовать.
Вместо этого, подумайте об этом как о руководстве для примеров того, что представляют собой качественные инструменты для качественного развития. Если вы довольны набором инструментов, которые вы используете, то отлично! Но если вы ищете что-то, что может помочь вам выполнить работу более эффективно, то, возможно, это поможет вам выбрать правильный путь.
Прежде чем мы начнем, я хочу поделиться тем, что я использую OS X, поэтому многие из моих рекомендаций будут основаны на этой платформе. Тем не менее, многие из приложений, которые я использую, имеют как Windows, так и Linux аналоги, а также инструменты с открытым исходным кодом и кроссплатформенные.
1. IDE
Наличие IDE для написания кода очень важно. Конечно, некоторые разработчики предпочитают что-то простое, например TextEdit или Notepad ++. Больше власти им! Но если вы ищете что-то с подсветкой синтаксиса, дополнением кода, поддержкой плагинов, интеграцией S / FTP и даже интеграцией контроля версий, то есть множество инструментов, которые доступны.
Лично мой выбор IDE — Coda 2 .
Эта конкретная среда разработки приводит к неоднозначному мнению по всем направлениям разработки WordPress. Некоторые предпочитают Atom , некоторые предпочитают Sublime Text , некоторые предпочитают Vim, некоторые предпочитают PHPStorm , и все они имеют свои сильные стороны.
Лично мне нравится Coda 2 за постоянную поддержку, обновления, мобильные варианты приложения и общий внешний вид. Мне нравится прогресс, достигнутый ими в отношении поддержки платформ, таких как WordPress, и возможность иметь встроенное завершение кода приятно.
Конечно, другие IDE предлагают точно такую же функциональность; однако, если вы решите пойти с Coda, вот несколько плагинов, которые я предпочитаю для разработки WordPress. В произвольном порядке:
Конечно, есть и множество других, которые вы можете установить.
Что касается других IDE, которые вы рекомендуете, пожалуйста, ознакомьтесь с заключением, чтобы увидеть, как мы хотели бы включить их в ленту комментариев этого конкретного поста.
2. Отладчики
Одним из самых мощных инструментов в наборе инструментов любого разработчика является отладчик. Для тех, кто не знаком, эта часть программного обеспечения позволяет вам отслеживать, что именно делает ваш исходный код, когда он выполняет то, что делает программа во время выполнения.
Это дает вам возможность:
- посмотреть, какая функция стреляет
- увидеть значения различных переменных
- перешагнуть через определенные функции, которые вы хотите избежать
- шаг в функции, которые вы хотите увидеть (например, основные функции WordPress)
- … и многое другое
Многие IDE, такие как PHPStorm, поставляются со встроенным отладчиком. Но если вы решите использовать другую IDE, которая изначально не включает отладчик, тогда я настоятельно рекомендую Codebug .
Это элегантный, простой в использовании отладчик, который дает вам все возможности встроенного отладчика, но в автономном приложении. Это стоит того, чтобы добавить ценник в свой арсенал.
Предостережение: если вы новичок в отладке и / или не знаете, как работает система, обязательно прочтите документацию. Это на самом деле относительно легко учиться, но у него есть кривая обучения.
Однако, как только вы привыкнете использовать отладчик, вы удивитесь, как раньше жили без него.
3. Инструменты для написания и минификации кода
Инструменты кодирования и минификации кода могут быть двумя отдельными темами, но в наши дни они идут так рука об руку, что я подумал, что их стоит объединить.
пыление
Во-первых, для тех, кто незнаком, linting — это в основном процесс проверки того, что ваш код, в данном случае код JavaScript, соответствует определенному стандарту. То есть он не использует никаких плохих практик.
lint — это имя, изначально присвоенное конкретной программе, которая помечала некоторые подозрительные и непереносимые конструкции (которые могут быть ошибками) в исходном коде языка Си. Этот термин теперь применяется в общем для инструментов, которые отмечают подозрительное использование в программном обеспечении, написанном на любом компьютерном языке.
В нашем случае у нас есть такие инструменты, как JSLint и JSHint, которые позволяют нам делать именно это с нашим кодом JavaScript.
Определенно, вы также можете найти линтеры для других языков, но, пожалуй, наиболее распространенный случай, когда вы обнаружите линтинг в WordPress, касается JavaScript. Вы также можете найти его встроенным в любой из инструментов сборки, упомянутых в самом начале этой статьи.
минификация
Минификация относится к процессу принятия языка — будь то CSS, Sass, LESS, JavaScript и т. Д. — и затем удаления всего пробела, длинных имен переменных и т. Д. В более компактный файл.
Идея состоит не в том, чтобы создавать запутанный код, а в том, чтобы создавать легкие файлы, которые вы можете обслуживать браузером в производственной среде, чтобы ваш сайт загружался быстрее, потому что у него меньше загрузки.
Существует также понятие конкатенации, которое выходит за рамки данной статьи, но идея конкатенации заключается в том, что все минимизированные сценарии и таблицы стилей будут объединены в один файл, так что браузеру нужно будет сделать только два запроса — по одному на каждый файл. ,
В любом случае, все вышеперечисленные инструменты также позаботятся о минимизации (и объединении) ваших скриптов и стилей и выведут их в каталог по вашему выбору.
4. Контроль версий
Когда бы вы ни работали над базой кода, независимо от того, работаете ли вы с собой или с командой, всегда полезно убедиться, что вы поддерживаете согласованные версии своего программного обеспечения.
Короче говоря, контроль версий — это способ, которым вы можете зафиксировать свой код в репозитории таким образом, чтобы, когда вы или ваши товарищи по команде вносили изменения, последние версии кода поддерживались таким образом, чтобы вы могли видеть историю того, что было сделано, и вы можете откатиться до некоторой точки на временной шкале, если что-то пойдет не так.
С точки зрения того, какое программное обеспечение лучше всего подходит для контроля версий, существуют такие инструменты, как Subversion , Git и Mercurial .
Если вы привыкли работать в экономике WordPress, то вы, скорее всего, знакомы с Subversion, поскольку именно это ядро использует для поддержания изменений, которые вносятся в систему.
Точно так же, если вы когда-либо создавали и выпускали плагин, вам приходилось работать с Subversion, чтобы зафиксировать ваш код, пометить ваш релиз и так далее.
Но Git становится все более популярным. Возможно, два самых популярных сайта для хостинга Git — это GitHub и Bitbucket. В любом случае, если вы ищете надежного клиента Git, я настоятельно рекомендую Tower 2.
Хотя это мой клиент по выбору, есть много других альтернатив. В конечном счете, главное — убедиться, что вы добавляете свой код в систему управления версиями, работаете с любимым клиентом и, если возможно, подключаете его к системе развертывания, чтобы каждый раз выдвигать конкретную функцию или требование, среда, которую клиент использует для проверки продукта, обновляется с помощью нового кода.
5. Инструменты развертывания
Всякий раз, когда вы работаете над созданием проекта WordPress или любого другого программного проекта, стандартный, высокоуровневый рабочий процесс, которому мы все следуем:
- Среда разработки, на которой у нас есть локальный компьютер, на котором мы занимаемся разработкой.
- Промежуточная среда, в которой мы развертываем наш код, чтобы клиенты могли работать над проектом по мере того, как мы выполняем требования.
- А затем производственная среда, в которой развертывается окончательный проект.
В настоящее время весьма распространено подключение системы развертывания к вашему программному обеспечению для управления исходным кодом, так что каждый раз, когда в хранилище исходного кода фиксируется новое обновление, будет выпущена последняя версия проекта.
К счастью, существует множество отличных инструментов для настройки автоматического развертывания.
Codeship
Codeship позиционирует себя как сервис для непрерывной интеграции, который может выполнять необходимые сценарии для построения, тестирования и развертывания вашего проекта из коммитов Git.
Это означает, что вы можете выполнить несколько сценариев для запуска во время развертывания и получать уведомления, прежде чем что-либо запускать в производство.
В зависимости от размера вашей команды и / или вашего проекта, Codeship является хорошим решением, особенно для крупных организаций, которые состоят из владельцев, менеджеров, менеджеров проектов и так далее.
Тем не менее, я лично использовал этот инструмент в команде из двух человек и был доволен результатами.
DeployBot
DeployBot ранее назывался Dploy.io. Подобно Codeship, DeployBot стремится взять исходный код, сохраненный в репозитории Git, и развернуть его в среде по вашему выбору.
Он также может запускать сценарии, создавать и компилировать код и развертывать его в различных средах на основе предоставленной вами конфигурации.
Естественно, это не все доступные инструменты развертывания, но это два, которые вы, вероятно, найдете при работе в профессиональном программном обеспечении. Каждый из них имеет свои преимущества и недостатки в том, что вы пытаетесь сделать; однако, поскольку это не обзорная или сравнительная статья, я оставлю это упражнение на ваше усмотрение, чтобы определить, что лучше всего подходит для вашего рабочего процесса.
Вывод
Как уже упоминалось во введении, эти инструменты являются не более чем рекомендациями по началу работы с некоторыми инструментами для разработки на WordPress. Я знаю, что у многих из вас есть свои предпочтения относительно того, что вы хотели бы использовать для каждого из вышеуказанных критериев.
С учетом сказанного, я хотел бы, чтобы все вы поделились своими предпочтительными инструментами и почему вам нравится использовать их в комментариях. Таким образом, нынешние и будущие читатели будут иметь не только пост с рекомендациями, но и комментарии, которые также предоставляют альтернативы.
В конце концов, развитие — это не только решение проблем. Речь идет о поиске инструментов, с которыми также приятно работать в течение восьми с лишним часов, которые мы проводим за компьютером.