Как проводить мобильное тестирование без телефонов?
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
На Reddit очередное обсуждение - самые трудные вопросы на собеседовании, которые вам задавали. В общем-то про Android (от разработки собственного DI-фреймворка до того, почему стоит использовать MVVM), но есть и выдающиеся вроде “сейчас 16:55 пятницы, большинство ваших коллег разъехались по домам на длинные выходные, а ваш босс ушел в отпуск, но доступен только в экстренных случаях. Сервер падает. Что вы будете делать?”. А какие самые сложные вопросы были у вас на собеседовании? Поделитесь в комментариях, дополним статью 😊
Разработка
• Сортировка слиянием — Вопросы с собеседований
• SDK и BDUI в Яндекс Пэй и Яндекс Банке
• Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder
• ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность
• Мобильная ферма: тесты мобильных приложений без телефона и эмулятора
• AIOps — grafana, observability, aiops, ai
• Обзор Apple Mac Mini M4: маленькое чудо
• Mistral запустил новый API для модерации контента
• Programming Languages That Blew My Mind
• Algorithms we develop software by
Маркетинг и монетизация
• В AppMetrica появилась возможность обнаруживать фрод
• CapCut поглощает рынок видеоредакторов
• Пока все спят: звуки мошенничества
Кроссплатформа
• Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?
• Flutter Push-уведомления, том числе в Web
• Extension Shadowing for Actual Declarations in KMP
• Mix Native iOS Views in Compose Multiplatform With Touchlab's New Library
• Developing iOS & Android Home Screen Widgets in Flutter
#mobile #dev
iOS
• LNPopupUI — View как попапы
• Искрящаяся переливающаяся кнопка с помощью Metal и SwiftUI
• Путь одного iOS-приложения
• Font modifiers in SwiftUI
• Using ViewThatFits to Create a More Accessible List Cell in SwiftUI
• Testing the Untestable
• Writing a chess app
• AnchoredRelativeFormatStyle: The Hidden Replacement for Date RelativeFormatStyle
• Automatic Trait Tracking
#ios
Видео и подкасты за неделю на @AppFiles
• (iOS Ru)
SDK и BDUI в Яндекс Пэй и Яндекс Банке
• (iOS En)
Master Xcode 16: Essential Navigation Shortcuts for Faster Coding
• (iOS En)
Custom TextField Menu Actions
• (iOS En)
Optional View Modifiers
• (And Ru)
5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!
• (And En)
Now in Android: 111 - Android API level and schedule updates, Gemini in Android Studio, Google Play
• (And En)
Subtyping Composables
• (And En)
How Compose Compiler Plugin Works
• (Crs En)
Unpacking Compose Multiplatform Accessibility
• (Dev Ru)
Surf QA Meetup: доклады о моках в автотестах, человеческом факторе QA и работе Device Holder
• (Dev Ru)
ОС Аврора 5 глазами мобильного разработчика. Разработка и функциональность
• (Dev Ru)
Мобильная ферма: тесты мобильных приложений без телефона и эмулятора
• (Dev Ru)
AIOps — grafana, observability, aiops, ai
• (Dev En)
Build and Deploy a RAG Chatbot
• (Dev En)
AI Foundations Course – Python, Machine Learning, Deep Learning, Data Science
#ios #android #mobile #video
Пока все спят: звуки мошенничества
Приложения с белым шумом способствуют созданию успокаивающей обстановки, помогающей заснуть. Согласно анализу DoubleVerify, за последний год около 200 статей рекомендовали различные приложения для прослушивания белого шума. Однако у растущей популярности таких приложений есть и обратная сторона. По мере того как индустрия потокового аудио расширяется, она привлекает тех, кто хочет использовать ее в своих мошеннических целях. На самом деле, многие приложения с белым шумом используются кражи рекламных долларов.
• За последний год DV выявила две крупные глобальные схемы мошенничества, нацеленные на потоковое аудио. Эти операции фальсифицируют аудиотрафик, используя сложные методы, что приводит к значительным финансовым потерям. На пике своего развития эти схемы в совокупности наносили рекламодателям ежемесячный ущерб на сумму более миллиона долларов, и их невозможно было отловить.
• Например, приложения Deep Sleep и Deep Sleep Kids (уже удаленные Google) разработаны одной и той же компанией и собрали более 10,000 загрузок. Каждое из них имеет рейтинг «E» (для всех) и пятизвездочный рейтинг, согласно данным Google о загрузках. На первый взгляд, эти приложения кажутся безопасными и легитимными. Но DV обнаружила, что они генерируют фальшивые данные, продавая аудиопоказы, которые никогда не воспроизводились.
• Мошенничество на стороне сервера трудно отловить. Но один из способов — посмотреть на модели использования. Эти приложения обычно чаще всего используются в ночное время. Однако мошеннические приложения демонстрируют всплеск использования в дневное время, что не соответствует реальной модели использования.
• По оценкам, ежемесячные потери на каждом приложении составляли не менее $225,000. Учитывая количество таких приложений, общие потери, скорее всего, исчисляются миллионами.
Android
• Поющий молится дважды или пишем приложение в помощь хористу
• michalankiersztajn/android-studio-productivity-tips-a5e49d4ef55c">Android Studio Productivity Tips
• Kotlin Tips : Keep Your Code Clean
• Kotlin Under the Hood: Exploring Objects, Companion Objects, and Annotations
• Top 10 Coroutine Mistakes We All Have Made as Android Developers
• Subtyping Composables
#android
🌐 Про "чаще кодь на салфетке" конечно совет не очень ☺️, но в целом у @Ikopiev, кажется, получилось лучше всего. Напиши в личку - дам код.
Читать полностью…Слушайте, а кто понимает - что с React Native происходит? Т акое впечатление, что у фреймворка открылось второе дыхание. Это его новая архитектура так торкнула? Вот Shopify докладывает, что полностью перешли на RN, Хабр пишет, какой он прекрасный… Объясните, может пора уже хоронить native?
Разработка
• Почему спринты отнимают радость от создания программного обеспечения
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Задачи с собеседований: Leetcode — Наибольший общий префикс
• От натива до SDUI через гибрид
• Карьера мобильного разработчика 2024
• Разработка в робототехнике — Автоматизация, Автопилоты
• Лучшие клавиатуры 2024
• If you need the money, don't take the job
• How to Say No
• Power Up Your Brain with Mental Models
Маркетинг и монетизация
• ИИ соберет главное из отзывов на приложения в RuStore
• Самые скачиваемые и зарабатывающие приложения в России в октябре 2024
• Apple купила Pixelmator
Кроссплатформа
• FilmSimulator — фильтры для изображений на KMM
• Антитренды в мобильной разработке на Flutter
• We've just finished migrating the Shopify mobile app to React Native
• Getting Started with Koin Annotations 1.4 in Compose Multiplatform
#mobile #dev #reactnative
iOS
• Как устроена библиотека AppMetrica
• Фреш на полке, фреш в стеке
• Здесь куют Metal
• Как iOS-разработчику выжить на проекте с KMP?
• Geometrize — изображения из примитивов
• How to Use URLSession with Async/Await for Network Requests in Swift
• Introducing Swift Testing. Traits.
• Getting started with LiteRT (Tensorflow Lite)
• SwiftUI Self-Sizing Flow Layouts
• New in SwiftUI: the macro @Entry
• Xcode’s Stability Is Going Downhill—Anyone Else Struggling?
#ios
Разыгрываю билет на Podlodka iOS Crew
Расскажи в комментариях - какой совет ты бы дал тем, кто только начинает разрабатывать мобильные приложения?
Из ответивших выберу победителя (по количеству лайков, а может случайно, как пойдет).
🤮 Сравнение доходов 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
⚡️ Делаем текстовое ASO в прямом эфире — бесплатный вебинар от Appbooster
Каждое слово в метаданных влияет на видимость в сторе. Как создать эффективную семантику, чтобы ваше приложение заметили, расскажет ASO Lead Appbooster Валерия Шалимова.
🗣 Вы узнаете:
– как сделать максимально эффективное текстовое ASO и какие особенности нужно учитывать
– хитрости ASO в Google Play: как с помощью GNL улучшить тексты, чтобы приложение стало заметнее и легко находилось в поиске
– как расширить аудиторию приложения в App Store с помощью дополнительных локалей
– как работать с бесплатным сервисом MetaMagic: проведём оптимизацию в прямом эфире и ответим на вопросы участников
Дата: 14 ноября (чт)
Время: 16:00 мск
📍 Зарегистрироваться бесплатно можно тут
erid: LjN8KcHP1
Android
• Самые трудные вопросы на собеседовании, которые вам задавали — Обсуждение на Reddit
• Lumolight — современный фонарик
• 5 СЕКРЕТНЫХ преимуществ Android эмулятора которые вы не знали!
• Лучшая работа с Android Studio: 5 советов
• Talaiot — отслеживания времени выполнения задач в Gradle
• Как разобрать и собрать обратно apk под Windows
• Как силами мобильных разработчиков автоматизировать процесс разработки
• Inspektify got even better
• Putting the Genie in the bottle
• Credential Manager
• Comparing SupervisorScope with viewModelScope
• Centered Slider in Jetpack Compose
• Skipping the invocation of intermediate composables
• Dealing with Android’s peculiar bugs as an app developer
#android
Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?
Возвращаясь к росту React Native - интересное исследование AppFigures.
• Согласно таблице популярности SDK от AppFigures, React Native сейчас занимает первое место среди неродных фреймворков в App Store и второе место в Google Play после нативных альтернатив (Swift и Kotlin).
• По данным SDK-анализа, чуть менее 7% всех приложений, выпущенных на данный момент в 2024 году (январь-октябрь), используют React Native. Соперник Flutter составляет 11%.
• За последние несколько лет доля обоих продуктов выросла, в то время как доля всех остальных конкурентов сократилась.
• Доля React Native выросла с 4.73% в 2022 году до 6.75% в 2024 году, а Flutter — с 10.15% до 11.07%, соответственно.
• За последние 30 дней приложения, использующие React Native и Flutter, принесли 570 миллионов долларов чистой прибыли Какой фреймворк принес больше дохода? К удивлению, эти два фреймворка оказались почти равны. На долю React Native пришлось $287 млн, а на долю Flutter — $283 млн.
И что: новая архитектура сосредоточена на производительности, и данные о росте наводят на мысль, что все больше разработчиков находит это обновление интересным. Сможет ли RN обогнать Flutter? Такими темпами, видимо не скоро. И все же принятие RN очевидно ускоряется, в то время как Flutter замедляется. Следующие несколько лет будут в этом плане интересными.
erid:LjN8KCm8v
🩵 +50% к карме или бюджету — ответ очевиден!
Только с 11 по 13 ноября запускайте кампании в AsoGen и получайте кэшбэк!
Как это работает?
🩵Запускай кампании в сумме от 300$;
🩵Получи гарантированный кэшбэк 50% от потраченной суммы;
🩵Средства будут зачислены на баланс 15 ноября в случае выполнения всех условий. Максимальный объем кэшбека — 1000$.
Не упусти свой шанс удвоить эффективность рекламной кампании! 🔜
Бонусы к возврату недоступны.
Для участия в акции отправьте нашему менеджеру кодовое слово: КЭШ
Реклама ООО "ИВТ" 7707475940 ИНН
Похоже, что Apple скоро станет первой компанией, которая заплатит штраф за нарушение закона Европейского союза о цифровых рынках (DMA), пишет Bloomberg. Источники издания сообщают, что Комиссия готовится взыскать штраф после того, как обнаружила, что практики Apple все таки наносят ущерб конкуренции в App Store. И это уже после того, как в марте ЕС наложил на Apple штраф в размере 1.84 миллиарда евро. После расследования жалобы Spotify Комиссия ЕС постановила, что Apple ограничила возможность разработчиков направлять пользователей к более дешевым покупкам за пределами App Store — практика, которая является незаконной в соответствии с DMA. Пока неизвестно, на какую сумму ЕС оштрафует Apple, но правила DMA гласят, что компании могут быть оштрафованы на сумму до 10% от годовой мировой выручки.
Разработка
• Google запускает курс по генеративному ИИ
• Seeing Like a Programmer
Маркетинг и монетизация
• Apple грозит штраф за нарушение DMA
Кроссплатформа
• How to add multiple Flutter modules to native projects?
#mobile #dev
iOS
• Как использовать URLSession с Async/Await для сетевых запросов в Swift
• Xcode становится все хуже и хуже — Обсуждение на Reddit
• Ultraviolence — декларативный Metal
• darrenthiores/automatic-dependency-injection-di-for-your-swift-application-to-make-your-code-clean-911a8b59cb8a">Automatic Dependency Injection (DI) for your Swift application to make your code clean
• Sparkling shiny things with Metal and SwiftUI
• Swift Format in Xcode
• Prevent screenshot capture of sensitive SwiftUI views
#ios
Xcode становится все хуже и хуже - Обсуждение на Reddit
Вечное обсуждение:
Мне кажется, или в последнее время Xcode превратился в сплошной кошмар? Я постоянно сталкиваюсь со сбоями, которые делают его практически непригодным для использования. Сегодня он упал, когда я просто набирал текст - никаких тяжелых задач, просто набирал текст! У меня также были случаи, когда текстовый редактор зависал. Я не мог изменить никакой контент, но я все еще могу щелкать по пользовательскому интерфейсу, что очень странно. Даже такие базовые функции, как копирование, работают неправильно: вместо того чтобы скопировать содержимое файла, он копирует путь к нему. Раньше все было не так плохо. С каждым выпуском опыт все ухудшается. И чтобы исключить это, скажу, что проблема не в моем MacBook - у меня M3 Max с 36 ГБ оперативной памяти.
Android
• Красота системы типов Kotlin
• Что такое Mainline в Android
• Android cookbook: готовим WebView правильно
• Kotlin Coroutines. Устройство и возможности использования
• Более частые выпуски Android SDK: более быстрые инновации и высокое качество
• Компьютерное зрение на С++: подключаем ML-библиотеки и обрабатываем результаты поиска объектов
• Как я писал суперкастомизированное Android-приложение в 2024 году
• Сравнение операторов RxJava 3 и Kotlin Coroutines Flow
• Диалог — часть навигации или нет?
• Compose Navigation The Old Way
• Widgets with Glance: Blending in
• Parameterized Android Tests with Burst 2.0
• jw/113427033356987061">Picasso is formally deprecated
#android
Открытый урок для разработчиков на Android, iOS, React Native, Ionic или Xamarin
📒Тема:
Используем GPU для создания настоящего 3D-движка в Flutter
📕Рассмотрим:
- Основы 3D-графики (вершинные и фрагментные шейдеры), определение шейдеров в impeller
- Создание собственных шейдеров для отображения 3D-объектов в Flutter-приложении
- Добавление света и теней, отображение 3D-изображения на экране
- Интеграция 3D в игровой движок Flame, создание несложной игры
📗Результат:
Создадим простой 3D-движок и разработаем простую игру в виртуальном 3D-мире.
📘Спикер:
Дмитрий Золотов — опытный Flutter+Kotlin Developer в Yandex, FullStack разработчик (Flutter/Python/Kotlin/GoLang/C++), преподаватель
Встречаемся 6 ноября в 20:00 мск. Всем участникам дадим скидку на основной курс.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/sOaJ/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Без теории к практике
Новая недельная подборка всего кода за неделю - ковка Metal и поиск регрессий в Compose, полностью переделанный React Native и форк Flutter, тактильный отклик в мобильных приложениях, сравнение размеров iOS и Android приложений, самые скачиваемые и зарабатывающие приложения в России в октябре и многое другое. Подключайтесь!