Android
• Поиск нашего Золотого пути к устойчивой Android-разработке
• Вышла Developer Preview версия Android 16
• Такие разные Android AppLinks, WebLinks, DeepLinks. Разбираемся и пытаемся сломать
• Избавляемся от Android в api-модулях
• Работа с CoordinatorLayout: шапочный разбор
• Anonymous Functions Aren't Lambdas
• gaudentas199/kotlin-platform-types-will-break-your-apps-3193d4d31742">Kotlin Platform Types will break your apps
#android
Ищем автора эталонного кода! 💎
Если вы уверены, что вашему коду подходит звание «Эталонный», а вам — звание «Автор самого красивого кода», то приглашаем принять участие в Конкурсе красоты кода 2.0 и выиграть классные призы от Сбера: iPhone 16 и умную колонку SberBoom.
Опытные эксперты определят победителей в пяти категориях: Backend, Frontend, DevOps, AI и Mobile, — а награждение пройдёт на ключевом IT-событии HighLoad в Москве, 2 и 3 декабря.
Больше 40 участников прошлого конкурса стали частью команды Сбера. Возможно, следующим станете именно вы — переходите по ссылке и изучайте подробности!
С мест докладывают, что Google работает над полным переносом Chrome OS на Android. Хотя непонятно, что это означает для брендов Chrome OS и Chromebook, говорят, что Google хочет, чтобы будущие «хромобуки» поставлялись с ОС Android в будущем. Поэтому, вероятно, новый Pixel Laptop, о котором ходят слухи, будет работать под управлением новой версии настольного Android, а не Chrome OS. Хотя Google не подтвердил публично свои намерения превратить Chrome OS в Android, в июне компания упомянула, что Chrome OS станет более похожей на Android, «используя части стека Android, такие как ядро Android Linux и фреймворки Android». В Chrome OS уже используются некоторые технологии Android, тем не менее, заявление Google не раскрывает всей истории, поскольку и Android перенимает часть “компьютерных” функция. Такая унификация означает, что для Android будет доступно больше приложений, поскольку будет больше пользователей, на которых можно ориентироваться. Больше пользователей — больше денег для разработчиков, что еще больше повышает интерес к платформе.
Разработка
• Минюст заставит Google продать Chrome, чтобы разрушить монополию на поиск
• Socratic Questioning - "Meetings are a waste of time"
Маркетинг и монетизация
• Статистика: доходы AFK Journey
• Лучшие приложения и игры в Google Play 2024
Кроссплатформа
• Flutter Openworld Gaming Engine
iOS
• Об анатомии крэшей на iOS «по-взрослому»
• How to use a Connectable publisher in Combine
• ivkuznetsov/proper-navigation-in-swiftui-with-coordinators-ee33f52ebe98">Proper Navigation in SwiftUI with Coordinators
• Exploring Interactive Bottom Sheets in SwiftUI
• Static, Dynamic, Mergeable, oh, my!
• Swift 6 suitable notification observers in iOS
#ios
Лучшие приложения и игры в Google Play 2024
Google Play назвал лучшие приложения и игры года.
Самое лучшее приложение года для Android — Partiful, приложение для планирования мероприятий, базирующееся в Нью-Йорке и конкурирующее с такими старыми решениями, как Evite, Eventbrite. Интересно, что по данным Appfigures в этом году Partiful получил 1,077,358 загрузок, но 95% из них пришлись на Apple App Store. В глобальном масштабе приложение достигло примерно 1.28 миллиона загрузок, но только 57,835 из них пришлись на Android.
Вот еще лучшие приложения:
• Best for Fun: Mila by Camilla Lorentzen
• Best for Personal Growth: UpStudy — Camera Math Solver
• Best Everyday Essential: MacroFactor — Macro Tracker
• Best Hidden Gem: Timeleft
• Best for Watches: Baby Daybook — Newborn Tracker
• Best for Large Screens: Infinite Painter
• Best for Google TV: Peacock TV: Stream TV & Movies
• Best for Cars: PBS KIDS Video
Самая лучшая игра для Android — AFK Journey, мобильная ролевая игра в жанре idle RPG, разработанная создателями популярной AFK Arena. Она сочетает автоматический бой с исследованием открытого мира и акцентируется на стратегическом подборе героев и их синергии.
Очередное новое исследование от AppFiguers. Не так давно Bending Spoons купила Robokiller, приложение для блокирования спам-взонков. И после этого удвоила цену! Летом пользователи Robokiller получили уведомление о том, что их подписка за 39.99 доллара в год подорожает до 89.99 доллара в год. Более чем в два раза дороже. Постарайтесь не читать дальше и сами предсказать результат. Октябрь, который был самым большим месяцем для Robokiller с точки зрения выручки, увеличился на 28% за год — это самый большой рост в этом году. Звучит хорошо, но если учесть, что цена удвоилась, это означает, что отток был довольно большим. Не сложно подсчитать, что Robokiller потерял более половины своих платящих пользователей с момента повышения цены. И это те, кто не успел отписаться. Интересно будет посмотреть на тренд в долгосрочной перспективе, но, скорее всего, именно для этого приложения отток будет расти лавинообразно. А вы играетесь с ценами на IAP? Как проводите эксперименты?
Разработка
• Первое «умное» кольцо Casio повторяет классические часы
• Как начинающему программисту получить первый оффер
• А/В-тесты на коленке
• Релокация в США, часть 1: Безопасность, оружие, визы и медицина
• Самодельная платформа для робототехники из бюджетного смартфона
• Что такое Resume-driven разработка
• Why Years of Experience Don’t Matter — How to Keep Your Skills Relevant in Tech
• Simple Time Management Hacks for Software Developers
Маркетинг и монетизация
• Что произойдет, если удвоить цену на приложение?
• Маркетологи в мобайле: Яков Пейсахзон (директор Авито Рекламы)
Кроссплатформа
• A Developer’s Roadmap to Mastering Kotlin Multiplatform
• Introducing Native Integrations for Gravatar Mobile SDK
iOS
• Apple убивает Swift
• Swift PNG — декодирование, проверка, редактирование и кодирование PNG
• SwiftUIFormValidator — проверка форм для SwiftUI
• Exploring Apple Intelligence: Writing Tools
• Mastering TextEditor in SwiftUI: Features, Limitations, and Tips
• Creating a macOS Screensaver in SwiftUI
• vosough.k/map-models-made-easy-daaa00150f08">Map Models Made Easy
• amir.daliri/concurrency-in-swift-6-6f2b960065f1">Concurrency in Swift 6
#ios
📕Информация для мобильных разработчиков📕
Ответьте на 20 вопросов и проверьте, какие навыки, необходимые для мобильной разработки.
После теста вы получите:
- Записи лучших открытых уроков по Dart/Flutter
- Cкидку 15% на курс «Flutter Mobile Developer» от OTUS до 28.11
На курсе вы:
- Доскональное изучение программирование на Dart, применение platform-specific code и создание анимация с помощью Skia
- Разовьёте и научитесь применять фреймвоки для работы с состоянием приложения: Bloc, Redux, MobX
- Создадите свои аналоги Telegram, CoinMarketCap, Todoist
👉 ПРОЙТИ ТЕСТ — https://otus.pw/PZfD/
💣 Пройдите тест до 28.11 и получите скидку 15% на курс, и записи лучших открытых уроков в подарок.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Нашел интересную статью про моделирование состояния ViewModel. Два наиболее популярных способа - обычный класс данных и Sealed интерфейс. Автор пишет, что у обоих есть большие недостатки в масштабируемости и управляемости, и он предлагает третий - класс данных, обернутый Sealed интерфейсом. Мораль там в самом конце: “вместо того чтобы придерживаться какого-то одного паттерна, полезно использовать сильные стороны нескольких шаблонов и смешивать их вместе”. Это, очевидно, относится не только к моделирование состояния.
Разработка
• AI Makes Tech Debt More Expensive
Маркетинг и монетизация
• Сравнение доходов App Store и Google Play в категории Образование в Бразилии
Кроссплатформа
• Optimizing Flutter Apps with RepaintBoundary
• This needs to stop (Flock)
• hemantkumarceo001/how-to-monitor-internet-connection-continuously-in-flutter-a-step-by-step-guide-0f84fdeb0f5b">How to Monitor Internet Connection Continuously in Flutter: A Step-by-Step Guide
iOS
• Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск
• Detecting hand pose with the Vision framework
• The Composable Architecture - New Project Setup in SwiftUI using XCode 16 and Swift Testing
• jaredcassoutt/swiftui-tutorials-building-a-relaxing-sudoku-app-from-scratch-a3a7b6911fb4">SwiftUI Tutorials: Building a Relaxing Sudoku App from Scratch
#ios
🤮 Сравнение доходов App Store и Google Play в категории Образование в Бразилии
Я уже сравнивал доходы двух платформ в категории Образование в США и выяснилось, что распределение доходов между App Store и Google Play там составляет примерно 82 на 18%. Посмотрим на распределение доходов той же категории в другой стране, и для примера возьмем Бразилию, один из быстрорастущих рынков приложений в мире и в Южной Америке.
• В целом Топ-10 приложений в двух магазинах за сентябрь по данным AppMagic заработали $2 017 072. Для сравнения, в сентябре 2023 года этот показатель — $1 942 200. Это примерно в 1️⃣5️⃣ раз меньше, чем в США, при вдвое меньших загрузках.
• Всего за месяц они получили 2 533 710 загрузок.
• В данном случае Duolingo тоже получает львиную долю всего дохода в категории — 41%.
• Однако доходы по платформам распределяются значительно лучше — в сентябре App Store получил $966 731, а Google Play $1 066 977 (расхождение в сумме, вероятно, можно объяснить разнице в топе приложений двух платформ и результирующем). Это 47 и 53% соответственно.
И что: Android на развивающихся рынках вполне конкурентноспособен. Традиционно поставьте 👍, если хотите продолжения.
Надоел весь ваш этот код - ухожу в высокую журналистику ☺️ Открыл новый канал “Хорошие новости” - про, собственно, хорошие и интересные новости. Подписывайтесь, рекомендуйте, хвалите (ну или критикуйте).
Разработка
• The github plugin my coworkers asked me not to write
• 5 Non-LLM Software Trends To Be Excited About
Маркетинг и монетизация
• Улучшения в фичеринге в App Store
Кроссплатформа
• Design System from scratch in Flutter
• 3jacksonsmith/mastering-detox-for-react-native-step-by-step-guide-to-e2e-testing-webview-logins-with-robot-97f7a9898a17">Mastering Detox for React Native
• hemantkumarceo001/how-to-use-flutter-secure-storage-to-keep-your-apps-data-safe-696d42da2094">How to Use Flutter Secure Storage to Keep Your App’s Data Safe
iOS
• Почему xcodebuild работает медленнее, чем Xcode?
• Apple работает над «настенным планшетом с искусственным интеллектом»
• Apple is Killing Swift
• Advanced Swift Concurrency
• So how does this whole @preconcurrency thing work?
• What on earth is going on with awakeFromNib?
#ios
🌐 Фичеринг прямо в App Store Connect
Теперь вы можете поделится новым контентом и улучшениями вашего приложения или игры для рассмотрения на предмет фичеринга в App Store с помощью Featuring Nominations прямо в App Store Connect. Подайте заявку на участие, чтобы рассказать команде о запуске нового приложения, новом содержимом или добавленной функциональности. Если ваше приложение будет представлено на вкладке «Сегодня», вы также получите уведомление в приложении App Store Connect.
Кроме того, вы можете рекламировать самые важные моменты своего приложения или игры — запуск, выход новой версии или размещение в App Store — с помощью готовых маркетинговых ресурсов. Используйте приложение App Store Connect, чтобы получить разработанные Apple ассеты и поделиться ими со своими социальными сетями.
Android
• Everything you need to know about Android on Raspberry Pi
• Running Android on Amazon EKS
• The two best ways to secure your API keys in Android projects
• examinr.ai/awesome-android-ci-with-screenshot-testing-03157952e2af">Android Screenshot Testing — Boosting your CI pipeline
• Exploring the Secrets of Dispatchers Default and IO in Kotlin Coroutines
• Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns
• How to force update (& test) your Android app using Google's in-app update library
#android
iOS
• Revertible — версионирования состояний для замены UndoManager
• Реверс-инжиниринг новой функции iOS Inactivity Reboot
• Using Transactions Instead of Save in SwiftData and Core Data
• shobhakartiwari/from-noida-to-the-usa-an-ios-developers-journey-a95ddfdb256c">From Noida to the USA: An iOS Developer’s Journey
#ios
Вышла Developer Preview версия Android 16
Android 16 Developer Preview 1 уже доступен для тестирования ваших приложений. Это начало более частого выпуска API для Android в рамках усилий по ускорению инноваций в приложениях и устройствах.
Есть четыре заметных изменения - это новый встроенный инструмент выбора фотографий, поддержка медицинских записей FHIR в приложении Health Connect, обновленная версия Privacy Sandbox на Android, а также новая константа, отличающая Android 16 от предстоящего минорного релиза Q4.
Эта предварительная версия для следующего большого релиза Android, запуск которого запланирован на 2 квартал 2025 года. Этот выпуск похож на все API-выпуски в прошлом, где можно понять запланированные изменения поведения, которые часто привязаны к targetSdkVersion. Конец первого квартала 2025 года намечен для достижения стабильности платформы. На этом этапе предоставят финальные API SDK/NDK, а также финальные внутренние API и системное поведение приложений. Ожидается, что Platform Stability будет достигнута в марте 2025 года, и с этого момента у вас будет несколько месяцев до официального релиза (он будет во втором, а не в третьем квартале), чтобы провести финальное тестирование.
Android
• Composable Screens — примеры экранов на Compose
• Google замещает ChromeOS в Android, чтобы конкурировать с iPad
• Микрооптимизация, которая вам никогда не понадобится
• Кроссплатформенная архитектура ядра приложения. Простая. Линейная. Масштабируемая
• EazSoftware/a-comprehensive-guide-to-adb-android-debug-bridge-the-unsung-hero-for-android-developers-28b349037436">A Comprehensive Guide to ADB (Android Debug Bridge)
• YodgorbekKomilo/system-design-of-netflix-android-app-a-detailed-breakdown-252b3d2e7f5f">System Design of Netflix Android App: A Detailed Breakdown
• Android Studio Ladybug Feature Drop
• Finding Our Golden Path to Sustainable Android Development
• Benchmark Insights: Direct State Propagation vs. Lambda-based State in Jetpack Compose
#android
👍Стройте эффективную многопоточную/асинхронную инфраструктуру приложений!
Узнайте как на бесплатном уроке онлайн-курса «Android Developer. Professional» — «Kotlin Coroutine в Android-разработке»: регистрация
Что будет на вебинаре?
- Теоретически и практические основы корутины: structured concurrency, builders, suspend функции, coroutine context, обработка exceptions.
- Каналы: producer channel/ Consumer channel; типы каналов по размеру буффера; rendevouz Channel и другие.
- Flow: builders; операторы; обработка исключений во Flow; миграция на Flow.
Результаты вебинара:
- Узнаете, как правильно использовать корутины и suspend функции, глубоко разобравшись в их устройстве и best practices
- Научитесь реализовывать операторы и писать правильные цепочки, используя Flow
- Сможете использовать знания для построения эффективной инфраструктуры приложений.
🔥После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🇸🇱 Chrome под угрозой продажи, Android ждет разделение
В США идет анимонопольное дело против Google и правительство сформулировало свои требования.
• Главное - продажа Chrome, «поскольку он представляет собой ключевую точку доступа, через которую многие люди пользуются поисковой системой». Есть много вопросов о том, как это будет работать, в том числе о том, как это отразится на кодовой базе Chromium.
• Кроме того, «антимонопольные чиновники отступили от более жесткого варианта, который заставил бы Google продать Android». Однако правительство хочет, чтобы Google «отделил Android от других своих продуктов, включая поиск и магазин мобильных приложений Google Play, которые сейчас продаются в комплекте».
• Среди других рекомендаций — лицензирование данных и результатов поиска Google, а также разрешение веб-сайтам, которые индексируются в поиске, отказаться от обучения искусственного интеллекта.
Android
• StateFlow vs MutableState
• Android Interview Series 2024 — Part 1 (Android basics)
• A Curious Case of Mistaken Identity: How Lambdas Break Data Class Hashing
• Not a Phase - Text with Compose and Canvas
• A Micro-optimization You Will Never Need
• YodgorbekKomilo/how-i-passed-the-google-android-engineer-hiring-assessment-my-journey-8cf61ec19836">How I Passed the Google Android Engineer Hiring Assessment: My Journey
• Don’t use Kotlin's removeFirst() and removeLast() when using compileSdk 35
#android
Моделирование собеседований
Новый еженедельный дайджест со всеми материалами за неделю — разбираем iOS-приложение и сенсорный пин-пад, моделируем состояния ViewModel в Android и начинаем работу с LiteRT, самые трудные вопросы с собеседований, о зацикливании рекомпозиции в Jetpack Compose, алгоритмы, с помощью которых мы разрабатываем программное обеспечение и многое другое. Подключайтесь!
Видео и подкасты за неделю на @AppFiles
• (iOS En)
The Composable Architecture (TCA) - New Project Setup in SwiftUI using XCode 16 and Swift Testing
• (iOS En)
SwiftUI Navigation Stack Hero Animation - iOS 17 & 18
• (iOS En)
Google Engineer Explains How to Integrate Gemini AI in iOS
• (iOS En)
Reading and Parsing CSV Files in Swift
• (iOS En)
Github Copilot for Xcode: Let's Explore and Discover
• (iOS En)
Mediator Pattern in Swift: Explaining a Real-World Example from My Job
• (iOS En)
Expandable Custom Slider
• (And En)
Ultra HDR images | Android Build Time
• (And En)
Previewing the Unpreviewable - Placeholder Previews in Compose
• (And En)
How to Create Material3 List Items With THIS Composable
• (And En)
Exploring Android Trunk-Stable & Aconfig
• (And En)
Fun with Function Types in Kotlin
• (Crs En)
Flutter Full Stack Tutorial – Spotify Clone w/ MVVM Architecture, Python, FastAPI, Riverpod
• (Crs En)
Mix Native iOS Views in Compose Multiplatform With Touchlab's New Library
• (Dev Ru)
Как начинающему программисту получить первый оффер
• (Dev Ru)
Релокация в США, часть 1: Безопасность, оружие, визы и медицина
• (Anl Ru)
А/В-тесты на коленке
#ios #android #mobile #video
Android
• Wave Progress Compose — волновой прогресс-бар
• Моделирование состояния ViewModel в Android: чистый, масштабируемый паттерн
• Улучшение стабильности и производительности эмулятора Android
• Как реализовать методы скроллов через Appium для Android-приложений
• Как поднять инфраструктуру для запуска автотестов Android в облаках
• Animating the Airbnb Logo in Jetpack Compose
• Building consistency at scale: Our journey with Compose Design System
• Building a Simple Camera2 API App with Jetpack Compose
#android
Как проводить мобильное тестирование без телефонов?
27 ноября в 12:00 Selectel проведет вебинар, на котором расскажет, как настроить ADB-соединение с удаленным устройством на своей локальной машине и как использовать Мобильную ферму Selectel в автотестах Android-приложений.
Старший разработчик Мобильной фермы Selectel Антон Ореховский объяснит, как добавлять ADB-ключи и избегать ошибок при установке соединения, локально запускать автотесты и интегрировать Мобильную ферму в CI/CD. А также ответит на все ваши вопросы.
Зарегистрируйтесь по ссылке
Реклама, АО «Селектел», ИНН: 7810962785
🇸🇱 Улучшение стабильности и производительности Android-эмулятора
В Google знают, насколько важны стабильность, надежность и производительность Android-эмулятора для повседневной работы Android-разработчиков. Выслушав ценные отзывы о стабильности, надежности и производительности, команда Android Studio на шесть месяцев отказалась от работы над крупными функциями эмулятора и начала инициативу под названием Project Quartz. Эта инициатива состояла из нескольких рабочих потоков, направленных на уменьшение количества сбоев, ускорение времени запуска, устранение ошибок и создание более эффективных способов обнаружения и предотвращения проблем в будущем.
Ключевая цель проекта Quartz заключалась в уменьшении количества сбоев эмулятора, которые могут расстраивать и блокировать разработчиков, снижая их производительность. В компании сосредоточились на устранении проблем, вызывающих сбои и зависания бэкенда и пользовательского интерфейса, обновили UI-фреймворк, фреймворк гипервизора и графические библиотеки, а также устранили технический долг.
• В результате в последней стабильной версии Android Studio наблюдается на 30% меньше сбоев, о которых сообщают разработчики, согласившиеся делиться информацией о сбоях. Наряду с дополнительным сквозным тестированием это означает более стабильную, надежную и качественную работу с меньшим количеством прерываний при использовании эмулятора Android для тестирования ваших приложений.
• Команда также реализовала ряд мер по повышению качества релизов, в том числе увеличили количество и частоту сквозных, автоматизированных и интеграционных тестов на macOS, Microsoft Windows и Linux. Сейчас в процессе постсабмита проводится более 1100 сквозных тестов (по сравнению с 500 тестами в прошлом) на всех поддерживаемых операционных системах.
• В ходе проекта Quartz сократили количество открытых проблем на 43.5% - с 4 605 до 2 605. 17% из них были активно исправлены в ходе проекта Quartz, а остальные были закрыты как устаревшие или ранее исправленные.
Обновленная версия эмулятора уже доступна в последней версии Android Studio.
Android
• LibreSudoku — судоку на Kotlin, Jetpack Compose и Material3
• Emulating classes with functions in Kotlin for maximum performance
• Google Maps in Jetpack Compose: Circles
• Mastering runCatching in Kotlin: How to Avoid Coroutine Cancellation Issues
• Leak detection using UI tests
• Top 5 Extension Functions Every Jetpack Compose Developer Should Have
• anandgaur22/android-system-design-interview-questions-and-answers-d13e5944e70e">Android System Design Interview Questions and Answers
#android
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее мероприятие:
• 30 ноября – 1 декабря — для Android- и iOS-разработчиков, офер за 2 дня в команды Карт и Рекламы.
Зарегистрироваться
По слухам, Apple планирует выпустить в 2026 два новых продукта. Во-первых, это умная камера для дома. Во-вторых, AirPods с функциями, более ориентированными на здоровье. И если с наушниками все более или менее понятно (я давно говорю, что потенциал AirPods явно недооценен), то вот про с камерой все сложно. Зачем она нужна и что будет делать исключительно лучше аналогов непонятно. Впрочем, если слухи верны, то можно уже начинать готовиться. Как ваше приложение может использовать умную камеру?
Разработка
• Алгоритмы, с помощью которых мы разрабатываем программное обеспечение
• Синхронизация звука и видео. Взгляд дилетанта
• Migrating billions of records: moving our active DNS database while it’s in use
• How I ship projects at big tech companies
Маркетинг и монетизация
• Статистика: доходы Gardenscapes
• What budgeting apps, Peloton, and Duolingo have in common
Кроссплатформа
• North Korean hackers create Flutter apps to bypass macOS security
• Cozy Data - A Swift-inspired Persistent Data Solution for Flutter
• Discussion: MVVM pattern for Flutter apps
#mobile #dev
iOS
• Начинаем работу с LiteRT (Tensorflow Lite)
• Apple готовит два новых продукта на 2026
• Mockolo — эффективный генератор моков для Swift
• andres.carort/ios-developer-toolset-to-boost-productivity-d2d0abe93976">iOS Developer Toolset to boost productivity
• Introducing Swift Testing. Parameterized Tests.
• How to identify data in Lists and ForEach in SwiftUI
• Automate Apple app code signing using fastlane match
• garg.vivek/the-end-of-singleton-why-swift-6-actors-are-the-future-of-ios-development-bbbe8501ee8f">The End of Singleton? Why Swift 6 Actors Are the Future of iOS Development
#ios