parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Про API...

Sumo 27.02.2012 07:58 / 27.02.2012 08:02

Взять тот же OSMP с их API для терминалов: оно там на 200 страниц описаний. А в жизни универсального лишь малая часть и все остальное уже механика конкретной задачи(проекта).
...совсем банальные вещи никому не нужны
Совершенно необязательно делать и выкладывать классы, которые реализуют полную спецификацию API. Даже если вы используете часть функций в своем проекте, вполне вероятно, что именно эти функции и понадобятся другим разработчикам. Лучше иметь основу к которой можно дописать нужный функционал, чем писать с нуля.

Примеры из собственного опыта:
— Интегрировал в свой платежный шлюз Киви.Кошелек, получился отдельный класс для работы с API — pf/api/qiwi/wallet/pfQiwiWallet.
— Подключали СМС-шлюз, получилась пара классов для разных операторов — pf/api/mobile/sms/. Причем для «Загрузки» есть только одна функция — отправка сообщения, а остальные варианты API пока не нужны (наверняка многим этого будет достаточно), но уже есть основа для расширения.
— Эксперименты с pdd.yandex.ru привели к появлению простого класса с пятью самыми нужными функциями из API. Дописать остальные просто и быстро.
— Очень специфичная задача: интеграция билинговой системы с Редмайном. REST-API было нерабочим, пришлоcь делать через базу данных. В результате появился класс pf/api/redmine/pfRedmine. Возможно, кому-нибудь пригодится и не прийдется разбираться со структурой БД и алгоритмом хеширования паролей.
— Для работы с zip-файлами пришлось сделать отдельный класс, который реализует функции list, test, load, pack — сделал класс pf/api/archives/pfZipArchiver. Да, нет функции полной распаковки архива, поскольку она мне была ненужна, но доделать ее тривиально, поскольку в классе уже решена куча проблем с путями, кодировками и пр.

Разве я раскрыл этими классами какие-то коммерческие тайны? Неужели в ваших проектах нет подобных классов? Наверняка многие используют в работе системы контроля версий (SVN, Git, Mercurial и т.п.), бесплатных хостингов для репозиториев навалом т.е. нет никаких сложнойстей с выкладыванием кода. Так что же останавливает?