• Like
  • Save
Upcoming SlideShare
Loading in...5
×

How to port JavaScript library to Android and iOS

  • 263 views
Uploaded on

2013-07-06 03 Алексей Зиновьев. История одного портирования (mobile, Javascript, Android, iOS) …

2013-07-06 03 Алексей Зиновьев. История одного портирования (mobile, Javascript, Android, iOS)

Видео: http://youtu.be/LlDhtXWHbtw

More in: Art & Photos
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
263
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. История одного портирования Докладчик: Алексей Зиновьев
  • 2. Super Puper Library SDK Яблоко от Андроида недалеко падает ● Кусок JS, который надо портировать под Android & iOS ● Вызовы сервера и много глобальных переменных, ведущих в никуда ● Библиотека для других разработчиков, теперь банановый
  • 3. Моя первая мысль ● Я продамся яблофилам? ● Я продамся java- скриптизерам? ● НЕНАВИСТЬ!!!!!!
  • 4. Мой первый коммерческий проект на Android
  • 5. Что такое делать библиотеку на аутсорсе ● Другие разработчики обязательно напишут злой отзыв ● Поддержка ляжет на плечи заказчика ● Превосходная документация ● Тестовое приложение, использующее вашу библиотеку
  • 6. А кому это надо?
  • 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