Как и предполагалось с самого начала, суд отложил требования о запуске альтернативных магазинов в Google Play и практически всех остальных пунктов нашумевшего две недели назад решения. Пока осталось только то, что начиная с 1 ноября 2024 года Google запрещено заключать сделки с операторами связи или производителями устройств, которые блокируют предустановку конкурирующих магазинов приложений в обмен на деньги, долю прибыли или льготы. Все остальное будет предметом апелляции. Которая, как заведено и как показывает пример Apple, может идти годами.
Разработка
• Короткий путь с Senior-ами
• Собеседование продуктового аналитика в Авито: кейс-интервью
• Shape Up, scrum out. Как решать проблемы юзеров за дни, а не за сторипоинты
• AI в медицине
• Software Engineer Titles Have (Almost) Lost All Their Meaning
Маркетинг и монетизация
• Azar пытается вернуть случайные видеочаты Поколению Z
• Где деньги: сравнение доходов App Store и Google Play
Кроссплатформа
• dmilicic/writing-a-personal-website-in-flutter-web-238cb7e69086">Writing a personal website in Flutter Web
• mobileatexxeta/developing-accessible-mobile-apps-with-flutter-1f04cc8be83e">Developing accessible mobile apps with Flutter
iOS
• iOS Swift for VS Code — iOS-разработка в VS Code
• Макросы в Swift: Практическое руководство по использованию
• Внедряем снепшот-тестирование, или пять стадий принятия неизбежного
• Modular Navigation in SwiftUI: A Comprehensive Guide
• Improve your app's UX with SwiftUI's task view modifier
• Migrating Combine to AsyncAlgorithms
• Create ZIP files in Swift without third-party dependencies
• How Do Binaries work together? What breaks ABI?
• Building a Customizable Segmented Control in SwiftUI
• How to significantly improve incremental build time with xcodebuild
#ios
Видео и подкасты за неделю @AppFiles
• (iOS En)
WWDC22: Visualize and optimize Swift concurrency
• (iOS En)
Principal Engineer shares tips to Master System Design and Architecture
• (iOS En)
SwiftUI Toasts
• (iOS En)
How to get started with Swift Testing
• (iOS En)
Create a Bold SwiftUI Flight Boarding Widget
• (iOS En)
Add Micro Interactions to your Tab Bar | SwiftUI
• (iOS En)
iOS/SwiftUI Chat App With Cursor
• (And Ru)
Как следить за качеством работы вашего кода. Tracer. Кирилл Попов
• (And Ru)
1000 откликов и 0 собеседований — как не войти в айти в 2024: кодревью
• (And Ru)
Замена иконок — что может быть проще?
• (And En)
Custom Adaptive layouts in Compose
• (And En)
Region specific resources and broken localization
• (And En)
Applying the Builder Pattern in Kotlin
• (Crs En)
Mobile App Development Course with React Native, Supabase, Next.js
• (Anl Ru)
Собеседование продуктового аналитика в Авито: кейс-интервью
• (Dev Ru)
Shape Up, scrum out. Как решать проблемы юзеров за дни, а не за сторипоинты
• (Tch Ru)
AI в медицине
#ios #android #mobile #video
Android
• Как мы улучшили производительность навигации на Android на 30%
• Loaders — лоадеры для Jetpack Compose
• Понимание прогноза глюкозы в AndroidAPS часть 2
• Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery
• The updated Kotlin roadmap is here!
• Compose Multiplatform 1.7.0 Released
• Creating a responsive dashboard layout for JetLagged with Jetpack Compose
#android
Mistral выпускает новые ИИ-модели, оптимизированные для телефонов
Французский ИИ-стартап Mistral выпустил свои первые генеративные модели ИИ, предназначенные для работы на периферийных устройствах, таких как ноутбуки и телефоны.
• Новое семейство моделей, которое Mistral называет Les Ministraux, можно использовать или настраивать для различных приложений, от базовой генерации текста до работы в связке с более мощными моделями для выполнения задач.
• Доступны две модели Les Ministraux — Ministral 3B и Ministral 8B, обе из которых имеют контекстное окно в 128,000 лексем, что означает, что они могут освоить примерно 50-страничную книгу.
• Ministral 8B доступна для загрузки уже сегодня — правда, исключительно в исследовательских целях. Mistral просит разработчиков и компании, заинтересованные в самостоятельном развертывании Ministral 8B или Ministral 3B, связаться с ней для получения коммерческой лицензии.
• Кроме того, Ministral 3B и Ministral 8B через облачную платформу Mistral La Platforme или другие облака, с которыми стартап заключит партнерские соглашения в ближайшие недели. Стоимость Ministral 8B составляет 10 центов за миллион выходных/входных токенов (~750,000 слов), а Ministral 3B — 4 цента за миллион выходных/входных токенов.
И что: в последнее время наблюдается тенденция к созданию небольших моделей для конечных устройств. Google продолжает развивать свое семейство малых моделей Gemma, а Microsoft предлагает свою коллекцию моделей Phi. В последнем обновлении своего пакета Llama представила несколько небольших моделей, оптимизированных для работы на устройствах.
Android
• Google начал развертывание Android 15 на Pixel
• Компьютерное зрение на C++: пишем приложение для поиска объектов под Android
• How we improved our Android navigation performance by ~30%
• Testing Coroutines — Simplified
• Using Kotlin Reflection to Automate Compose Navigation
• runTest vs runBlocking — Simplified
• omdubey170/hello-pentester-07209d5d8d42">Bypassing Location Restrictions on a Android App Using Frida
#android
Вот для чего, в конце концов, и нужны все ваши технологии - делать людей счастливыми. AR-очки для глухой девушки:
Читать полностью…Автор приложения Elite Hoops и одного из популярных блогов про Swift и iOS-разработку, поделился своими результатами за год. Если кратко, то у него 860 платящих клиентов и $3,000 MRR. Если не кратко, то всего его выводы, как ни банально, сводится к маркетингу и тому, что им надо заниматься. Из интересного - маркетинг через побочный проект побочного проекта и Supabase для обратной связи в приложении.
Разработка
• Один год Elite Hoops: 12 маленьких уроков
• Integrating Appium and Cypress for Unified Test Automation
• Code review antipatterns
Маркетинг
• 17 Издание Индекса эффективности от AppsFlyer
• Топ быстрорастущих приложений в России в октябре
Кроссплатформа
• Kotlin Multiplatform Developer Roadmap — план изучения Kotlin Multiplatform
• Самые важные пакеты в экосистеме Dart и Flutter на Pub 2024
• Как подружить Flutter и Huawei — настраиваем App Gallery. Часть 1
• Не пытайтесь динамически загружать код в ваше Flutter-приложение
• oleksandr.kriatov/automated-code-analysis-for-flutter-integrating-sonarcloud-with-github-actions-e82cfe951620">Automated Code Analysis for Flutter: Integrating SonarCloud with GitHub Actions
• kerry.bisset/trying-to-start-a-multiplatform-company-store-with-kotlin-rpc-koin-ktor-and-wasm-57d60a356e01">Trying to Start a Multiplatform Company Store with Kotlin RPC, Koin, Ktor, and WASM
iOS
• Swift Testing: How to Test Your iOS App’s Network Layer
• Calculating the semantic distance between words with the Natural Language framework
• What was early iOS development like
Android
• Тесты для функций Compose в Amdroid
• kerry.bisset/understanding-the-impact-of-multiple-navhosts-on-back-navigation-and-viewmodel-management-in-fe63a9b73f45">Understanding the Impact of Multiple NavHosts on Back Navigation and ViewModel Management in Jetpack Compose
• himv1998/swiggy-sde-2-inteview-experience-android-7906956a924a">SWIGGY SDE-2 Inteview Experience (Android)
• Android Studio Ladybug Feature Drop
• myofficework000/7-kotlin-flow-operators-that-you-must-know-62eb726e3ff4">7 Kotlin Flow Operators that you must know
#ios #android #mobile #dev
Рассказывают, что Google работает над официальным способом запуска Linux-приложений на Android. Весь способ будет сосредоточен в приложении Terminal, которое является частью Android Virtualization Framework (AVF) и содержит WebView, который подключается к виртуальной машине Linux на локальном IP-адресе, позволяя вам выполнять команды Linux с Android-хоста. Изначально приходилось вручную включать это приложение Terminal с помощью команды оболочки, а затем самостоятельно настраивать виртуальную машину Linux. Сейчас Google работает над тем, чтобы Terminal стал универсальным приложением, которое загружает, настраивает, запускает и взаимодействует с экземпляром Debian в виртуальной машине. Зачем нам Linux приложения? Ну, например, на Chromebook-ах работает Linux-версия Android Studio (правда, в версии для x86, в отличие от большинства Android на ARM). Так что, вероятно, это некий шаг в сторону разработчиков и превращения Android-устройств в более полезные терминалы.
Разработка
• Путь тестировщика: ошибки, опыт, деньги
• Мобильная разработка в Алисе и YaOS: как это работает
• Перформанс мобильных приложений
• Дизайн-система 2.0: менеджеры нужны
• Двое за ноутом, не считая copilot’а, или Как внедрить парное программирование
• Так много тимлидов хороших и разных. А я какой?
• Стартап мечты превратился в кошмар
• LinkedIn сообщает о 10 миллионах фрилансеров на Services Marketplace
• 3 Career Principles that got me to Director at Google
Маркетинг
• Самые скачиваемые и зарабатывающие приложения в мире в сентябре 2024
• Как определить целевую аудиторию и повысить охваты вашего мобильного приложения: полное руководство
• Elite Hoops Year One: 12 Bite-Sized Lessons
• How Uber Eats makes you think you want to order food
Кроссплатформа
• Flutter Web глазами мобильного разработчика
• Building a Cross-Platform Camera App with CameraK and Compose Multiplatform
• Making Compose Multiplatform apps feel at home: removing ripple animation on iOS
#mobile #dev
iOS
• Создаем анимацию печати текста на печатной машинке в SwiftUI
• TinyStorage — простая и легкая замена UserDefaults для постоянного хранения данных
• Собеседование iOS-разработчика: проектирование и лайфкодинг
• Introducing Recap: What's Old Is What's New Again
• uwaisalqadri/maintaining-syntactic-sugar-for-optional-in-swift-dfb7f9019fba">Maintaining Syntactic Sugar for Optional in Swift
• Replacing Fastlane with Shell scripts
• Security-scoped bookmarks for URL access
• SaezChristopher/%EF%B8%8F-how-we-reduced-the-build-time-by-2-with-out-xcode-at-shopmium-part-1-f66f6ec51b05">How we reduced the build time by 2 with(out) Xcode at Shopmium
#ios
Видео и подкасты за неделю @AppFiles
• (iOS Ru)
Собеседование iOS-разработчика: проектирование и лайфкодинг (+ все собеседования)
• (iOS En)
Improve Scroll Transitions | SwiftUI
• (iOS En)
Grid Multi-Selection using Pan Gesture | SwiftUI
• (iOS En)
How to Fix UIKit and SwiftUI Menu Buttons (make them easier to tap)
• (iOS En)
TDD Basics with SwiftUI
• (iOS En)
Adopt iPhone 16 Camera Control into your SwiftUI App
• (iOS En)
WWDC22: Design protocol interfaces in Swift
• (And En)
Now in Android: 110 - Android 15, Credential Manager, Android Studio Koala, Compose for TV
• (And En)
FULL Guide to Kotlin's Inline Keyword (inline, crossinline & noinline)
• (And En)
Micro Open Source: From Passion to Pet Project Publication
• (Crs Ru)
Flutter Web глазами мобильного разработчика
• (Crs En)
Build a Book Library App for Android & iOS using ROOM KMP (MVVM)
• (Dev Ru)
Мобильная разработка в Алисе и YaOS: как это работает
• (Dev Ru)
Путь тестировщика: ошибки, опыт, деньги
• (Dev Ru)
Перформанс мобильных приложений
• (Dev Ru)
Дизайн-система 2.0: менеджеры нужны
• (Dev Ru)
Двое за ноутом, не считая copilot’а, или Как внедрить парное программирование
• (Dev Ru)
Так много тимлидов хороших и разных. А я какой?
• (Dev Ru)
Стартап мечты превратился в кошмар
• (Dev En)
Databases In-Depth – Complete Course
• (Dev En)
Electron Course - Code Desktop Applications (inc. React and Typescript)
• (Dev En)
AWS Certified AI Practitioner (AIF-C01) – Full Course to PASS the Certification Exam
#ios #android #mobile #video
Android
• Android 16 может позволить вам поместить любое приложение в плавающий пузырь
• Selenoid на Android – от А до Я
• Авто-трекинг производительности Room Database
• kappdev/how-to-create-a-pulse-effect-in-jetpack-compose-265d49aad044">How to Create a Pulse Effect in Jetpack Compose
• The day we (almost) lost 1,000 customers
• sc128496/bypassing-multiple-checks-on-android-applications-a-security-researchers-experience-2ec1a3005b60">Bypassing Multiple Checks on Android Applications: A Security Researcher’s Experience
#android
Выиграй 4 000 000 ₽ на True Tech Champ
МТС приглашает опытных и начинающих разработчиков поучаствовать в чемпионате. В треке «Программирование роботов» нужно будет создать алгоритм для прохождения лабиринта. Победит тот, чей робот окажется самым быстрым. При этом не обязательно разбираться в устройстве роботов: эксперты трека уже сконструировали их и создали прошивку. Для участия достаточно уметь программировать на одном из языков: С++, C#, Go, Python, JS, Java.
Регистрация открыта до 12 октября, отборочные онлайн-этапы уже стартовали!
До финала смогут дойти на равных разработчики вне зависимости от стека или уровня: питонисты или джависты, джуны или сеньоры. А с полуфиналов начнётся командный этап — можно собрать свою дримтим.
Участникам дадут доступ к API и подробные инструкции. Эксперты трека будут помогать, направлять и отвечать на вопросы на вебинарах.
Зарегистрироваться можно по ссылке.
Android
На Medium статья "10 причин НЕ использовать Jetpack Compose" собрала 139 апвоутов, но все ее положения опровергли в первом же комментарии. До которого я добрался только переведя всю статью. Оказалось, что за хайповым заголовком скрывается хайповый же контент в стиле "О Боже, придется переписать тесты". Ну надо же, кто бы мог предположить. Прочитайте хотя бы чтобы мне просмотров нагнать ☺️
• 10 причин НЕ использовать Jetpack Compose
• Паря в космосе: анимации с помощью Compose и Canvas
• Transcribro — распознавание речи на устройстве
• Как улучшить качество WebRTC-звонков на примере сервиса VK Звонки
• Introducing Ink API, a new Jetpack library for stylus apps
• Mastering FileProvider in Android: Secure File Sharing Explained
• Place Scope Handling on Auto-Pilot with Koin & Compose Navigation
• Drawing Custom Alerts on Top of Bottom Sheets in Jetpack Compose
• Upgrading from AGP 7.4.1 to 8.5.2: A Developer’s Diary
#android
Ночной кошмар любого разработчика - посыпавшаяся база данных в приложениях у клиентов. В первой статье случай более легкий, просто не восстанавливался бэкап, но все равно, холодным потом покрыться можно. Впрочем, исправление оказалось довольно простым (дампим старую - создаем новую), так что покрыться ненадолго. Главная фраза статьи: “low-end Android — странные звери” 🤖
Разработка
• Восстановление базы для миллионов пользователей
Маркетинг
• Revyze — «TikTok для образования» — перенимает методики Duolingo
• Что такое Product-Market Fit
• How to get started with User-Generated Content
Кроссплатформа
• Что такое Home-виджеты и как их подружить с вашим приложением на Flutter
• Build a Book Library App for Android & iOS using ROOM KMP (MVVM)
• Advanced Flutter Techniques Every Mobile Developer Should Know
• Qt 6.8 LTS Released!
• Building offline-first mobile apps with Supabase, Flutter and Brick
#mobile #dev
Android
• Суд приостановил решение об открытии Google Play и Android
• Lets-Plot — мультиплатформенное черчение
• Как следить за качеством работы вашего кода. Tracer. Кирилл Попов
• 1000 откликов и 0 собеседований — как не войти в айти в 2024: кодревью
• Замена иконок — что может быть проще?
• Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts
• Implementing Overslide interaction in Jetpack Compose
• Unplugged DI - DI.Y Basics
• Making my concurrent algorithm 6000% better
• Using Kotlin Reflection to Automate Compose Navigation
• Analyzing App Startup and Shutdown details in Android 15
• That Weird Compose Crash
• Circular Reveal Animations in Jetpack Compose
#android
🌐🤖 Где деньги: сравнение доходов App Store и Google Play
Очевидный ответ — в App Store больше денег. Стандартное распределение считается как 1 к 2 - на каждый доллар трат пользователей в Google Play приходится 2 доллара трат в App Store. Однако новое исследование AppFigures показывает несколько иную картину.
• В сентябре только 16% всех доходов было получено от покупок в Google Play и 84% — в App Store.
• Если говорить о конкретных долларах, то, по оценкам аналитики, в сентябре потребители потратили на приложения и игры $16.2 миллиарда. На долю Google Play пришлось $2.5 млрд, а на долю App Store — оставшиеся $13.7 млрд. Это валовой доход, то есть то, что пользователи потратили на покупки в приложениях до того, как Apple и Google взяли свои комиссионные.
• Не все категории одинаковы. Больше всего денег потребители потратили на игры — $5.1 млрд в App Store и Google Play. $3.9 млрд, или 75%, пришлось на App Store, так что если у вас есть игра, App Store — самое подходящее место. Забавный факт — App Store дает играм наименьшую долю по сравнению со всеми остальными категориями, кроме одной (Покупки).
• Помимо игр, в пятерку лучших категорий по общему объему трат входят Развлечения, Стиль жизни и Знакомства, Социальные сети и Фото и видео. На долю App Store приходится от 83 до 97% дохода этих категорий.
И что: есть много причин выпускать приложение на обеих платформах, но если доход - ваша главная цель, начните с App Store.
В первой статье рассматривается интересная техника сжатия данных - «сжатие с общим словарем». Она позволяет в определенных ситуациях радикально уменьшить объем передаваемых приложениями данных и, в общем то, не так уж трудна для внедрения. Как пишут, эта техника уже давно используется в таких компаниях, как Google и Amazon, но в последнее время она получила широкое распространение и в сообществе мобильных разработчиков. В целом, даже если вам не надо, посмотрите как оно бывает.
Разработка
• Ускоряем работу приложения с помощью сжатия с общим словарем
• Google выпустил корпоративную версию Gemini Code Assist
• Mistral выпускает новые ИИ-модели, оптимизированные для телефонов
• Тысячи иконок и адаптация под RTL: проектирование интерфейса шаблона мобильного приложения для партнёров Travelpayouts
• How we Outsmarted CSGO Cheaters with IdentityLogger
• Programming a first person shooter from scratch like it's 1995
• Be Suspicious of Success
Кроссплатформа
• Compilers, Virtual Machines and Code Analysis - What makes Dart and Flutter run
#mobile #dev
iOS
• Exploring SwiftUI: Understanding TextRenderer to Animate Words
• Tokenizing text with the Natural Language framework
• Interactive Toasts SwiftUI
• How to get started with Swift Testing
#ios
Интересную позицию сформулировал автор “Антипаттернов Code Review”. Когда один разработчик становится рецензентом кода другого, эти отношения создают временную власть. Рецензент имеет право предотвратить конкретный коммит, даже если в остальное время он не имеет никакой власти над автором кода. Но с полномочиями приходит ответственность. И вы должны использовать полномочия только по назначению, и всегда настолько, насколько это необходимо. В данном случае это сделать код как можно лучше, в соответствии с тем определением «хорошего», которое выработала команда разработчиков в целом. А не использовать эту временную власть над другим разработчиком в качестве рычага для достижения каких-то своих личных целей, возможно, не зависящих от качества кода, а возможно, активно противостоящих ему. В общем, искусство Code Review не всегда лежит в области кода. А иногда и в области Review.
Разработка
• Антипаттерны Code Review
• Early создает Unit-тесты с помощью ИИ
• The Senior Shortcut
Маркетинг
• How to brew the perfect Halloween campaign for app growth
Кроссплатформа
• reachbhakhand/mastering-null-safety-in-dart-a-practical-guide-for-flutter-developers-3f654c71b39e">Mastering Null Safety in Dart: A Practical Guide for Flutter Developers
iOS
• Вычисление семантического расстояния между словами с помощью Natural Language Framework
• Tuist: добавляем генерацию проекта в текущее приложение
• iOS Performance Optimization — рекомендации по оптимизации iOS-приложений
• rishixcode/networking-async-await-in-swiftui-e3bdc9a92cfb">Networking Async/Await in SwiftUI
• Building a Custom Progress Bar in SwiftUI
• Reinventing Core Data Development with SwiftData Principles
• Creating a Theme manager for UIKit using Combine in Swift
• Faster iOS Networking with Shared Dictionary Compression
#ios
🤖 Google начал развертывание Android 15 на Pixel
Можно сказать, что Android 15 официально вышел. Окончательная версия операционной системы была опубликована в Android Open Source Project в прошлом месяце, но на тот момент она еще не была доступна на телефонах и планшетах Pixel, а также на других основных устройствах Android. Сегодня Google объявил, что она наконец-то появилась на устройствах Pixel, вместе с рядом новых функций.
• Одной из главных новых функций в Android 15 является возможность создания «личного пространства» для приложений, которые вы хотели бы скрыть от других людей, получивших доступ к вашему телефону (Google приводит в пример социальные приложения, приложения для знакомств или банковские приложения).
• Многие устройства под управлением Android - не только Android 15 - получат функцию Theft Detection Lock.
• На раскладушках и планшетах Android 15 позволит пользователям закреплять и откреплять панель задач, чтобы они могли выбрать несколько более удобный доступ к своим приложениям. Они так же получат модернизированный режим мультизадачности с возможностью запуска двух приложений на одном экране.
• Android получил функцию архивации приложений.
• Google также начинает раскатывать новый пакет функций (feature drop) для Pixel.
Вот он – шанс погрузиться в разработку игр, если очень давно хочется!
Я много пишу про то, что игры - большая часть мобильного рынка и один из главных драйвер роста индустрии. Если вы еще не сделали свою первую игру, то самое время начать. RuStore, один из лидирующих магазинов приложений в России, проводит конференцию о мобильных играх.
RuStore Mobile Conf: GameDev — это площадка для общения и обмена опытом между разработчиками мобильных игр, бизнесом и экспертами индустрии. На конференции поговорят про все ключевые аспекты создания игр — от идеи до монетизации.
Участвуйте:
• Когда: 2 ноября;
• Совершенно бесплатно;
• Можно представить свою игру и получить фидбэк от спикеров.
Не упустите! Ссылку на регистрацию прикрепляю
Android
• Google готовится запустить Linux-приложения на AndroidДень, когда мы (почти) потеряли тысячу клиентов
• Зачем нужен crossinline — вопросы с собеседований
• Xbox начнет продажи игр в приложении для Android
• MusicSearch — песни, исполнители и все, что с ними связано
• Обходим ошибку в системных настройках печати на телефонах RealME
• Ktor 3.0 Is Now Available With New Features and Improved Performance
• michalankiersztajn/kotlin-design-patterns-builder-explained-b95f14ea730c">Kotlin Design Patterns: Builder Explained
• Seamless Real-Time Location Tracking with gRPC, Kotlin & Jetpack Compose
• One click dependencies fix
#android
Остерегайтесь парения в космосе
Вся разработка за неделю - странное поведение UserDefaults и признание Google Play монополией, анимации космоса и авто-трекинг производительности, роль продуктового дизайнера, как перехватывают зашифрованный HTTP-трафик, новый рекорд приложений с подпиской и многое другое. Заходите!
🔨 Автор статьи “Остерегайтесь UserDefaults” открыл прекрасное. Оказывается, iOS иногда все-таки шифрует данные в UserDefaults (как она решает что шифровать я так и не понял, но не суть). А расшифровать их можно только когда пользователь разблокировал устройство. Учитывая Live Activity на экране блокировки и предварительный разогрев приложений получаем превосходную коллизию, когда UserDefaults не может выполнять то, собственно для чего создавалась (например, получает даже не nil
, а 0
вместо количества заходов пользователя в приложение):
Суть UserDefaults в том, что он должен надежно хранить простые, нечувствительные данные, чтобы к ним можно было обратиться в любой момент. Тот факт, что теперь эта ситуация кардинально изменилась, и что ваше приложение может быть запущено фактически в любое время, делает ситуацию невероятно запутанной, опасной и трудной для отладки.
iOS
• Остерегайтесь UserDefaults: история о труднопонимаемых ошибках и потерянных данных
• Пишите на Swift как Apple
• DevTutor for SwiftUI — примеры SwiftUI
• Applying visual effects combined with scrolling in SwiftUI
• How to listen for property changes in an @Observable class using AsyncStreams
• Mastering Swift’s RunLoop: A Comprehensive Guide
• Mastering container views in SwiftUI. Values.
• dhairyavora_35186/swift-memory-handle-with-care-a-fun-dive-into-advanced-ios-memory-management-4a0b2792a5e5">Swift Memory: Handle with Care! A Fun Dive into Advanced iOS Memory Management
#ios
Разработка
• Бывшие члены команды Google Maps создали доску для совместной работы на основе ИИ
• «Яндекс» увеличил награду для охотников за ошибками в мобильных приложениях до миллиона рублей
• My First Game with Carimbo, My Homemade Engine, For my Son
• Cognitive Load is what matters
Маркетинг
• В приложение Philips Hue добавили дополненную реальность
Кроссплатформа
• Humble Opinion About Getx
iOS
• uwaisalqadri/write-swift-like-apple-4c4331cf140c">Write Swift Like Apple
• UserDefaults and Observation in SwiftUI: How to Achieve Precise Responsiveness
• Crafting a Typewriter Text Animation in SwiftUI
• Introducing Tiny Storage: a small, lightweight UserDefaults replacement
#ios
Android
• Google должен открыть Android для сторонних магазинов
• Hidden Gems of the Kotlin Standard Library - List
• Enhance Your App’s Performance: Optimizing API Calls with OkHttp Caching
• 10 reasons to NOT use Jetpack Compose
• nachare.reena8/a-deep-dive-into-android-hardware-backed-keystore-3b0149356870">A Deep Dive into Android Hardware-Backed Keystore
#android