Из разработчика в менеджеры и обратно
Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет руководства отделом мобильной разработки, я снова сдул пыль с любимой IDE.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в

iOS

- Create ML в iOS
- Особенности сборки и доставки iOS-приложений
- Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 2. Hacker News
- Apple отказывает приложениям о коронавирусе
- Apple обновила гайдлайны: iOS 13, гадания, реклама в пушах
Кастомные переходы UIViewController в Swift Создание интерактивного графика для iOS Как создать новый проект в Xcode без сториборда Жесты в SwiftUI Пришло время iOS-разработчикам использовать FAB Что нового в Xcode 11.4? Кастомизация переключателей в SwiftUI Как управлять Toolchains в Xcode Простые методы создания анимации в Swift Экспорт SwiftUI кода из Figma ObjectForm: декларативные формы FrameGrabber: скриншоты из видео

Android

- Dynamic Delivery в многомодульных проектах (часть 2) и (часть 1)
- Материалы с нижегородского Android-митапа. MotionLayout, Kotlin Coroutines, CI/CD инфраструктура и дизайн-системы
- Huawei заманивает разработчиков в AppGallery «нулевым налогом»
- Google Play «избавился» от коронавируса
- Конференцию I/O 2020 отменили
Надежное отображение клавиатуры в Android Все, что вы хотите знать об Android Jetpack Navigation Component Как реализовать скелеты и мерцающие эффекты в Android Декларативный список в Android с RecyclerView + ViewBinding 30 лучших Android-библиотек и проектов 2019 года Подумайте, прежде чем использовать BuildConfig.DEBUG Как использовать Git в Android Studio Лучшие функции Android Studio 4.0 Beta Android RecyclerView с Data Binding и Корутинами Simple App Launcher: избранные приложения для Android Anti-Mine: «Сапер» для Android Compound Text View: gravity для compound drawables у TextView
Разработка
- Мотор! или Что такое игровая физика
- Валидация ассетов в Unity3D
- Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn
- Проблемы взаимодействия с внешними командами на больших проектах
- Unity ball trajectory 2d для новичков
- Создание roguelike в Unity с нуля
- Podlodka #153: В IT с малых лет
- Radio QA #56: Синдром самозванца
- Flutter Dev Podcast #13: Flutter глазами дизайнера
- Android Broadcast #8: Kotlin Mobile MultiPlatform
- 10 подсказок для создания лучшего интерфейса
- Мобильные модальные окна: 8 лучших примеров использования
- Google Summer of Code начинает прием заявок
- Sourcegraph привлек $23 млн. на поиск в коде
- Facebook переписал Messenger и уменьшил количество строк кода с 1.7 млн до 360,000
- Курс для технических писателей от Google
- Дизайн-концепт: приложение для формирования здоровых привычек с детства
- ATEC — приложение для проверки признаков аутизма
Как я создал часы из частиц и выиграл конкурс #FlutterClock Сетевой код для игровых разработчиков UX 101: нормандские двери Kotlin против Flutter: кто будет править рынком кроссплатформенных приложений? 8 потрясающих тем для Visual Studio Code Различия между хорошими и великими программистами Спасите свое следующее приложение от переписывания с нуля Кризис среднего возраста каждого разработчика Создание приложения для ведения заметок с помощью Flutter и Firebase Когда дело доходит до дизайна, ваши глаза намного лучше математики 100 советов игровым разработчикам Воксельный рендеринг поверхности NymphCast: открытый аналог ChromeCast и AirPlay
Аналитика, маркетинг и монетизация
- make sense: Как улучшить онбординг, чтобы мотивировать использовать ваш продукт с Евгением Казначеевым
- Сколько стоит сделать приложение в США
- Мобильные игры выиграли от коронавируса
- Эксперименты с ценой увеличили мой доход на 500%
- Аналитика подписок: 5 сервисов
- Доходы астрологических приложений выросли на 65% за год