Маркетинг и монетизация
Интересные материалы для разработчика мобильных приложений #254 (8-14 апреля)
На этой неделе мы говорим про Continuous Integration, переход из веб-разработки в игры, темные темы, юнит-тесты, новый топ зарабатывающих и многомиллиардную индустрию изготовления ключей.
Эволюция CI в команде мобильной разработки
CI — это рабочий процесс, при котором вы как можйно чаще интегрируете свой код в общий код продукта. И не просто интегрируете, а еще и постоянно проверяете, что все работает. Так как проверять нужно много и часто, стоит задуматься об автоматизации. Можно все проверять на ручной тяге, но не стоит, и вот почему.
Reaktive — мультиплатформенная библиотека для реактивного Kotlin
Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого «callback hell», и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный код и легче управлять потоками данных (объединять, разделять и преобразовывать).
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
- Пишем игру «Карточки памяти» на Swift
- Продвинутая интерполяция строк в Swift 5.0
- Custom instruments: когда signpost недостаточно
- Создаем элементы интерфейса программно с помощью PureLayout (Часть 2)
- Apple добавила дополнительный шаг в оформление подписки
- Apple наняла еще одного ветерана виртуальной реальности
- Netflix отказался от работы с AirPlay
- Улучшаем цикл iOS-разработки с брекпоинтами
- iOS: Umbrella Framework с CocoaPods
- Работаем с MLDataTable из Create ML для предварительной обработки данных
- Миграция со Swift 4 на Swift 5
- Создание динамической модульной архитектуры для iOS
- UIView SmoothCorners: скругленные углы, как у Apple
Android
- IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров
- Как при помощи 2 видов unit-тестов сделать приложение более стабильным
- Смартфоны с Android стали секретными ключами
- Snap обновил Snapchat для Android
- Перемещение изображений по экрану в Android
- Что такое Android Lint и как он помогает писать поддерживаемый код
- Приложение с фактами о Чаке Норрисе на Kotlin
- Как просто генерировать Smart Replies с ML Kit на Android
- Холодные потоки, горячие каналы
- Воссоздаем градиент Facebook Messenger
- Используем TextWatchers правильно
- Играем с холстом Android drawVertices
- Google запрещает плагины для Instant Apps
- Как использовать Firebase для создания многопользовательской игры для Android
- Конверсия Kotlin – 4 ловушки, на которые стоит обратить внимание
- Шпаргалка по API анимаций в Android
- Dagger и сверкающая новая @Component.Factory
Разработка
- Как мы из веб-разработки в разработку игры зашли
- Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты
- Unity: отрисовываем множество полосок здоровья за один drawcall
- Raspberry-pi-танк и GPS навигация
- Проектирование на основе «отражения»
- Импорт 3D-моделей в Unity и подводные камни
- AppsCast #4: GPU, гексагональные ускорители и линейная алгебра
- Podlodka #106: Платформенная разработка
- Disruptor Beam открывает свой бэкенд
- Результаты опроса разработчиков Stack Overflow 2019
- Humble Book Bundle о классических видео-играх
- Snapchat открыл игровую платформу
- Создание Action для Google Assistant
- Следует ли мне использовать React Native?
- Как я взял идею и превратил ее в продукт
- Почему Test Driven Development (TDD) лучше всего подходит для надежного программирования
- Идеи приложений, которые повысят ваши навыки программирования
- Зачем и как я учу Flutter?
- Компьютерные игры на BASIC
- Нет времени, нет денег, нет проблем: завершение The First Tree
- Непрошенный редизайн Paypal: исследование UX
- Пять черт прекрасных программистов
- Создаем полноценное мобильное приложение на Ionic4
- Технический долг – перезанять или ликвидировать?
- Теория цвета для дизайнеров (с инфографикой)
- Angular приложение как Progressive Web App
Аналитика, маркетинг и монетизация
- Два способа сбора наград за рекламу в мобильных играх, или роботы должны работать
- Как Android-троян Gustuff снимает сливки (фиат и крипту) с ваших счетов
- Netflix упустил первое место в топе зарабатывающих приложений
- Самые зарабатывающие приложения в Бразилии в 2018
- Tonal: гимнастический зал на стене
- У серии Candy Crush рекордный 1 квартал
- Splash Screen: успешный первый запуск для вашего мобильного приложения
AI, Устройства, IoT
- Для чего и как мы скрываем госномера автомобилей в объявлениях Авито
- Фотографии из грубых набросков: как именно работает нейросеть NVIDIA GauGAN
- Виртуальная реальность – игра, лечение, жизнь. Технологии VR на службе реабилитационной медицины
- Как возникают «умные города»
- Устойчивость обучения GAN (Копаем глубже)
- Как раскрутить новичка и ничего не сломать
- Как технологии IoT изменят мир в ближайшие 10 лет
- KeyMe получил $50 млн на изготовление ключей
- Qualcomm улучшает работу ИИ в новых Snapdragon
- ополненная реальность в Эрмитаже: 15 апреля стартует конкурс AR-приложений AR-craft
- Умные ответы и Определение языка в ML Kit
- Технодайджест (март 2019)
- Aroma: используем машинное обучение для рекомендаций кода
- 3 самые большие ошибки в изучении Data Science
- Да, ИИ заменит дизайнеров
Вакансии
- Разработчик мобильных приложений iOS/Android в Agima
- iOS-разработчик в Ренессанс cтрахование
- React Native Developer в Savl GmbH
- Технический писатель в Appness Санкт-Петербург
- Senior QA Engineer в Appness Санкт-Петербург
- Менеджер по интернет-рекламе / Трафик-менеджер в Appness Санкт-Петербург