Подводим итоги очередной недели мобильным дайджестом. В нем мы рассказываем про разработку прибыльной игры школьниками, про iOS-релизы в Badoo, про новые правила App Store и победителей Google Play, иллюзии скорости и движения, анонимность и многое другое.
В данной статье хочу рассказать вам об опыте разработки одной простенькой игры под Android, которая многократно окупилась еще на стадии разработки!
Меня зовут Михаил Булгаков, и я работаю в команде релиз-инженеров Badoo. В этом посте я расскажу о том, как происходят релизы iOS-приложений с момента «У меня есть готовый бинарь» до момента «После нас хоть потоп», и, конечно, как это делаем мы в Badoo.
В этой статье я расскажу о компонентах, из которых состоят приложения под Android, и об идеях, которые стоят за этой архитектурой.
Дайджест доступен и в виде рассылки. Подписаться вы можете тут (у нас уже 2000+ подписчиков!).
iOS
• (+24) Больше сюрпризов от Apple: обновленные правила размещения на App Store
• (+13) iOS+Kotlin. Что можно сделать сейчас
• (+8) Опционалы в Swift
• Podlodka #26: реактивный стиль программирования
• Stack AR: первая игра на основе ARKit, возглавившая топ App Store
• Полный разбор дизайна iOS 11: Apple все еще внимательны к деталям?
• Первое React Native приложение: от «Hello World» до App Store
• Отладка Swift с LLDB
• Как уйти из колледжа и стать iOS-фрилансером
• Управление разными средами в Swift-проекте
• Руководство по ARKit для новичков
• Чистая Swift архитектура
• В Xcode 9 цвета можно добавлять в каталог ассетов
• Измерение времени компиляции в Xcode 9
• React Native Game Center: интеграция Game Center в React Native
• ButtonProgressBar: прогресс бар в кнопке
• Detect.Location: история посещения мест по фотографиям
• LifetimeTracker: отслеживание ключевых проблем прямо во время разработки
Android
• (+11) Делаем MitM с помощью openssl на Android
• (+11) Библиотека Reamp: обезболивающее для ваших Android-приложений
• (+11) Реактивные приложения с Model-View-Intent. Часть 2: View и Intent
• (+8) 30 новых ресурсов для android-разработчика (лето 2017)
• (+4) CSV-библиотека Adaptive Table Layout
• Лучшие приложения Google Play за пять лет
• Android Dev Подкаст. Выпуск 43. Обзор Devfest Siberia 2017
• Победители Google Play Indie Games Festival
• Создание макета в ConstraintLayout: нормативы, барьеры и цепочки
• В Android O изменился файл хранения паролей от от wi-fi сетей
• Как парсить XML на Android
• RxJava: делаем креш-логи лучше
• Многопотоковый рендеринг на Android с Litho и Infer
• Flutter: от дизайна до приложения
• Использование шрифтов с Support Library 26
• Android Architecture Components: тестирование ViewModel LiveData
• Наслаждение тулбаром
• Воссоздаем “Бутылочку” на Android
• Используем buildSrc для кастомной логики сборок Gradle
• Как улучшить быстродействие Android Studio на машине с малым объемом памяти
• Frames: готовое приложение с обоями
• Tutorial View: простая организация туториалов
• Croller: круглый контрол
Разработка
• (+89) Иллюзия движения
• (+72) Иллюзия скорости
• (+21) Как мы за неделю создали чат-бота и подружили его с веб-приложением
• (+19) Learnopengl. Урок 3.3 — Класс 3D-модели
• (+15) Oblique frustum. Внутри скошенной пирамиды видимости
• (+11) Зачем в 2017 году писать свой движок для мобильных игр?
• (+10) Как Алексей Моисеенков дошел до Prisma и пошел дальше
• (+9) Как довести первый проект до конца. Часть 2. Мифы, ошибки и провалы
• (+8) «Нормальный у нас такой UX. UX? Не до этого нам, у нас тут сроки поджимают!» Снимаем мантию — моя интерпретация
• (+6) Как сделать gif-анимацию для Behance и Dribbble?
• Почему WebAssembly значительно изменит веб
• Как обучаются и растут junior-разработчики в BBC
• Inkdrop: как я создал редактор, зарабатывающий $1300 в месяц
• Jovo: open source фреймворк для разработки кроссплатформенных голосовых приложений
• “А что, так можно было?”: Рейтинг разработчиков будет пересмотрен
• Как tbh превратило анонимность во благо
• Мобильное Облако Mail.Ru внедрило технологии компьютерного зрения
• Mission-driven интерфейс
• Мобильная типографика
• Как получить работу в продуктовом или UX дизайне без портфолио
• Вопросы и ответы по Code Review
• Лучший кодинг через тестирование
• Понимаем Progressive Web App: стоят ли они всей шумихи?
• Как неинтуитивный пользовательский интерфейс может создать превосходный пользовательский опыт
• 19 альтернатив Parse в 2017 году
Аналитика, маркетинг и монетизация
• (+4) Мобильные приложения: что такое предпраздничный сезон-2017 и как заработать на нем максимум?
• Игры жанра match3: как разработать такую игру и сделать её лучше
• Tune проводит увольнения
• Топ рекламных платформ для привлечения установок
• Фрод со сбросом DeviceID: новая угроза в мобильном маркетинге
• Три стадии мобильного маркетинга
• Аналитика против атрибуции — Работа с несоответствием установок
Устройства, IoT, AI
• (+20) Тайм-менеджмент для кинестетиков
• «Путь будущего»: бывший главный инженер Uber создал религию ИИ
• LG представила смартфон с отпугивателем комаров
• Amazon выпускает новые колонки и умные часы
• Какие языки вам стоит изучить для Data Science?
• Microsoft запускает новые инструменты машинного обучения
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Разработка прибыльной Android игры двумя школьниками + Продолжение |
Процесс релиза iOS-приложений в Badoo |
Как работает Android, часть 3 |
Дайджест доступен и в виде рассылки. Подписаться вы можете тут (у нас уже 2000+ подписчиков!).
iOS
• (+24) Больше сюрпризов от Apple: обновленные правила размещения на App Store
• (+13) iOS+Kotlin. Что можно сделать сейчас
• (+8) Опционалы в Swift
• Podlodka #26: реактивный стиль программирования
• Stack AR: первая игра на основе ARKit, возглавившая топ App Store
• Полный разбор дизайна iOS 11: Apple все еще внимательны к деталям?
• Первое React Native приложение: от «Hello World» до App Store
• Отладка Swift с LLDB
• Как уйти из колледжа и стать iOS-фрилансером
• Управление разными средами в Swift-проекте
• Руководство по ARKit для новичков
• Чистая Swift архитектура
• В Xcode 9 цвета можно добавлять в каталог ассетов
• Измерение времени компиляции в Xcode 9
• React Native Game Center: интеграция Game Center в React Native
• ButtonProgressBar: прогресс бар в кнопке
• Detect.Location: история посещения мест по фотографиям
• LifetimeTracker: отслеживание ключевых проблем прямо во время разработки
Android
• (+11) Делаем MitM с помощью openssl на Android
• (+11) Библиотека Reamp: обезболивающее для ваших Android-приложений
• (+11) Реактивные приложения с Model-View-Intent. Часть 2: View и Intent
• (+8) 30 новых ресурсов для android-разработчика (лето 2017)
• (+4) CSV-библиотека Adaptive Table Layout
• Лучшие приложения Google Play за пять лет
• Android Dev Подкаст. Выпуск 43. Обзор Devfest Siberia 2017
• Победители Google Play Indie Games Festival
• Создание макета в ConstraintLayout: нормативы, барьеры и цепочки
• В Android O изменился файл хранения паролей от от wi-fi сетей
• Как парсить XML на Android
• RxJava: делаем креш-логи лучше
• Многопотоковый рендеринг на Android с Litho и Infer
• Flutter: от дизайна до приложения
• Использование шрифтов с Support Library 26
• Android Architecture Components: тестирование ViewModel LiveData
• Наслаждение тулбаром
• Воссоздаем “Бутылочку” на Android
• Используем buildSrc для кастомной логики сборок Gradle
• Как улучшить быстродействие Android Studio на машине с малым объемом памяти
• Frames: готовое приложение с обоями
• Tutorial View: простая организация туториалов
• Croller: круглый контрол
Разработка
• (+89) Иллюзия движения
• (+72) Иллюзия скорости
• (+21) Как мы за неделю создали чат-бота и подружили его с веб-приложением
• (+19) Learnopengl. Урок 3.3 — Класс 3D-модели
• (+15) Oblique frustum. Внутри скошенной пирамиды видимости
• (+11) Зачем в 2017 году писать свой движок для мобильных игр?
• (+10) Как Алексей Моисеенков дошел до Prisma и пошел дальше
• (+9) Как довести первый проект до конца. Часть 2. Мифы, ошибки и провалы
• (+8) «Нормальный у нас такой UX. UX? Не до этого нам, у нас тут сроки поджимают!» Снимаем мантию — моя интерпретация
• (+6) Как сделать gif-анимацию для Behance и Dribbble?
• Почему WebAssembly значительно изменит веб
• Как обучаются и растут junior-разработчики в BBC
• Inkdrop: как я создал редактор, зарабатывающий $1300 в месяц
• Jovo: open source фреймворк для разработки кроссплатформенных голосовых приложений
• “А что, так можно было?”: Рейтинг разработчиков будет пересмотрен
• Как tbh превратило анонимность во благо
• Мобильное Облако Mail.Ru внедрило технологии компьютерного зрения
• Mission-driven интерфейс
• Мобильная типографика
• Как получить работу в продуктовом или UX дизайне без портфолио
• Вопросы и ответы по Code Review
• Лучший кодинг через тестирование
• Понимаем Progressive Web App: стоят ли они всей шумихи?
• Как неинтуитивный пользовательский интерфейс может создать превосходный пользовательский опыт
• 19 альтернатив Parse в 2017 году
Аналитика, маркетинг и монетизация
• (+4) Мобильные приложения: что такое предпраздничный сезон-2017 и как заработать на нем максимум?
• Игры жанра match3: как разработать такую игру и сделать её лучше
• Tune проводит увольнения
• Топ рекламных платформ для привлечения установок
• Фрод со сбросом DeviceID: новая угроза в мобильном маркетинге
• Три стадии мобильного маркетинга
• Аналитика против атрибуции — Работа с несоответствием установок
Устройства, IoT, AI
• (+20) Тайм-менеджмент для кинестетиков
• «Путь будущего»: бывший главный инженер Uber создал религию ИИ
• LG представила смартфон с отпугивателем комаров
• Amazon выпускает новые колонки и умные часы
• Какие языки вам стоит изучить для Data Science?
• Microsoft запускает новые инструменты машинного обучения
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.