В этом выпуске разбираемся с оперативной памятью и подписками, с безопасностью и амбициозными проектами, с полезными привычками и самыми-самыми приложениями, с тем как дизайн может убить ваш продукт и многим другим!
Из года в год Android-производители форсируют железную часть смартфонов: 108 МП, 8к-видеосъемка 12гб оперативной памяти… Но подождите, у iPhone всего 4 ГБ ОЗУ. И это не мешает ему работать на уровне или даже быстрее своих конкурентов! И как же удалось компании Apple добиться такого результата? С каждым годом требования к in-app подпискам в мобильных приложениях в App Store и Google Play меняются, становится все сложнее учесть их с первого раза и не получить серию реджектов, тем самым откладывая релиз порой на несколько месяцев. Если про требования для App Store уже достаточно много публикаций, то с правилами in-app подписок для Google Play все еще иногда возникают вопросы.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+48) Так ли безопасен ваш iPhone? Обзор уязвимостей и тайных ходов в iOS
• (+26) Как Apple при помощи нерыночных методов занимается вымогательством у разработчиков
• (+8) Материалы Avito iOS meetup #8: видео и презентации
• (+7) Создаем калькулятор на Swift 5
• (+6) AppCode 2020.2: поддержка Swift Package Manager, улучшенное быстродействие, Change Signature для Swift и многое другое
• (+4) Реализация Grid раскладки на SwiftUI
• Apple фактически запретила стриминговые игры Stadia и xCloud
• Apple опубликовала требования к браузерами и почтовым клиентам по умолчанию
• Фил Шиллер перестанет заниматься маркетингом Apple
• Apple купила канадский финтех Mobeewave
• Тысячи приложений удалены из китайского App Store
• Делаем прилипчивый заголовок в ScrollView на SwiftUI
• Делаем перетаскиваемую карточку на SwiftUI
• Apple может потерять толпу разработчиков
• matchGeometryEffect от SwiftUI в iOS 14
• Современные модульные приложения с Xcode 12 и Swift Package Manager
• Почему SwiftUI делает вас лучшим программистом
• Распознавание текста на iOS-устройстве с помощью SwiftUI
• Чистый AppDelegate
• Сделайте ваше приложение на SwiftUI масштабируемым и готовым к разным размерам экрана
• iOS-разработка в VSCode
• SwiftFortuneWheel: «Колесо фортуны» на Swift
• YouTag: музыкальный плеер для iOS
Android
• (+17) Композитная сборка как альтернатива buildSrc в Gradle
• (+11) Android изнутри: сравнение Dalvik и ART
• (+7) Трансформация Android-разработки с Jetpack Compose и Корутинами
• (+7) RecyclerView.ItemDecoration: используем по максимуму
• (+7) RxRelay – это магия? Subject vs RxRelay
• (+6) Реализация функции сканирования штрихкодов с помощью HMS Core Scan SDK
• (+5) Топ самых важных функций Android для слепых – мнение незрячих экспертов
• Xiaomi отказалась от программы Android One
• Google стал продавцом ВСЕХ приложений в Европе
• Android Broadcast: ламповые посиделки. Артем Зиннатуллин@Lyft
• Union, Intersect, Subtract в Kotlin
• ViewPager2 – копаемся во внутренних API для работы с DiffUtil
• Как оставаться современным Android-разработчиком
• Реверс-инжиниринг Android-приложений
• Внедрение поискового фильтра с использованием Kotlin Channels и Flows
• Используем In-App Review API для отзывов в Google Play
• Шаблон Репозиторий в Android
• Material Components для Android 1.2.0
• GraphView: графики для Android
• Scrcast: запись экрана в приложении для Android
Разработка
• (+25) Сказ о разработке амбициозного проекта 16-ти летним парнем (file547)
• (+13) Какие навыки можно прокачать на проекте c большой кодовой базой
• (+10) Защищаемся от трекеров на мобильных платформах
• (+8) FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты
• (+6) Управление сценами в Unity без боли и страданий
• (+5) Тестирование для мобильных разработчиков: полезные видео с Android-митапа
• make sense: О практике Jobs-To-Be-Done, разных уровнях применения, мифах и вреде продуктоцентричности
• Podlodka #175: имитационное моделирование
• Google запустил распознавание рукописного ввода в ML Kit
• Дизайн приложений: примеры для вдохновения #12
• 5 вещей, которые лучше понять до того, как начать стажировку в стартапе
• Дело о Маленьких и Больших Буквах
• Тестирование сервиса без ругани с программистом
• Почему быстрый дизайн убьёт ваш продукт?
• Правила хорошего интерфейса: изучаем UI-дизайн на примере LEGO
• Как сделать многопользовательскую (.io) веб-игру
• Slack теряет разработчиков, Discord получает
• Я сделал Plague Inc. для калькулятора
• Как индустрия рингтонов проложила путь магазинам приложений, а затем исчезла
• Как Flutter выиграет десктопы
• 4 ключевых фактора, которые нужны, чтобы стать успешным разработчиком
• Конфигурируем VS Code как профессионалы
• Что делает движок Godot отличным для приложений с продвинутым GUI
• Как я повысил производительность программной системы на 35,000%
• Единственный фактор, который сделает вас Senior-разработчиком
• Мои 2 цента о кроссплатформе
• Миф о стоимости качества ПО
• Локализуйте свое приложение на Flutter за 3 шага
• Уроки, извлеченные из создания первых 10 коммерческих приложений на Flutter
• 6 советов разработчикам по борьбе с синдромом самозванца
• FigmaToCode: макет в код для Flutter и SwiftUI
Аналитика, маркетинг и монетизация
• (+13) [Фреймворк формирования полезных привычек] и максимального вовлечения юзеров на примере изучения английского языка
• (+1) Как IDFA и контроль клиентских данных приведут к доверительному маркетингу
• LOVEMOBILE #08: Adjust
• Самые скачиваемые приложения в июле 2020
• Самые зарабатывающие приложения в июле 2020
• Radish: микрочтение фантастики
• Доходы мобильных игр во 2 квартале поставили новый рекорд
• Как игра One Guy Run получила 100.000+ установок за 2 дня?
• Мобильное видео заменяет телевизор
• iOS 14 & IDFA & мобильная атрибуция трафика: глобальное изменение на мобильном рынке рекламы
• Тестирование цен для подписных приложений
• Как разработать приложение, которое само по себе продвигает
• Платные приложения мертвы. Что будет дальше с монетизацией?
• 12 правил виральности, которые я узнал, создавая видео-приложение со взрывным ростом
AI, Устройства, IoT
• (+32) Языковые модели как двигатель прогресса: необычные применения для GPT-3
• (+20) Как машинное обучение спасает деревья в Екатеринбурге
• (+14) Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL)
• Исследователи сделали ИИ для превращения селфи в нормальные портреты
• Google представил Pixel 4A
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Из года в год Android-производители форсируют железную часть смартфонов: 108 МП, 8к-видеосъемка 12гб оперативной памяти… Но подождите, у iPhone всего 4 ГБ ОЗУ. И это не мешает ему работать на уровне или даже быстрее своих конкурентов! И как же удалось компании Apple добиться такого результата? С каждым годом требования к in-app подпискам в мобильных приложениях в App Store и Google Play меняются, становится все сложнее учесть их с первого раза и не получить серию реджектов, тем самым откладывая релиз порой на несколько месяцев. Если про требования для App Store уже достаточно много публикаций, то с правилами in-app подписок для Google Play все еще иногда возникают вопросы.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.
iOS
• (+48) Так ли безопасен ваш iPhone? Обзор уязвимостей и тайных ходов в iOS
• (+26) Как Apple при помощи нерыночных методов занимается вымогательством у разработчиков
• (+8) Материалы Avito iOS meetup #8: видео и презентации
• (+7) Создаем калькулятор на Swift 5
• (+6) AppCode 2020.2: поддержка Swift Package Manager, улучшенное быстродействие, Change Signature для Swift и многое другое
• (+4) Реализация Grid раскладки на SwiftUI
• Apple фактически запретила стриминговые игры Stadia и xCloud
• Apple опубликовала требования к браузерами и почтовым клиентам по умолчанию
• Фил Шиллер перестанет заниматься маркетингом Apple
• Apple купила канадский финтех Mobeewave
• Тысячи приложений удалены из китайского App Store
• Делаем прилипчивый заголовок в ScrollView на SwiftUI
• Делаем перетаскиваемую карточку на SwiftUI
• Apple может потерять толпу разработчиков
• matchGeometryEffect от SwiftUI в iOS 14
• Современные модульные приложения с Xcode 12 и Swift Package Manager
• Почему SwiftUI делает вас лучшим программистом
• Распознавание текста на iOS-устройстве с помощью SwiftUI
• Чистый AppDelegate
• Сделайте ваше приложение на SwiftUI масштабируемым и готовым к разным размерам экрана
• iOS-разработка в VSCode
• SwiftFortuneWheel: «Колесо фортуны» на Swift
• YouTag: музыкальный плеер для iOS
Android
• (+17) Композитная сборка как альтернатива buildSrc в Gradle
• (+11) Android изнутри: сравнение Dalvik и ART
• (+7) Трансформация Android-разработки с Jetpack Compose и Корутинами
• (+7) RecyclerView.ItemDecoration: используем по максимуму
• (+7) RxRelay – это магия? Subject vs RxRelay
• (+6) Реализация функции сканирования штрихкодов с помощью HMS Core Scan SDK
• (+5) Топ самых важных функций Android для слепых – мнение незрячих экспертов
• Xiaomi отказалась от программы Android One
• Google стал продавцом ВСЕХ приложений в Европе
• Android Broadcast: ламповые посиделки. Артем Зиннатуллин@Lyft
• Union, Intersect, Subtract в Kotlin
• ViewPager2 – копаемся во внутренних API для работы с DiffUtil
• Как оставаться современным Android-разработчиком
• Реверс-инжиниринг Android-приложений
• Внедрение поискового фильтра с использованием Kotlin Channels и Flows
• Используем In-App Review API для отзывов в Google Play
• Шаблон Репозиторий в Android
• Material Components для Android 1.2.0
• GraphView: графики для Android
• Scrcast: запись экрана в приложении для Android
Разработка
• (+25) Сказ о разработке амбициозного проекта 16-ти летним парнем (file547)
• (+13) Какие навыки можно прокачать на проекте c большой кодовой базой
• (+10) Защищаемся от трекеров на мобильных платформах
• (+8) FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты
• (+6) Управление сценами в Unity без боли и страданий
• (+5) Тестирование для мобильных разработчиков: полезные видео с Android-митапа
• make sense: О практике Jobs-To-Be-Done, разных уровнях применения, мифах и вреде продуктоцентричности
• Podlodka #175: имитационное моделирование
• Google запустил распознавание рукописного ввода в ML Kit
• Дизайн приложений: примеры для вдохновения #12
• 5 вещей, которые лучше понять до того, как начать стажировку в стартапе
• Дело о Маленьких и Больших Буквах
• Тестирование сервиса без ругани с программистом
• Почему быстрый дизайн убьёт ваш продукт?
• Правила хорошего интерфейса: изучаем UI-дизайн на примере LEGO
• Как сделать многопользовательскую (.io) веб-игру
• Slack теряет разработчиков, Discord получает
• Я сделал Plague Inc. для калькулятора
• Как индустрия рингтонов проложила путь магазинам приложений, а затем исчезла
• Как Flutter выиграет десктопы
• 4 ключевых фактора, которые нужны, чтобы стать успешным разработчиком
• Конфигурируем VS Code как профессионалы
• Что делает движок Godot отличным для приложений с продвинутым GUI
• Как я повысил производительность программной системы на 35,000%
• Единственный фактор, который сделает вас Senior-разработчиком
• Мои 2 цента о кроссплатформе
• Миф о стоимости качества ПО
• Локализуйте свое приложение на Flutter за 3 шага
• Уроки, извлеченные из создания первых 10 коммерческих приложений на Flutter
• 6 советов разработчикам по борьбе с синдромом самозванца
• FigmaToCode: макет в код для Flutter и SwiftUI
Аналитика, маркетинг и монетизация
• (+13) [Фреймворк формирования полезных привычек] и максимального вовлечения юзеров на примере изучения английского языка
• (+1) Как IDFA и контроль клиентских данных приведут к доверительному маркетингу
• LOVEMOBILE #08: Adjust
• Самые скачиваемые приложения в июле 2020
• Самые зарабатывающие приложения в июле 2020
• Radish: микрочтение фантастики
• Доходы мобильных игр во 2 квартале поставили новый рекорд
• Как игра One Guy Run получила 100.000+ установок за 2 дня?
• Мобильное видео заменяет телевизор
• iOS 14 & IDFA & мобильная атрибуция трафика: глобальное изменение на мобильном рынке рекламы
• Тестирование цен для подписных приложений
• Как разработать приложение, которое само по себе продвигает
• Платные приложения мертвы. Что будет дальше с монетизацией?
• 12 правил виральности, которые я узнал, создавая видео-приложение со взрывным ростом
AI, Устройства, IoT
• (+32) Языковые модели как двигатель прогресса: необычные применения для GPT-3
• (+20) Как машинное обучение спасает деревья в Екатеринбурге
• (+14) Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL)
• Исследователи сделали ИИ для превращения селфи в нормальные портреты
• Google представил Pixel 4A
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.