1. Steve Klabnik. Desiging Hypermedia APIs
REST(Representational State Transfer) - передача представления состояния
Ресурс
Представление
Вот копия объекта который нужен
Hypermedia API
Ресурс
Представление
Hypermedia
Вот состояние объекта и что с ним можно сделать
2. Steve Klabnik. Desiging Hypermedia APIs
Разработчики используют REST не правильно
Копирование логики на клиенте
Передача объекта по сети
3. Steve Klabnik. Desiging Hypermedia APIs
Цели создания API
Долгосрочность
Независимость
API должен работать как браузер
Браузер не знает ничего о сайтах
Браузер – лучший клиент
4. Wynn Netherland. The UX of APIs
Патерны
OAuth
В теле ответа использовать максимум полезной информации
Создавать что-то значимое
Использовать статус-коды HTTP
Объявлять об изменениях, предупреждать
Делать понятную документацию
Создавать руководство пользователя
Консоль для API, веб версия
Быстрая, прозрачная поддержка
Примеры
Mashup friendly
Передавать версию в заголовках
5. Wynn Netherland. The UX of APIs
Антипатерны
Сумасшедшие урл
Жесткие лимиты на запросы(по количеству)
Путать тело с заголовками
Бесконечное изменение
Противоречивость(id, login)
Использовать пулинг(грузит сервер)
6. Дмитрий Галинский.
Опыт разработки одностраничного приложения
Backbone JS
Есть проблемы с моделями
Презентеры
Rabl
jBuilder(быстрее)
Underscore.js – расширяет возможности JS
Рендер на клиенте медленнее и требует больше кода
Нет «помощников»
В JS объектная модель хуже чем в Ruby