Android
• Реализация Критических оповещений на Android
• Pokedex Compose — современная Android-разработка
• Разработка новостного приложения. Часть 5. Подготовка к публикации в Google Play
• Экзоскелет для ExoPlayer
• Вышла первая бета-версия Android 15
• Enhancing Jetpack Compose with Koin
• Focus as a state - new effective Android TV focus management system with Jetpack Compose
• Jetpack Compose Navigation, Ktor, and Koin DI Unlocking MAD Skills
#android
🚀 Участвуй в True Tech Hack от МТС и поборись за общий призовой фонд в 1 500 000 рублей. Регистрируйся.
Приглашаем разработчиков, специалистов по Data Science, менеджеров по продукту, дизайнеров. Соревноваться предстоит в одном из двух треков, чтобы улучшить жизнь людей с особыми потребностями.
🏠 Трек 1. Улучшение клиентского опыта витрины МТС Live для пользователей с особыми потребностями
⭐️ Трек 2. Разработка голосового управления для МТС Финтех на основе искусственного интеллекта для людей с ограниченными возможностями
Как пройдет True Tech Hack:
🔸 26 апреля – открытие хакатона и Q&A-сессия
🔸 27 апреля-12 мая – чек-поинты с экспертами
🔸 12 мая – окончание приема проектов
🔸 14 мая – полуфинал, защита лучших решений и объявление финалистов
🔸 17 мая – финал в Москве
True Tech Hack – твой шанс получить новый опыт, выиграть приз и сделать наш мир доступней и удобней для всех. Регистрируйся на хакатон до 25 апреля по ссылке.
Видео и подкасты за неделю:
• (iOS Ru)
Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• (iOS Ru)
Как дизайнить доступность для скринридера
• (iOS En)
CocoaHeadsNL Meetup
• (iOS En)
Creating The DVD Screensaver In SwiftUI
• (iOS En)
Flip Book Effect - SwiftUI
• (iOS En)
Animating Swift Charts
• (And Ru)
Разработка новостного приложения. Часть 5. Подготовка к публикации в Google Play
• (And Ru)
Экзоскелет для ExoPlayer
• (And En)
Does Native Android Development Have a Future?
• (And En)
Sealed Classes for UI State are an ANTI-PATTERN
• (And En)
Building Quality Android Apps for the Future with Continuous Integration
• (Crs Ru)
Как мы сделали ставку на KMP
• (Dev Ru)
Проблемы маленьких приложений при увеличении нагрузки по данным
• (Dev Ru)
Как выжать все соки из Jenkins
• (Dev Ru)
Убиваем Lottie? Тащим Rive?
• (Dev Ru)
Вся правда про удаленку
• (Dev Ru)
Зачем нужен Zig, и чем он отличается от других языков
Посоветуйте в комментах интересные каналы по мобильной разработке? 🌐 @AppFiles
Разработка
• Может ли мобильный разработчик стать CTO?
• Don't require people to change 'source code' to configure your programs
Маркетинг
• Vids — новый инструмент для продуктивной работы от Google
Кроссплатформа
• Clean Architecture and state management in Flutter: a simple and effective approach
iOS
• Анимация чисел в SwiftUI с помощью contentTransition
• Почему Accelerate — это не страшно
• Подходы к созданию линейных графиков для iOS-приложений на базе фреймворка SwiftUI
• Jager-yoo/the-best-example-of-leveraging-ios-widget-potential-duolingo-f677115ad3f6">The Best Example of Leveraging iOS Widget Potential: Duolingo
• Deep linking for local notifications in SwiftUI
#ios
Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 2
• HomeAssistant на Android
• Как я написал клиент электронного дневника своей области
• How Kotlin Annotations Work — Part 2: Moshi Case Study
• Dependency Injection in Compose
• What's new in Kotlin 2.0.0-RC1
• devpicon/kotlin-sealed-classes-vs-sealed-interface-68681f577b06">Kotlin — Sealed classes vs Sealed interface
#android
Вторая часть "Осваиваем ViewModel в Android: «можно» и «нельзя»"
Рассматриваются два вопроса:
• Избегайте раскрытия мутабельных состояний
• Используйте update{} при использовании MutableStateFlows
Статья: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-2.htmlПоставьте 👍, если хотите третью и последующие части.
Android
• Studio Bot превращается Gemini in Android Studio
• Google запускает новую сеть Find My Device в США и Канаде
• Tap Target Compose — показ новых фич в Compose
• Разворачиваем ML модель с использованием ONNX на Android в километре над землей
• Mastering Android ViewModels: Essential Dos and Don’ts Part 2
• neha-saini/android-architecture-design-interview-questions-answers-ba4170f05561">Android Architecture & Design Interview Questions & Answers
• Enable users to share your app's deep links using navigation-recents-url-sharing
• Publishing Android, Java or Kotlin Libraries with AWS CodeArtifact
• Spotify-Inspired Audio Buffering Slider Animation with Jetpack Compose
#android
Приложение для наблюдения за затмением вышло в чарты App Store и Google Play
Приложение, созданное для помощи в просмотре полного солнечного затмения, поднялось на вершину App Store. Приложение под простым названием The Eclipse App, имеющее 140,000+ загрузок на iOS и Android, предлагает дополнительные возможности для просмотра астрономического события.
1. Компании впервые выпустили удобную карту затмения, чтобы помочь людям найти место для наблюдения за ежегодным затмением 14 октября 2023 года.
2. Приложение начало свое восхождение в App Store в конце воскресенья, набрав 35,000 загрузок в App Store и начав продвигаться вверх по чартам. По словам представителей компании, оценки Google задерживаются на пару дней, поэтому общее количество загрузок, скорее всего, уже перевалило за 140,000.
3. В настоящее время приносит доход за счет покупок в приложении, которые позволяют пользователям заплатить $3 за прямую трансляцию. По данным компании Appfigures, по состоянию на понедельник число платящих пользователей составило около 9,800 человек. Кроме трансляции в нем штаты США и провинции Канады, расположенные на пути прохождения затмения, общественные мероприятия, с помощью таймера вы сможете узнать, когда наступит момент полного затмения именно в вашем месте, проверить местный прогноз, подписаться на местные события и узнать о других местных достопримечательностях. Также в приложении есть информация о парковке.
4. В настоящее время приложение занимает первое место в своей категории (Путешествия) и девятое место в целом в американском App Store и восьмое место в своей категории в Google Play.
И что: мировые события - один из лучших драйверов маркетинга. Например, к Летним Олимпийским играм 2024 готовится уже поздно, а вот к Играм 2028 - в самый раз :)
Android
• Введение в Trio: часть 2
• Как работает Android Work Profile
• Разбор кода магазина приложений
• Опыт, Java vs Kotlin и работа со списками
• GreenStash: экономия денег в Modern Android Development
• Technical Debt Undermines Android Application Development
• Navigating the Waters of Kotlin Multiplatform: Exploring Navigation Solutions
• Improving dependency sync speeds for your Gradle project
• OCR with Gemini LLM on Android
• Building a Speedometer widget using Jetpack Compose Canvas API
• How to Implement Biometric Authentication with Jetpack Compose and AES Encryption
#android
🚀 Обновления в Yandex Mobile Ads SDK 7
Посмотрел, что нового.
1. Для iOS добавили фичу SKOverlay - она позволяет скачать приложение из рекламного объявления, без перехода в AppStore, в один клик, что закономерно увеличит конверсии.
И много всего для Android.
2. Новый формат “Лента”, благодаря которому можно показывать в одном рекламном блоке 10+ рекламных объявлений. Подойдет для приложений с возможностью скроллинга ленты
3. Новые механики “Межстраничная реклама” и “Реклама с вознаграждением”:
Для полноэкранных форматов появилась возможность показывать несколько объявлений подряд в одном AdPod, а также добавился финальный экран-пэкшот, который создаст дополнительную точку контакта
4. Для настройки рекламы в приложении добавили Debug Panel - с его помощью можно проверять, что SDL корректно интегрирован.
Новость: https://apptractor.ru/marketing-monetization/ad-networks/yandeks-predstavil-yandex-mobile-ads-sdk-7.html
Новым приложениям здесь не место - Apple Vision Pro не пользуется популярностью у разработчиков
Сказать это непросто, но Apple Vision Pro не стала хитом. Сейчас гарнитура не пользуется популярностью как у пользователей, так и у разработчиков.
1. На данный момент существует 523 Vision-only приложения. Если взять приложения с поддержкой других платформ, то их будет 1,288.
2. Когда Apple открыла прием заявок в январе, за первую неделю разработчики выпустили 73 новых приложения и игры. Это почти совпадает с количеством релизов в Mac App Store - 71 на той неделе.
3. На второй неделе количество новых релизов выросло до 82, а на третьей почти удвоилось до 150, разработчики стремились попасть в число “релизов первого дня”. Затем вышла сама Apple Vision Pro. Вот тут-то тенденция и изменилась.
4. Как только устройство стало продаваться, выпуск новых приложений начал замедляться в геометрической прогрессии, и в последнюю неделю марта было выпущено всего 1 новое приложение.
И что: одно приложение в неделю - это, конечно, катастрофа. У каждого есть своя теория, почему так происходит. Наличие устройства облегчило разработчикам понимание того, почему некоторые из простых идей просто не будут работать. Кроме того, устройство настолько дорогое, что многие разработчики не смогут позволить себе купить его, а если даже они не покупают его, то шансы на то, что у них будет достаточно потребителей, чтобы покупать приложения, быстро падаю. А может быть, Vision просто не очень подходит для широких слоев. Качество камеры может быть хорошим для фильмов, но ужасным для взаимодействия с реальностью. А занчит время использования приложений и их удержание будут низкими.
Большинство разработчиков ждут, что будет дальше. И сейчас это лучший подход. Есть сценарии использования, которые делают Vision Pro потрясающим устройством, и создание приложений для них может быть вполне оправданным. Просто сценариев этих оказалось не так много.
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее Fast Track мероприятия:
• 20–21 апреля — Fast Track для Android- и iOS-разработчиков, офер за 2 дня в команду Вертикалей.
Зарегистрироваться
Android
• Android 15 готовит улучшенный десктопный режим
• Как протестировать Android-приложение, которому требуются разрешения
• Accessibility Scanner в Android
• Jetpack Compose Navigation with MVVM+Dependency Injection Koin
• How Kotlin Annotations Work
• ulaserdegor/jetpack-compose-bringintoviewrequester-66c7295a7d9e">Jetpack Compose: BringIntoViewRequester
#android
RuStore за короткое время стал одним из крупнейших магазинов приложений в России. Он постоянно улучшается и выкатывает новые фичи, чтобы было проще публиковать, продвигать и монетизировать приложения. Но каким должен быть лучший магазин приложений?
Сейчас проходит исследование среди разработчиков, где RuStore собирает честные отзывы - чего не хватает, что можно улучшить, как сделать платформу, которая завоюет вашу любовь.
Участвуйте в опросе по ссылке — это займет всего 5 минут, зато позволит вам повлиять на лучший магазин приложений в России и даст команде объективную обратную связь.
iOS
• Поваренная книга SwiftUI: изображения и иконки — Часть 1
• Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• Как дизайнить доступность для скринридера
• Apple готовится выпустить Mac на M4
• Creating Shapes from SVG in a SwiftUI app
• alessandromanilii/custom-toggle-styling-in-swiftui-703f68684fa3">Custom Toggle Styling in SwiftUI
#ios
Можно ли распознать CTO на микрокомпьютере
Подборка всех материалов за прошлую неделю - нестрашный Accelerate и MVVM без M, жизнь после отвала eMMC и инъекции зависимостей в Compose, история успеха Flutter, проблемы маленьких приложений, 900 самых популярных инструментов ИИ на базе open source и многое другое. Подключайтесь!
Вышла первая бета-версия Android 15
Первая публичная бета-версия Android 15 доступна для загрузки уже сейчас, если у вас есть телефон Pixel. Это первый релиз для потребителей после двух предварительных версий для разработчиков.
Google акцентирует внимание на следующем:
• Приложения по умолчанию будут масштабироваться от края до края (Edge-to-edge) и рисоваться за полупрозрачными системными полосами в верхней и нижней частях экрана, а не вокруг них.
• Улучшена работа с NFC - приложения теперь могут регистрировать отпечаток пальца на поддерживаемых устройствах, чтобы получать уведомления об активности цикла опроса, что обеспечивает бесперебойную работу с несколькими приложениями, поддерживающими NFC.
• На уровне ОС реализована поддержка архивации и разархивации приложений, так что сторонние магазины приложений смогут воспользоваться этой функцией.
• В Android 15 появился новый класс ProfilingManager, который позволяет собирать информацию о профилировании внутри вашего приложения.
• В Android 15 также будет улучшена поддержка дисплеев Брайля.
• E2eeContactKeysManager в Android 15 облегчает сквозное шифрование (E2EE) в ваших Android-приложениях, предоставляя API на уровне ОС для хранения криптографических открытых ключей.
• Безопасный запуск фоновой Активити - в Android 15 появились дополнительные изменения, направленные на то, чтобы вредоносные фоновые приложения не могли выводить другие приложения на передний план, повышать их привилегии и злоупотреблять взаимодействием с пользователями, чтобы защитить пользователей от вредоносных приложений и дать им больше контроля над своими устройствами.
Стабильный релиз ожидается в июне, а выпуск новой ОС ближе к сентябрю.
Android
• Инъекция зависимостей в Compose
• EinkBro — маленький быстрый браузер для Eink
• Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD
• Modern Android App Template with Jetpack Compose
• Foundational Tools in Android
• surendar1006/implementing-critical-alerts-on-android-aa49b4d75705">Implementing Critical Alerts on Android
• riztech.dev/mastering-solid-principles-in-android-app-development-for-maintainable-code-f2632e6423b9">Mastering SOLID Principles in Android App Development for Maintainable Code
• phamvietbinh2013/implement-pinch-to-zoom-for-your-image-grids-by-jetpack-compose-part-1-8700685a3e9d">Implement Pinch-to-Zoom for your Image Grids by Jetpack Compose
#android
Очередное доказательство, что никакая архитектура не догма, а лишь “свой правил” - статья “Убираем M из MVVM в SwiftUI”. Автор, разработчик Ice Cubes, открытого SwiftUI-клиента для Mastodon, прекрасно обходится без M-слоев, храня все в представлениях. При этом его код чистый, функциональный, тестируемый, поддерживаемый и все вот это. Так что если вам в следующий раз будут рассказывать про строго следование архитектуре, ссылайтесь на лучшие практики - отсутствие архитектуры лучше, чем плохая.
Разработка
• Исследователи Apple разработали LLM, которая понимает интерфейс приложений
• Google представил собственный процессор Axion для ИИ
• Bottom Tab Bar Navigation Design Best Practices
Маркетинг
• Вышел 2024 App Marketing Trends Report
• Navigating SKAdNetwork: Build Your Game’s Conversion Schema in 4 Easy Steps
Кроссплатформа
• React Native App performance is a myth?
iOS
• Убираем M из MVVM в SwiftUI
• OpenSwiftUI — открытая реализация SwiftUI
• jpmtech/passing-one-swiftui-view-as-a-parameter-to-another-swiftui-view-b01a3cde8166">Passing One SwiftUI View as a Parameter to Another SwiftUI View
• Display empty states with ContentUnavailableView in SwiftUI
• Level Up Your Career by Adding UI Tests to Your SwiftUI App
• Flip Book Effect - SwiftUI
• rxjz._93/why-stateobject-needs-to-be-marked-as-private-in-swiftui-fcb70113b868">Why StateObject’s need to be marked as private in SwiftUI?
• paramitha/i-made-an-old-style-keyboard-in-swift-865d1e83eadf">I made an old-style keyboard in Swift
#ios
Если вы устали от гибких методологий, то вот вам новая идея - разработка на основе заголовков. Заголовок (Headline) — это очень короткое предложение, которое содержит только самый важный бит, а все остальные биты отсеиваются. Раскладываем проект на поток заголовков, выбираем агрессивную дату поставки первого и работаем как проклятые, чтобы уложиться в эту дату. Игнорируем все остальное. Не работаем ни над чем, что не поможет сделать этот заголовок. Как только заголовок будет отправлен, переключаемся на следующий в потоке и повторяем. Вот и все, можете увольнять своего Agile-консультанта.
Разработка
• Разработка на основе заголовков
• Huawei продвигает собственную ОС и планирует дистанцироваться от Android, Windows и других операционных систем
• Are You Doing Product Management or Bullshit Management?
• Chronon, Airbnb’s ML Feature Platform, Is Now Open Source
Маркетинг
• Приложение для наблюдения за затмением вышло в чарты App Store и Google Play
• Statistical significance and its importance with app experiments
Кроссплатформа
• Flutter: история успеха
• Shorebird 1.0 – Update your Flutter apps instantly
• The journey of writing a new package
iOS
• Поваренная книга SwiftUI: создание текстовых полей в SwiftUI
• Продление подписки Apple Developer from Russia в апреле 2024 без иностранной карты и сэкономить пару тройку тысяч рублей
• Trigger value pattern in SwiftUI
• Removing the M from MVVM with SwiftUI
• Number Text Animation in SwiftUI with contentTransition
• jakir/apply-pinch-to-zoom-in-any-view-in-swiftui-ios-29b9fd31a3e1">Apply pinch to zoom to any view in SwiftUI
#ios
После того как комиссия ЕС оштрафовала Apple на 2 миллиарда долларов и заявила, что не удовлетворена изменениями, которые компания внесла в закон о цифровых рынках, Apple в пятницу снова обновила правила App Store. На этот раз компания окончательно разрешает приложениям для потокового воспроизведения музыки перенаправление пользователей в ЕС на внешние сайты для оплаты. И впервые Apple разрешает эмуляторы игр с загрузкой. Правда, их авторы будут «нести ответственность за все программное обеспечение», так что пиратские РОМы вряд ли скоро появятся на iOS.
Разработка
• Открытое алгоритмическое собеседование
• Как разрабатывать Яндекс Маркет, обеспечивать качество и работать с BDUI
• Собеседование продуктового аналитика в Авито
• Дата/время
• Релокация в UK
• Среды разработки JetBrains получили дополнение кода с помощью ИИ
• Как дизайнеру и любителю технологий жить после Apple Vision Pro
• Hello World: A deep dive into the world of abstraction behind a modern Hello World program
• Fear makes you a worse programmer
• Improving Code Reviews with Storytelling
Маркетинг
• Много лиц и одна проблема: каким бывает мошенничество в рекламе и чем отличаются боты от реальных людей в 2024 году
• Apple Vision Pro не пользуется популярностью у разработчиков
• Правила App Store разрешили эмуляторы и внешние ссылки для стриминга
• Rooms, приложение для 3D-дизайна и «уютная игра», получила крупное обновление
Кроссплатформа
• Как Compose Multiplatform for iOS может убить Flutter?
• mregnauld/how-to-implement-your-design-system-in-a-flutter-app-1-2-d2e21b5fcffd">How to implement your design system in a Flutter app
• tommyyy/the-dart-speed-035272e9d46d">The Dart Speed
iOS
• SwiftUI Environment Overrides: QA-ассистент для SwiftUI
• Что такое Retain Cycle: вопросы с собеседований
• Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
• Quick and Painless Persistency on iOS
• In Search of a Smooth Scroll
• App Store Subscriptions and Family Sharing
#ios
Сам себе динамический фреймворк
Подборка всех материалов за прошлую неделю - динамические фреймворки и роботы Apple, Telegram на Android-смартфоне 14-летней давности, игра в безопасность, скрытые сокровища интерфейсного дизайна, самые скачиваемые и зарабатывающие приложения в России в марте, фальшивая социальная сеть, которая сама ставит вам лайки, и многое другое. Заходите!
Видео и подкасты за неделю:
• (iOS En)
Let's Build Interactive Floating Action Button - SwiftUI
• (iOS En)
How to easily test Push Notifications in the iOS simulator
• (iOS En)
Rebuild Bumble in SwiftUI
• (iOS En)
SwiftUI Limited TextField With Indicator
• (And Ru)
Как работает Android Work Profile
• (And Ru)
Разбор кода магазина приложений
• (And Ru)
Опыт, Java vs Kotlin и работа со списками
• (And En)
Now in Android: 102 - Google I/O 2024, Women’s History Month, Vulkan on Android, and more
• (And En)
DON'T Make This Clean Architecture Packaging Mistake
• (And En)
Improving Video Playback with ExoPlayer
• (And En)
Every Kind of Class in Kotlin
• (Crs Ru)
Как Compose Multiplatform for iOS может убить Flutter?
• (Dev Ru)
Открытое алгоритмическое собеседование (все собеседования)
• (Dev Ru)
Как разрабатывать Яндекс Маркет, обеспечивать качество и работать с BDUI
• (Dev Ru)
Собеседование продуктового аналитика в Авито
• (Dev Ru)
Дата/время
• (Dev Ru)
Релокация в UK
Посоветуйте в комментах интересные каналы по мобильной разработке? 🌐 @AppFiles
Меня всегда удивляло, почему Android так плох в работе с десктопами. Вроде как режим разделенного экрана представили еще в Android 7.0, режим рабочего стола в Android 10, но так до сих пор, кажется (если я не прав - поправьте в комментах) нормальная работа в десктопном режиме или просто взаимодействие с Windows/macOS так и не наладили. Однако Google постоянно улучшает - в Android 15 будет новая система управления окнами, почти как десктопной ОС. Это, конечно, не сделает из Android нормальный компьютер в пользовательском смысле, но в какой то мере к нему приблизит.
Разработка
• How we built Text-to-SQL at Pinterest
• Disney’s 12 principles of animation, exemplified in UX design
• Asking for help is a core developer skill
Маркетинг
• Яндекс представил Yandex Mobile Ads SDK 7
• Маркетологи в мобайле: Даниил Коляда (Head of Mobile Marketing, Fonbet)
• Storiaverse запускает приложение для коротких рассказов, объединяющее анимацию и текст
Кроссплатформа
• How to Create Integration Tests in Flutter
• Build your .NET MAUI Android application with Azure DevOps
iOS
• SwiftUI: архитектура State-Model-View
• Обзор Apple MacBook Air M3: небольшие обновления
• Apple занялась домашней робототехникой
• isowords: игра в слова на Composable Architecture
• Trigger value pattern in SwiftUI
• Decoding JSON with Dynamic Types in Swift
• How to create a custom label style that only tints the label icon
• Unlocking the Magic of visionOS
#ios
Привет! На связи Podlodka Crew. Мы организовываем онлайн конференции по разным аспектам разработки.
Пришли рассказать вам про новый сезон конференции по iOS, который стартует уже 15 апреля.
Темой этого сезона мы особенно гордимся — это хардкорный UI.
Эксклюзивные доклады и воркшопы, спикеры с глубокой и уникальной экспертизой. Вместе мы обучимся сложным инструментам и узнаем как делать то, что не умеет большинство iOS-разработчиков.
Вас ждут знания, которыми мало кто владеет и ещё реже обучает:
💜 Создадим собственный графический редактор, освоим искусство превращать тачи в пиксели. Григорий Остробород расскажет как устроена «типичная рисовалка» интерфейса. Раскроет нюансы взаимодействия с пользователем и подскажет, где подстелить соломку на этом пути.
💜 Разберёмся с UICollectionViewLayout, UICollectionViewCompositionalLayout на мастер-классе с Александром Филимоновым. Рассмотрим, когда переходить на эти инструменты, попрактикуемся делать Layout красиво, изучим его влияние на скрол, анимации, производительность и доступность.
💜 Познаем тонкости работы с Unix-терминалом и выясним, как создавать удобные интерфейсы в командной строке с Владимиром Озеровым.
А еще вас ждет разбор инструментов для измерения перформанса таблиц, коллекций и кода
🔺Хотите вывести свой перфоманс на качественно новый уровень?
Тогда забирайте билет по ссылке:
https://podlodka.io/ioscrewРеклама. ИП Толстая Елена Петровна ИНН:507503278104