2. Super Puper Library SDK
Яблоко от
Андроида
недалеко
падает
● Кусок JS, который надо портировать под Android & iOS
● Вызовы сервера и много глобальных переменных,
ведущих в никуда
● Библиотека для других разработчиков, теперь банановый
3. Моя первая мысль
● Я продамся
яблофилам?
● Я продамся java-
скриптизерам?
● НЕНАВИСТЬ!!!!!!
5. Что такое делать библиотеку на
аутсорсе
● Другие
разработчики
обязательно
напишут злой
отзыв
● Поддержка
ляжет на плечи
заказчика
● Превосходная
документация
● Тестовое приложение,
использующее вашу
библиотеку
7. И как с ним говорить?
● Два индуса и один разработчик
● Индусы ездят в Индию каждую неделю и отвечают
изредка на 1 вопрос из 10.
● Простые WASP разработчики не многословны и суровы
● Отличная возможность прокачать hinglish
● Доминирование письменных коммуникаций
● Hangout животворящий в лицах
8. Фаза исследования
● Заказчик хочет от нас решения всех проблем
● Аккуратные аналитические документы с плюсами и
минусами, выверенные native speakerом
● Фаза аналитики повлияла на конечные оценки и
архитектуру библиотеки
● Максимум вопросов на старте + прототипирование
экономит время и снижает риски
9. Они следят за нами
● Одной из задач был вопрос
авторизации клиента, эдакие
мобильные куки
● Легальность и лицензирование
подобной деятельности
● OpenUDID, IDFA, MAC - адрес,
собственный ID
● Единый среди всех
приложений, использующих
данную библиотеку
● Политика Apple
10. Библиотека для Android
● Library Project или real jar
● Проблемы с ресурсами
● Открытость кода или
закрытость
● Необходимо тестирующее
приложение (а то и парочка)
● Debug версия библиотеки с
Toasts
● Тестировщик тестирует не lib, а
тестирующие приложения
● Последние два пункта лишние?
11. Библиотека для iOS
● Открытый код или static library
● Сложный delpoy для разных
версий iOS
● Директивы компиляции
● Разные Targets для сборки
● 1 код, n сборок
● Разные фреймворки для
реализации одной фичи в
разных версиях iOS
12. Docs
● Берёшь хорошую документацию и выгрызаешь её
изнутри
● Документация для пользователей и будущих
разработчиков бибилиотеки
● JavaDocs + их аналог для private методов
● DevCases в коде и диаграммах
● Проверка документации техническим native speakerом
● Даешь коллеге, который, прочтя ее, попробует
использовать библиотеку
13. Тестирование
● Ошибки в REST заказчика
● 0 строк документации
● Неясные цели куска кода для портирования
● Задержка в 2 дня для верификации правильности
запроса
● Отрицание заказчиком текущих проблем
14. Итоги
● Все довольны
● Заказчик написал, что я задал
слишком много вопросов и им
пришлось поработать, исправляя
баги в своем REST
● Все мобильные архитектуры
похожи
● iOS расширил мои "мобильные"
возможности
● На JS я написал небольшую игру
про бояр на LudumDare