Cone'n'Сoffee Android

Сезон відпусток у самому розпалі, а 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. Правильний спосіб реалізації Dependency Injection».

Антон розповів про таку важливу річ, як Dagger 2. По суті, це реалізація design pattern, який кожен з нас у свій час реалізовував, іноді навіть не підозрюючи про це. Він дозволяє динамічно описувати залежності в коді, ділить бізнес-логіку на менші блоки. Це дозволяє в подальшому підміняти ці блоки тестовими. Для прикладу: на серверній стороні не реалізовано деякий метод в API, але ми знаємо, що він буде нам повертати. Реалізувавши його в тестовому варіанті, ми не припиняємо розробку додатку, а коли метод на сервері буде реалізовано, просто замінюємо тестовий блок справжнім.