На днях компания Trellon, занимающаяся разработкой сайтов на Друпале, объявила о начале цикла обучающих заметок «20 API за 20 дней». В них пойдет речь о том, как работать с API популярных модулей, такими как CCK API, Views API, Form API и так далее.
На данный момент вышло уже три заметки — про Views, про CCK и про Hook API. Ознакомившись, решил, что заметки хорошие и поэтому их необходимо перевести, чтобы русскоязычная общественность могла ознакомиться. Переводы будут публиковаться здесь же, под тегом «20 API за 20 дней». Ну и чтобы два раза не вставать — ниже перевод вступления к циклу. В нем рассказывается о том, какие умные и красивые ребята работают в Trellon, а также приводится список 20 API, которые будут рассмотрены. Автор — Майкл Хаггерти.
А переводы следующих заметок цикла — уже скоро!
20 API за 20 дней
Итак, вы можете выдавать по сносному сайту-визитке в день и достигли той точки, где хочется узнать немного больше про Друпал. Вы не пытаетесь стать элитным хакером, а просто хотите уметь делать чуть больше, чем строить сайты щелчком мыши.
Но с чего начать? Среди всех книг, DVD, блогов, форумов, каналов IRC, роликов на YouTube, встреч и самопровозглашенных «ниндзя», вопиющих о вашем внимании, разобраться, на что потратить время и кровные доллары может быть непросто. У разных людей — разные способы обучения, и на каком-то уровне найдутся люди, которым будет полезно все перечисленное.
Но вместо того, чтобы идти по пути «обучающих материалов», написанных «для самых маленьких», возможно вы захотите потратить время на самостоятельное изучение разных API (Application Programming Interfaces, Интерфейсы прикладного программирования). API — это инструменты, используемые людьми для решения тех или иных задач в Друпале. Их можно применить к широкому спектру проблем, с которыми сталкиваются разработчики. Даже если вы не считаете себя программистом, возможно, вам захочется разобраться, о чем идет речь. Знание, что такое API и когда их применять — зачастую означает разницу между хорошим сайтом на Друпал и отличным сайтом.
20 API за 20 дней — цикл заметок, публикуемый компанией Trellon для того, чтобы поделиться информацией об интерфейсах модулей, о которых каждый уважающий себя разработчик должен хотя бы немного знать. Мы не намерены публиковать статьи 20 календарных дней подряд, но планируем потратить 20 дней на обсуждение важных вещей, которые вам, возможно, не помешает знать. Так что не напрягайте нас, когда мы несколько дней подряд будем забывать нажать на кнопку «опубликовать» — так оно и будет. Треллонавты, как правило, люди очень занятые.
В API — жизнь и смерть проектов
Возможно вы захотите узнать, что такое API, даже не будучи программистом. Как компания, Trellon делает многие вещи хорошо. Одна из вещей, в которых мы бесподобны — это подготовка отличных разработчиков под Drupal и CiviCRM. И отчасти это из-за того как мы работаем с API.
Компания Trellon поставляет решения на Друпал уже более 6 лет. В процессе наша команда разработала несколько практик быстрой подготовки сотрудников к работе с платформой. Нередко разработчик с ограниченным опытом в PHP присоединяется к нашей команде и делает серьезную работу по темизации и разработке модулей уже через пару месяцев без особой тренировки. Значительная часть выживания и роста компании заключалась в изучении способов обучения людей и культивирования помощи разработчикам на пути к процветанию. Иметь очень умных людей поблизости совсем не повредит, в том числе и чтобы наставлять других на правильный путь.
Когда мы начинали разрабатывать сайты на Друпале, возможности по изучению платформы были весьма ограничены. Не было полезных книжек и видеоуроков для направления учебного процесса, вы или сами изучали код, или тратили кучу свободного времени, чтобы торчать в каналах IRC с «интересными личностями», из которых состоял мир Друпала. В то же время, Друпал и пользовательские модули — продолжали развиваться от релиза к релизу, так что способы, которыми вы решали свои задачи, могли разительно меняться из месяца в месяц. Недостаток создания open source-решений (который бесит) в том, что к тому моменту как вы закончили проект и записываете все, что делали для решения проблемы, ваше решение могло уже совсем устареть, так как в этой области уже появилось что-то лучше.
Умение справляться с такой природой open source-проектов так же важно, как любой технический навык, приобретаемый при работе с платформой. Компания Trellon справляется с ней через поиск постоянного там, где оно есть, наблюдение его подобно соколу — так чтобы знать наверняка, что случится с ним в следующем релизе и быть к этому готовым. Такой подход позволяет нам знать, что и когда применять, и (что более важно) лучше помогать клиентам. Он также позволяет нам знать, как будет работать что-либо при установке на клиентский сайт и привносит в проекты долю предсказуемости. Вместо использования самого последнего модуля, заявленного решающим задачу, наши решения могут строиться вокруг того, что будут поддерживать и дорабатывать какое-то время.
Настоящая польза от этого — впереди, когда сайт будет необходимо долго поддерживать. Если вы знаете API, значит вы знаете достоинства и недостатки любого подхода и можете ими воспользоваться, когда надо. Знания такого рода делают сайты жизнеспособными, снижают их стоимость, позволяют новым людям включаться в проекты без необходимости переподготовки и т.д. Руководителям бизнеса также выгодно иметь понимание устройства этих строительных блоков ядра, так как они серьезно влияют на стоимость долгосрочной поддержки проектов.
Какие темы мы охватим
В Друпале API существуют в разных формах, от обычных коллбэков, являющихся частью модуля, до четкого набора функций с кучей аргументов, работа которых зависит от других модулей. Наше определение «что вообще такое API» — достаточно широкое и, в основном, сфокусировано на способах работы с модулями, не включающих щелканье мышью по кнопкам.
В течение месяца мы собираемся обсудить 20 самых популярных API, которые постоянно всплывают в наших проектах. Такое решение было принято в конце декабря 2009 года нашей командой, состоящей из людей, применяющих по работе Друпал каждый день и играющих важные роли в сообществе Друпала. Вот список тем, которые мы хотим охватить:
- CCK
- Ctools
- Views
- Слой препроцессора/темизации
- API хуков
- Отношения
- Activity
- Фиды
- API модуля Services
- Workflow
- API системы нод
- API форм
- Триггеры и действия
- Сообщения/уведомления
- WYSIWIG
- ApacheSolr
- Voting API
- Domain Access
- Token
- Organic Groups
… и это только поверхностный смотр API, существующих в Друпале. Заранее предупреждаем, что большая часть рассматриваемого материала будет полезна для Друпала 6 и необязательно применима к Друпалу 7. Но мы планируем поделиться взглядами на кодирование и подходами к решению задач, которые пригодятся вам безотносительно версии Друпала.
Используйте кнопки социальных закладок ниже чтобы поделиться с друзьями, которым возможно понравится наш цикл, и проверяйте каждый день, как мы придерживаемся заданного нами же графика публикаций.