Новый выпуск Sravni Podcast — об актуальном положении дел в мобильной разработке и её перспективах
Денис Сизый, тимлид Сравни, рассказал о специфике приложений для iOS и Android, сложностях с проверками в сторах, преимуществах Backend Driven UI и своём пути в ИТ — от написания первого калькулятора на Pascal до работы в руководящей должности.
Также в подкасте: сколько зарабатывает «мобилка» относительно других продуктов компании? Почему все «сидят в телефонах», но важным чаще пользуются в вебе? В чем польза архитектурного мышления? Бывают ли в идеальном мире дейлики?
✅Смотреть выпуск на YouTube
✅Смотреть на RUTUBE
✅Слушать на Яндекс Музыке
Реклама. Рекламодатель: ООО «Сравни.ру» ИНН 7710718303, erid: LjN8KF7W9
Android
• Memory Guardian — очистка буфера обмена
• Ускоряем Android-приложения с помощью Baseline Profiles
• kappdev/how-to-create-a-clock-wipe-animation-in-jetpack-compose-63618ed373b1">How to Create a Clock Wipe Animation in Jetpack Compose
• kappdev/how-to-create-a-custom-animated-hole-effect-in-jetpack-compose-1980394d9d6c">How to Create a Custom Animated Hole Effect in Jetpack Compose
• kappdev/how-to-create-a-rainbow-loader-animation-in-jetpack-compose-525a70761afe">How to Create a Rainbow Loader Animation in Jetpack Compose
• debounce vs sample in Kotlin flow
• Keep Your ViewModels Clean: A Guide to Event-Driven Architecture in Android
#android
🔥 Митап от мобильной команды «Лаборатории Касперского».
Готовы послушать советы, которые гарантированно подожгут ваш релиз и затормозят карьеру?
Мобильная команда «Лаборатории Касперского» устраивает митап в формате вредных советов, где опытные разработчики и руководители поделятся практиками, которые обязательно приведут к хаосу на работе и помогут завалить карьеру. Да-да, те самые советы, которые многие из нас, возможно, уже применяют (пусть и неосознанно 😉).
Например:
Делай, что должно — и будь, что будет;
Изобретай свои велосипеды;
Ни с кем из коллег не общайся — за умного сойдешь;
Критикуй своего менеджера (особенно за глаза);
Никогда никуда не сворачивай;
Стагнация – норм!
Это будет не только весело, но и полезно — ведь предупредить проблемы легче, чем решать их.
📌 Когда: 26 сентября в 16:00
📌 Формат: Онлайн
📌 Регистрация: https://kas.pr/k1mg?erid=LjN8KCqhS
Кстати, даже третий продукт, который укладывается в парадигму вертикальных и является ярким представителем растущего тренда - Sri Mandir. Это приложение для виртуального моления индуистским богам и перевода пожертвований в храмы. Трехлетнее приложение может похвастаться более чем 30 миллионами загрузок с 2020 года, а в январе оно открыло доступ с рынков за пределами Индии. С тех пор приложение росло на 25-30% в месяц и собрало 500,000 зарегистрированных пользователей и 2.5 миллиона установок за пределами Индии. Большая часть его глобальной аудитории приходится на США, за которыми следуют Канада, Великобритания и Ближний Восток. Сейчас базирующийся в Бенгалуру стартап привлек $18 млн в раунде Серии B.
Разработка
• BDUI: удовольствие или боль
• Design Patterns Are Temporary, Language Features Are Forever
• Carpentopod: A Walking Table Project
Маркетинг
• Конец миллиардных стартапов, поддерживаемых рекламой — приложения для вертикалей придут на смену
• Прощай Tinder, здравствуй Strava: стали ли приложения для «хобби» новыми социальными сетями?
• Sri Mandir помогает индуистам посещать храмы и делать пожертвования со своего телефона
Кроссплатформа
• Best practices for optimizing Flutter web loading speed
• vimehraa29/flutter-go-router-the-crucial-guide-41dc615045bb">Flutter Go Router : The Crucial Guide
iOS
• iOS 18 выйдет 16 сентября
• DDLoggerSwift — работа с логами на устройстве
• SwiftUI: Dynamically Add Images to View (Canvas vs ZStack)
• Checking language availability for translation with the Translation framework
• Swift Testing: Validate your code using expressive APIs
• Cheat sheet on VoiceOver gestures for iOS
#ios
Конец миллиардных стартапов, поддерживаемых рекламой - приложения для вертикалей придут на смену
Сразу две статьи о закате больших социальных сетей и переходе к нишевым, "вертикальным" продуктам. Вот что пишет Эндрю Чен — генеральный партнер венчурной компании Andreessen Horowitz:
Прошло много времени с тех пор, как мы в последний раз создавали масштабные горизонтальные потребительские приложения, такие как YouTube, Linkedin или Snapchat. На самом деле, я убежден, что это уже невозможно, потому что мы находимся в последних годах S-кривой мобайла.
• Эффект новизны для новых идей приложений уже исчерпан
• Удержание стало как никогда трудным из-за конкуренции
• Создание стартапа с рекламной поддержкой — это, как говорится, проблема «двух чудес»
• Легкий рост в основном закончился
Что вместо этого? Вертикальные приложения с более мощной монетизацией и другими сетевыми характеристиками кажутся вероятными кандидатами на замену. Если посмотреть на такие продукты, как Monopoly Go, Draft Kings, web3 игры, Canva и т.д., и начать обобщать новые возможности, можно прийти к выводу, что они являются вертикальными приложениями с явными новыми преимуществами:
• Вместо рекламы эти продукты часто позволяют покупателям напрямую тратить большие деньги, чтобы улучшить свои впечатления
• Безусловно, положительным моментом всех новых достижений в области ИИ является то, что мы открываем новые сценарии использования, которые особенно полезны для продуктивности
• Сетевые эффекты могут работать по-другому, если продукты не хотят стать масштабных горизонтальными приложениями, в которых есть все ваши друзья
• Такие приложения вообще могут быть ориентированы на одного пользователя и использовать игровые механики (как Duolingo)
Вторая статья практически дословно вторит этой идее - приложения для дейтинга и соцсети стагнируют, люди общаются в приложениях, посвященных занятиям, которые им нравятся, и общению с “коллегами по цеху”.
И что: самое время делать приложения для определенных хобби.
За окном шел дождь и презентация iPhone © Между тем обозрел топ приложений в России в августе - без особых потрясений, но забавно, что вместе с ростом VK Video и RUTUBE настоящие прорывы случались у VPN сервисов. Один в топе скачиваемых поднялся аж на 124 места (спасибо AppMagic). А в томе зарабатывающих Telegram все лидирует, да игры меняются местами. Скукота!
Разработка
• Архитектурное собеседование — по обе стороны баррикад
• Backend-Driven UI и конструкторы. Благо или зло?
• Открытое собеседование — технический руководитель: разбор кейса
• Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC
• Your company needs Junior devs
• Tinder API Style Guide
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в России в августе 2024
• Лучшее лето Airbnb
• AppsFlyer представил Attribution Reporting API для Android Privacy Sandbox
Кроссплатформа
• How to develop an AI app with a local model in Kotlin Multiplatform
#mobile #dev
Серия хакатонов в рамках ИТ-конференции «Импульс Т1» стартует в Ижевске!
Соревнование пройдёт с 20 по 23 сентября в гибридном формате. Призовой фонд – 600 000 рублей!
К участию приглашаются команды начинающих специалистов и опытных айтишников в составе от 3 до 5 человек. Обращаем ваше внимание, что 22 и 23 сентября будет необходимо очное присутствие как минимум троих членов команды!
Хакатон Т1 — это 48 часов решения реальных продуктовых задач от одного из ведущих ИТ-холдингов страны! В каждом из двух треков будут определены по 3 команды победителей, которые разделят между собой призовой фонд.
Треки хакатона:
«SDK приоритезатор: плагин обратной связи по продукту»
Создать SDK, который позволит пользователям голосовать за новые функции приложения и/или сайта. Результаты голосования будут передаваться продуктовой команде для улучшения продукта на основе пользовательских предпочтений.
«АгроНавигатор: оптимальные полеты БПЛА»
Разработайте систему, которая рассчитывает полетные задания для БПЛА с учетом всех летных характеристик и нормальных погодных условий.
Призы:
1 место: 140 000 рублей
2 место: 90 000 рублей
3 место: 70 000 рублей
Награждается топ-3 команды в каждом из двух треков.
Расписание:
➡️ 20-21 сентября — онлайн-этап (открытие задач, два чекпоинта)
➡️ 22-23 сентября — офлайн-этап в г. Ижевск (один чекпоинт, защита проектов)
Участники очного этапа хакатона смогут не только побороться за карьерные перспективы и призы, но и
— стать частью масштабной ИТ-конференции «Импульс Т1», где эксперты холдинга расскажут о главных трендах индустрии, поговорят об инженерии, науке и технологиях, а также поделятся своим практическим опытом;
— получить работу мечты, пройдя собеседование прямо на площадке ИТ-конференции: подать заявку на участие в One Week Offer от Т1 может каждый участник хакатона при регистрации!
➡️ Успейте зарегистрироваться до 16 сентября, чтобы не пропустить приглашение на хакатон:https://cnrlink.com/hackt1izhevskmobiledev
Реклама. ООО "Т1". ИНН: 7720484492. erid: LjN8KRuoe
Видео и подкасты за неделю @AppFiles
• (iOS En)
SwiftUI Custom Popups - iOS 17 & 18
• (iOS En)
SwiftUI TextRenderer
• (iOS En)
SwiftUI Reorderable Scroll View - Custom Drag & Drop With Scroll Detection - iOS 18
• (iOS En)
Create Modular iOS Apps with Swift Packages: Step-by-Step Guide!
• (iOS En)
SwiftUI - Reorder a List (2 Ways)
• (iOS En)
Fix This Problem with SwiftUI Lists
• (And Ru)
Организация кода в проекте — в какой пакет положить Kotlin класс
• (And En)
Building for the future of Android
• (And En)
What's new in Android Studio Koala
• (And En)
Master Kotlin Coroutines & Flows
• (And En)
Build your own compiler with KSP
• (And En)
Applying the State Pattern in Kotlin
• (Dev Ru)
Архитектурное собеседование — по обе стороны баррикад (+ все собеседования)
• (Dev Ru)
Backend-Driven UI и конструкторы. Благо или зло?
• (Dev Ru)
Открытое собеседование — технический руководитель: разбор кейса
• (Dev Ru)
Как работает авторизация и аутентификация — OAuth, JWT, webauthn, RBAC, ABAC
#ios #android #mobile #video
Оказывается, код каждого флага можно вывести из названия страны. Просто по буквам. Так что если вы, как и я, как и автор статьи, начали со словаря “страна: эмодзи”, то знайте, что есть более простой путь. Отчасти пример принципа “Fake it till you make it” 🙂 Ну и да, юникод хранит множество секретов
Разработка
• Стандарт Ki предлагает беспроводное питание для кухонных приборов
• The Boolean Trap
Маркетинг
• Hacking sales as an introvert
Кроссплатформа
• Get Serverpod running on your VPS with Plesk
#mobile #dev
🔨 iOS
• Время сборки и верификация модулей
• Все, что вы хотели знать о флагах в эмодзи (но не знали, что вам это нужно)
• Темная сторона однонаправленных архитектур Swift
• How-to: Symbolicate MetricKit Crashdiagnostics
• tejaswinimr702/my-experience-with-the-walmart-ios-interview-process-109d4918e2ea">Walmart Software Engineer III — IOS (IN3) My Interview Experience
#ios
🧰 Android
• Создаем атомный лоадер на Jetpack Compose
• Android 15 опубликован в AOSP
• Композим иконки. Улучшаем семантику и скорость отрисовки
• Интересные приёмы, взятые из исходников Android
• Insets handling tips for Android 15’s edge-to-edge enforcement
• Kotlin KSP — how to automate everything in the world
• Best way to keep state in a ViewModel
• Unlock Android Jetpack Components: Hidden Tricks to Build Successful App
#android
Рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год
По данным исследования SkillStaff и BCGroup, в текущем году объем рынка аренды ИТ-специалистов составит 265 млрд рублей (+18%) и будет ежегодно расти двузначными темпами. Больше половины компаний (61%) имеют опыт аренды айтишников, 91% из них пользуются услугой на данный момент.
• Данные исследования показали, что в 2023 году компании преимущественно выбирали 1С-разработчиков (20%) и Android-разработчиков (14%).
• При этом в текущем году наблюдается противоположная тенденция: 18% спроса приходится на Android-разработчиков, а 16% – на 1С-разработчиков.
• По прогнозам респондентов, в 2025-2026 годах бизнес, пользующийся ИТ-аутстаффингом, будет меньше нуждаться в найме JavaScript и Android-разработчиков, инженеров сопровождения и специалистов DevOps.
• Среди основных проблем, связанных с ИТ-разработкой, компании отмечают нехватку собственных разработчиков (25%), поиск отечественных решений (23%) и отсутствие обновлений ПО (21%).
• Большинству компаний нужны дополнительные ИТ-кадры при появлении новых ИТ-проектов (58%), разработке импортозамещающих решений (54%) и внедрению импортозамещающих ресурсов (51%). Еще 22% компаний-заказчиков обращаются за арендой айтишников при внедрении новых функций в имеющиеся проекты.
Android
• NFC на Android: создание системы предоплаты с использованием NDEF меток
• aDp — масштабирование дизайна Compose для разных экранов
• h2osolid/android-how-to-provide-photos-to-the-gallery-for-running-ui-automated-tests-37a232c0668d">How to Provide Photos to the Gallery for Running UI Automated Tests
• Mastering Navigation in Jetpack Compose: A Guide to Using the inclusive Attribute
• kappdev/how-to-create-an-atomic-loader-in-jetpack-compose-cbf0a74aa5fa">How to Create an Atomic Loader in Jetpack Compose
#android
Сразу два стартапа, занимающихся ИИ-программированием, объявили о привлечении инвестиций в конце прошлой недели. Это Codeium, поддерживает около 70 языков, умеет работать со всей кодовой базой, есть self-hosted версия, и Magic, которая разрабатывает инструменты, призванные помочь инженерам-программистам в написании, обзоре, отладке и планировании изменений кода и чья последняя модель имеет контекстное окно в 100 миллионов токенов. У Magic еще ничего не продается, но Codeium уже можно попробовать, так что если вы хотели поискать альтернативы Copilot, то можно начать с него. К тому же у него есть довольно хороший бесплатный уровень.
Разработка
• Самые высокооплачиваемые вакансии августа в сфере разработки приложений
• Алгоритм Скользящее окно — вопросы с собеседований
• Как писать чистый код — угадываем что ввел юзер и дизайним с нуля Clean Code Approach
• Егор Бугаенко про ТикТок, Huawei и ленивых разработчиков
• Зачем учить язык Си в 2024 году — Как выбрать между C или C++ или Rust
• Codeium привлек $150 млн и стал единорогом
• Стартап Magic, занимающийся ИИ-программированием, получил $320 млн инвестиций
• AI development and agile don't mix well, study shows
Маркетинг
• Hello Wonder — браузер с ИИ для детей
Кроссплатформа
• Writing a Kotlin Multiplatform App from Start to Store
• Using Native iOS Navigation from Compose Multiplatform
• Build an Animated Search Bar in Flutter
#mobile
Вы таки будете смеяться, но я вам новый дейтинг принес. Drybaby — дейтинг для трезвых (ну или пытающихся). 41% американцев сокращают потребление алкоголя в рамках движения «трезвое любопытство» (sober curious), так что это не шиза, а вполне направленный маркетинговый посыл. Drybaby также поддерживает растущую тенденцию личных знакомств, пытаясь укрепить чувство общности через безалкогольное общение. Его главная особенность — раздел сообщества, в котором пользователи могут общаться и делиться событиями для трезвенников. Drybaby также выпускает еженедельную текстовую рассылку Drybaby Drop, в которой освещаются местные мероприятия, ориентированные на трезвый образ жизни. Еженедельный календарь в приложении показывает дополнительные местные мероприятия без алкоголя. Среди основателей бывшие сотрудники Airbnb, Amazon, Meta и Snap, так что все вполне серьезно.
Разработка
• Что такое JUnit
• Why Copilot is Making Programmers Worse at Programming
Маркетинг
• В App Store заработали Win-back предложения
• Drybaby — дейтинг для трезвых
• How I made $50K from a simple AI wrapper?
Кроссплатформа
• Serverpod 2.1, “Expressionism” — A game changer for real-time communication
• MarvelApps_/flutter-local-notification-d52aa41c065f">Flutter Local Notification
#mobile #dev
iOS
• Настоящая мощь Apple Intelligence проявится в сторонних приложениях
• Изучаем WidgetKit: пишем виджет для Control Center в iOS 18
• Проверка доступности языка для перевода в фреймворке Translation
• awasthi027.ashish/security-best-practices-in-ios-568331717bc4">Security Best Practices in iOS
• The Memory Leak: An Xcode Detective Story
• Practical examples using The Composable Architecture (TCA)
• leohsmedeiros/discardableresult-in-swift-9748e7f3a76c">@discardableResult in Swift
#ios
🌐 В App Store заработали Win-back предложения
Теперь в App Store Connect можно настроить win-back офферы - новый тип предложений для автовозобновляемых подписок.
Win-back предложения позволяют вам связаться с предыдущими подписчиками и побудить их повторно подписаться на ваше приложение.
Например, вы можете создать предложение с предоплатой по сниженной цене в $9.99 на полгода со стандартной ценой продления в $39.99 в год. На основе конфигурации вашего предложения Apple отображает эти предложения подходящим покупателям в различных местах.
При создании возвратных предложений в App Store Connect вы определите соответствие покупателей требованиям, выберите региональную доступность и тип скидки.
Android
• Избегаем ловушек автозавершения в Android Studio
• Jetpack Compose APIs for building adaptive layouts using Material guidance now stable
• Mastering TextDirection for Multi-Language Apps in Jetpack Compose
• Type safe navigation for Compose
• How we improved our 1Weather Android app cold startup time by over 70% and slow cold start sessions by over 24%+
• Android Studio Ladybug Feature Drop
• Jetpack Compose: Setup Retrofit and Ktor using Dagger Hilt for Dependency Injection
#android
UI Profiling: обзор возможностей тестирования производительности приложений и инструменты оптимизации
Никто не любит тормозящие приложения, верно? Готовы избавить мир от них?
Ждём вас на открытом вебинаре 11 сентября в 20:00 мск, где мы разберем:
- какие приложения пользователи считают «тормозящими»;
- последовательный путь по поиску и оптимизации проблемных мест;
- как выполнять мониторинг производительности на устройствах пользователей.
Спикер Артур Бадретдинов — Team Lead at Squire Technologies, ведущий разработчик в американском стартапе.
Встречаемся в преддверии старта курса «Android Developer. Professional». Все участники вебинара получат специальную цену на обучение!
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
iOS
• Verge — надежный фреймворк управления состоянием
• Jailbreak your Enemies with a Link: Remote Execution on iOS
• Making mistakes while learning Swift
• How to support tinted home screen widgets in iOS 18
#ios
Android
• Android-разработка очень перегружена и в нее сложно вникнуть? — Обсуждение на Reddit
• Learn Kotlin Coroutines — изучаем корутины на реальных примерах
• Организация кода в проекте — в какой пакет положить Kotlin класс
• Основы Jetpack Compose: как обеспечить стабильность вашего кода
• Coroutine Testing - Controlling time
• Avoiding the Auto-Completion Trap in Android Studio
• Creating a Custom Gauge Speedometer in Jetpack Compose
• Improve Compose UI with Spacing Constants
• Shimmer animations in Jetpack Compose without extra dependencies
• Preview and test your app’s edge-to-edge UI
• kappdev/how-to-create-a-spinning-circles-loader-in-jetpack-compose-87d6fa51a1c8">How to Create a Spinning Circles Loader in Jetpack Compose
#android
🧰 Давеча у нас было обсуждение, что iOS-разработка становится сложнее, а сейчас дело дошло и до Android. На Reddit человек спрашивает - Android-разработка очень перегружена и в нее сложно вникнуть?
Я не профессиональный программист, но у меня есть небольшой опыт работы с C, Bash, Python, Lua, ahk. Обычно мне не составляет большого труда понять, где и как начать искать нужную информацию и быстро что-то собрать. Сейчас же в Android Studio самый простой проект «Empty Activity» содержит 3 десятка файлов, вложенных в дюжину папок. Всего в папке проекта более 500 файлов. Главный файл имеет 11 импортов. IDE похожа на панель управления космического корабля.
🚀 Как автоматизировать процесс разработки и сделать жизнь Android-разработчика проще? Ответы на эти вопросы найдете на Podlodka Android Crew с 16 по 20 сентября!
Podlodka Crew — это онлайн-конференции для IT-специалистов, которые фокусируются на практической пользе. Сессии проходят утром и вечером, чтобы вы могли совмещать их с работой.
Вас ждут:
• Пришёл, увидел, наплагинил: Павел Стрельченко из HeadHunter расскажет, как разработка плагинов для IntelliJ IDEA может стать вашей скрытой суперсилой.
• Автоматизация экспорта токенов из Figma: Никита Яцкивский из Магнит поделится опытом автоматизации экспорта дизайнерских токенов в код, что значительно ускоряет работу над проектом.
• Генерация шаблонного кода с помощью Geminio: Евгений Мельцайкин из СКБ Контур расскажет, как избавиться от повторяющегося кода и сосредоточиться на важных задачах.
• GitHub Actions: Никита Куликов из Flipper Devices объяснит, почему GitHub Actions стал доминирующим CI/CD инструментом для open-source проектов и как настроить его за считанные минуты.
Подключайтесь к Podlodka Android Crew, чтобы получить самые актуальные знания и практические советы! Билеты со скидкой: https://podlodka.io/droidcrew
А промокод сообщества android_crew_12_X0nXSH
даёт скидку еще в 500 руб🥳
🧰 Android
• Voice — минималистичный плеер аудиокниг
• Многопоточность в Android: тогда и сейчас
• Советы по обработке Insets для обеспечения edge-to-edge на Android 15
• Еще был случай на охоте… Или почему Appdome иногда такой себе Dome
• Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso
• Android Compose Videos with ExoPlayer
• Android dev very overengineered and difficult to get into?
• Anti-Pattern: Stop Leaking Kotlin Flow Collectors in Your Android ViewModel
#android
🕐 Все мы знаем, как трудно заканчивать проекты. Но, оказывается, правильно откладывать работу тоже не все умеют. Торстен Болл написал о том, почему и как стоит оставлять что-то на завтра. Вот самый важный момент - останавливайтесь и откладывайте работу на завтра, когда у вас все хорошо и когда вы знаете, что будет дальше. Так вы всегда будете знать с чего начать. Завтра, закончив это небольшое дело, вы разомнетесь перед решением большой задачи, быстро погрузитесь в поток и так гораздо проще будет перейти к более сложному коду. Это как растяжка перед упражнениями.
Разработка
• Оставляйте что-нибудь на завтра
• SkillStaff: рынок ИТ-аутстаффинга вырастет до 265 млрд к концу 2024 год
• Компьютеры Copilot+ не справляются с играми
• Explicit is better than implicit
Маркетинг
• Почему и как мы платим за свою же органику в сторах
• Маркетологи в мобайле: Всеволод Самсонов (Flowwow)
• Key languages for localization: Here's how demand changed in 2023
Кроссплатформа
• prashantnigam4900/flutter-state-management-design-patterns-do-you-really-need-them-287d1b54f9d0">Flutter State Management & Design Patterns: Do You Really Need Them?
#mobile #dev
🔨 iOS
• Swift AST Explorer — визуализация абстрактного синтаксического дерева
• Дружим iPhone и ESP32. Часть 1. ESP Arduino Core
• Hiding A SwiftUI View From Switch Control
• Animating SF Symbols on iOS 18
• The AirDrop Conundrum: Passing Custom Models From and To Your App
• SwiftUI Modifiers Deep Dive: containerRelativeFrame
#ios
📒 Из вчерашнего еще интересная статья про то, как владельцу iPhone поменяли смартфон по AppleCare, а он оказался забаненным в Snapchat. Ну ладно, допустим смартфон восстановленный, но он же полностью восстановлен из бекапа и как мог Snapchat его опознать?
Как разработчик iOS, я знаю, что у Apple нет никаких API, которые разработчики могут использовать для отслеживания пользователей. Разработчики не могут получить доступ к серийному номеру устройства, а identifierForVendor сбрасывается, когда пользователь удаляет все приложения издателя. Так как же Snapchat мог распознать устройство?
🔨 iOS
• Как я решал задачу получения доступа к данным банковских приложений на iOS
• Elevate Your Testing Game with Swift Testing
• Limit Swift Concurrency's cooperative pool
• Custom hover effects in SwiftUI
• Backport SwiftUI modifiers
#ios
Android
• Фокус в Android TV
• Gradle-сборка. Измеряем самое важное
• Шифруем файлы в Android
• 5 уроков из опыта реализации pixel-perfect тестирования дизайн-системы в Android
• String vs StringBuffer vs StringBuilder
• Coroutine Testing - Never ending tests & backgroundScope
• Avoiding unintentional device exclusion in an Android app
• Android Studio Koala Feature Drop is Stable!
• ahmetbostanciklioglu/transforming-figma-ui-designs-into-jetpack-compose-code-with-google-ai-studio-a-step-by-step-guide-21a9db4f9476">Transforming Figma UI Designs into Jetpack Compose Code with Google AI Studio: A Step-by-Step Guide
• Composable-scoped ViewModel: An interesting experiment
• Loading Initial Data in LaunchedEffect vs. ViewModel
#android