Сезон отпусков в самом разгаре, а Stfalcon.com продолжает нас радовать очередной конференцией Code'n'Coffee. На этот раз главной темой была OS Android. К нам пришли трое опытных разработчиков с докладами очень высокого уровня. Поэтому обидно, если тот, кто читает мой отзыв, не смог посетить мероприятие и задать свои вопросы, хотя, как по мне, ребята раскрыли свои темы на отлично, и после просмотра видео с докладами возникнет только один вопрос — «в каком из своих проектов реализовать услышанное?».
Итак, первым выступил Сергей Комлач, старший Android разработчик в Lamantine Software. Докладчик на UA Mobile'14, Lviv Mobile Developers Day 2014, Google Developers Fest 2014, MobileOptimized. Тема: «Использование Java Native Interface (JNI) и кросплатформенних C / C ++ реализаций в Java / Android».
Сергей рассказал о суровой жизни разработчика, который ежедневно использует в своей работе NDK. Но не все так страшно, как мне показалось на первый взгляд, существуют инструменты для достаточно удобной отладки, и последняя версия Android Studio 1.3 поддерживает NDK с помощью собственного плагина. Все круто, обязательно попробую!
Ярослав Герьятович — Android Engineer в компании Attendify, спикер на UA Mobile'14. Тема: «RxJava и Android. Плюси, минусы, подводные камни». RxJava — это библиотека реактивного программирования, позволяет представить что-либо в виде асинхронного потока данных, который может быть создан в любом потоке, может быть функционально трансформирован и используется чем угодно.
Реактивное программирование — парадигма программирования, ориентированная на потоки данных и распространения изменений. Это означает, что должна существовать возможность легко выражать статические и динамические потоки данных, а также то, что выполняемая модель должна автоматически распространять изменения через поток данных.
Антон Минашкин — Android разработчик с 5-летним стажем. Сейчас занимает должность Android Developer в GlobalLogic. Тема: «Dagger 2. Right way to do Dependency Injection».
Антон рассказал о такой важной штуке как Dagger 2. По сути, это реализация design pattern, который каждый из нас в свое время реализовывал, иногда даже не догадываясь об этом. Он позволяет динамически описывать зависимости в коде, делит бизнес логику на меньшие блоки. Это позволяет в дальнейшем подменять эти блоки тестовыми. Для примера: на серверсайде не реализован некоторый метод в API, но мы знаем, что он будет нам возвращать. Реализовав его в тестовом варианте мы не прекращаем разработку приложения, а когда метод на сервере будет реализовано, просто заменяем тестовый блок настоящим.