Android
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1
• Gramophone: музыкальный плеер на Media3 и Material Design
• Вы за это заплатите! Цена Чистой Архитектуры
• @Composable Modifier vs composed factory in Jetpack Compose
• Stop Passing Event/UI-Action Callbacks in Jetpack Compose
• dinoyraj/android-localization-list-formatter-in-android-05659d848a61">Android Localization: List Formatter in Android
#android
Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 1
В этом цикле статей мы рассмотрим лучшие практики использования ViewModel в Android, подчеркнем основные «можно» и «нельзя» для повышения качества кода. Мы рассмотрим роль ViewModel в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, мы обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и раскрытие mutable состояний, предоставив разработчикам исчерпывающее руководство.
Это первая статья из серии и посвящена она инициализации состояния в блоке init{}
. Всего планируется 15 (!) статей.
Перевод: https://apptractor.ru/info/articles/osvaivaem-viewmodel-v-android-mozhno-i-nelzya-chast-1.html
Лучшее из вчерашнего в #Android - Jetpack Compose needs a Design System layer (500+ апвоутов на Medium) и Mastering Android ViewModels: Essential Dos and Don’ts Part 1 (300+). Какую перевести на русский? ❤️ за Design System и 👍 за Android ViewModel!
Читать полностью…Android
• Android TOML. Просто о каталогах зависимостей в Android Studio
• didahdx/automating-android-deployment-to-firebase-app-distribution-with-fastlane-part-2-cb138d0ef6c2">Automating Android App Deployment to Firebase App Distribution With Fastlane
• Accessibility Checks with Jetpack Compose Previews
• Jetpack Compose needs a Design System layer
• Composition over Inheritance: My refactoring recipe
• Mastering Android ViewModels: Essential Dos and Don’ts
#android
Sensor Tower покупает data.ai
Сегодня Sensor Tower объявила о приобретении компании data.ai
, ранее известной как App Annie, специализирующейся на мобильном маркетинге.
1. Пишут, что "слияние data.ai
и Sensor Tower повышает качество, точность и охват данных — по демографическим и географическим группам потребителей — при одновременном обеспечении конфиденциальности данных и соблюдении местных законов об их защите".
2. Сумма сделки неизвестна.
3. Более удивительно, что data.ai
привлекла в три раза больше финансирования, чем Sensor Tower. data.ai
привлекла более $157 млн, в то время как Sensor Tower всего $46 млн. Кроме того в сентябре 2023 года компания Sensor Tower сократила около 40 из 270 с лишним сотрудников, включая руководителей на должностях CMO и финансового директора.
И что: в общем, немного странная покупка (если кто понимает - объясните :)). В теории совмещение данных позволит улучшить мобильный маркетинг, но как оно там будет - посмотрим.
Android
• Routine Tracker: календарь-планировщик для Android
• Собираем грабли при профилировании Android-приложений
• Google I/O 2024 пройдет 14 мая
• Appteka: альтернативный магазин приложений для Android
• Собеседование по Kotlin
• Ultron — фреймворк для тестирования Android UI и Compose
• Разработка под Android в 2024 году
• Animations with Lookahead in Jetpack Compose
• Adding Ktlint to your Android project
• Optimize App Performance By Mastering Stability in Jetpack Compose
• The Ktor Roadmap for 2024
• Customize Clickables and Ripples
• Stressing the JVM GC on Android
#android
Привет, на связи Podlodka Teamlead Crew — регулярная онлайн-конференция для тимлидов!
Помните поговорку про семь раз отмерь? В IT для этого нужна не линейка, а метрики.
Им и посвящён новый сезон. Мы не случайно отважились на тему, которая разжигает много споров. Не так важно, где вы — в лагере сторонников или ярых противников, приходите — будет горячо! Мы пригласили экспертов из известных компаний, чтобы похоливарить на славу и попрактиковаться читать и использовать метрики в работе.
Вместе с топовыми спикерами обсудим спорные вопросы:
❓ Существуют ли базовые метрики для тимлида? Дмитрий Симушев из Авито поделится своим набором и научит им пользоваться.
❓ Как составить план внедрения и масштабирования метрик? Побрейнштормим и поймём, что нужно учесть, если раньше метрик в проекте не было. Определим, какие сложности ждут при раскатке опыта на другие команды.
❓ Как выявить и обезвредить проблемные метрики? Наталья Петровская из Customertimes проведёт воркшоп, на реальных примерах продемонстрирует, как обнаруживать сложности и грамотно от них избавляться.
❓ Как анализировать метрики Cycle Time, Feature Time и Lead Time. Никита Дубко из «Яндекс» расскажет и покажет, как использовать графики и выстраивать процессы работы с ними.
🎰 Бонус: дебаты с Филиппом Дельгядо и Павлом Филоновым. Метрики переоценены или без них невозможно работать? Эксперты разойдутся в противоположные стороны и докажут вам и то, и другое. Выводы сделаете сами 🙂
Стартуем 1 апреля. Билеты уже на сайте: https://podlodka.io/tlcrew
Ранним пташкам — скидки!Реклама. ИП Толстая Елена Петровна ИНН:507503278104, erid:2SDnjcAdMEp
Разработка, управляемая рутиной
Подборка всех материалов за прошлую неделю - моменты неотзывчивости и автоматизация рутины, правила линтера и легендарный мобильный GPU, как и где практиковаться начинающему мобильному разработчику, исследование приложений с подпиской 2024 и многое другое. Заходите!
Видео и подкасты за неделю:
• (iOS Ru)
Моменты неотзывчивости iOS-приложений: как найти и исправить
• (iOS Ru)
Swift-уроки: cоздание горизонтального меню с индикатором
• (iOS En)
From Slow to Fast: Profiling SwiftUI Applications for Peak Performance
• (iOS En)
SwiftUI Performance Optimisation: How to manage Data Flow and UI Updates in your iOS and macOS apps
• (iOS En)
MapKit with SwiftUI - Regions, Markers and Annotations and CameraPosition
• (iOS En)
MapKit with SwiftUI - Map Destination Persistence and MockData
• (iOS En)
How to get started with Swift Macros
• (iOS En)
Paginating SwiftData
• (And Ru)
Собеседование по Kotlin (все собеседования)
• (And Ru)
Ultron — фреймворк для тестирования Android UI и Compose
• (And Ru)
Собираем грабли при профилировании Android-приложений
• (And En)
Now in Android: 100 - Android 15 DP 1, Stable Studio Iguana, Cloud Photo Picker, and more
• (And En)
What’s new in Android Studio Iguana
• (And En)
Google for Games Developer Summit 2024
• (And En)
How to Create a Document Scanner App with MLKit
• (And En)
If You Think THIS Is a Best Practice, You're WRONG in 99% of the Cases
• (And En)
The Missing Library of the Compose Multiverse
• (And En)
Making Data Visualizations More Accessible
• (And En)
Imperative, declarative, object oriented, functional: four of a Kotlin kind
• (Crs Ru)
Коллекции во Flutter
• (Dev Ru)
Как принимать решения, строить команды и выбирать инструменты разработки — Павел Щедухин (Ozon Tech)
• (Dev Ru)
Публичное собеседование по System Design
• (Dev Ru)
Мобильная инфраструктура. Взгляд изнутри
• (Dev Ru)
BDUI – удовольствие или боль?
• (Dev Ru)
BDUI на 100%: управляем шиммерами с бэкенда
• (Dev En)
Back End Developer Roadmap 2024
• (Anl Ru)
Аналитика нового продукта «под ключ»
Что вы интересного посмотрели/послушали про разработку на этой неделе? 🌐 @AppFiles
У Apple вышел Embedded Swift для Playdate. Это такая портативная игровая консоль с ручкой (Если что, это не эвфемизм - у нее правда есть ручка, которую можно крутить). Работает она на Cortex M7 с 1-битным дисплеем с разрешением 400х240. Вообще игры для нее пишут на C и Lua- первый для скорости, второй для быстроты. Но вот встраиваемый Swift сочетает высокоуровневую эргономику с низкоуровневой производительностью, а также обеспечивая гарантии безопасности памяти. Так что а) если вы ищите интересный пет-проект, то вот прямо вообще кайф б) может Swift наконец и на Android заработает? ☺️
Разработка
• Swift Playdate Examples: примеры разработки игр для Playdate на Swift
• Вопросы с собеседований: Что такое качественный код
• Что такое состояние гонки (race condition)
• Как искать отличных Senior-инженеров
• Stashpad запускает блокнот для разработчиков с совместной работой
• В 2023 году Google выплатил $10 млн за поиск уязвимостей
• Первый легендарный мобильный GPU: каким был PowerVR MBX Lite? Пишем игру-демку про «жигули» с нуля
• Как и где практиковаться начинающему мобильному разработчику
• Winning a hackathon, losing my sanity
• Why software projects fail
Маркетинг
• Вы можете сделать пейвол в алерте. Но, вероятно, не стоит.
• Как делать успешные мобильные приложения. Разбираем пример торговой сети в Казахстане
• Abysmal revenue stats of 30K mobile apps show why devs keep pushing for subs
Кроссплатформа
• Интеграция нативных SDK во Flutter-приложение
• Leveraging Key-Value Observing in Kotlin Multiplatform for iOS
• Slint v1.5 - a modern, declarative GUI toolkit - released with Android support
• keamansaryyev/lan-file-sharing-app-using-only-dart-and-flutter-92529a1e6df0">I made LAN file sharing app using only Dart and Flutter
iOS
• Swift Translate: автоматический перевод String Catalog
• Understanding visionOS
• Using @_silgen_name to call private Swift code and improve build times
• Tips and Considerations for Using Lazy Containers in SwiftUI
• guycohendev/local-spm-mastering-modularization-with-swift-package-manager-xcode-15-e37b14c36199">Local SPM — Mastering Modularization with Swift Package Manager
#ios
Discord открывает свою платформу для разработчиков. С 18 марта все разработчики Discord получат доступ к новому Embedded App SDK, который позволит им создавать специальные встроенные приложения. В приложениях будут подписки и одноразовые платежи и если вам кажется, что это все фигня - Discord для детей и вообще несерьезно - то подумайте о каком-нибудь Snapchat, где линзы зарабатывают миллионы, или, прости Господи, Roblox, который выплатил разработчикам под миллиард.
Разработка
• Discord открывает SDK для разработки встроенных игр и приложений
• Microsoft открывает бесплатный доступ к GPT-4 Turbo в Copilot
• How to find great senior engineers
Маркетинг
• Приложения с подпиской 2024 — отчет RevenueCat
• Google Play анонсирует новые функции для игр
• Как персонализация на основе ИИ выведет продвижение мобильных приложений на новый уровень
• Turning organic success into long-term revenue
Кроссплатформа
• Как быстро получать данные из ОС Аврора через интерфейс D-Bus во Flutter-приложении
• harpreetkaurbains/how-to-manage-keystore-paths-in-flutter-android-651e66a8f00c">How to manage Keystore Paths in Flutter (Android)
• Goodbye PWA, Hello PWA — Apple And Progressive Web Apps
iOS
• Разработка, управляемая тестами (TDD), для исправления ошибок
• jpmtech/using-apples-openapi-generator-to-make-and-mock-network-calls-in-swiftui-0644fd3993b8">Using Apples OpenAPI Generator to Make and Mock Network Calls in SwiftUI
• ragnorak-dev/navigation-between-modules-in-ios-3cd4f349a3f4">Navigation between modules in iOS
• Do you know what view.layoutIfNeeded() actually does?
• From Slow to Fast: Profiling SwiftUI Applications for Peak Performance - SwiftUI Testing Tutorial
#ios
Приложения с подпиской 2024 — отчет RevenueCat
У RevenueCat вышло ключевое исследование мобильных подписок - с цифрами, бенчмарками, мнениями и всем необходимым. Вот некоторые цифры.
1. В среднем 1.7 % скачивающих превращается в платящих пользователей в первые 30 дней, что немного больше, чем в прошлом году. Разница между нижним квартилем (.6%) и верхним квартилем (4.2 %) по-прежнему поразительна.
2. Большинство пользователей начинает триал в течение 24 часов после загрузки приложения, при этом по количеству немедленных стартов лидируют Утилиты (86.0%) и Бизнес (85.1%).
3. В этом году коэффициент конверсии из пробной версии снизился до 37.3% (по сравнению с 40.5% в прошлом году), что намекает на изменения в поведении пользователей.
4. За последний год как 14-дневный, так и 60-дневный Realized Lifetime Value (RLTV) значительно вырос, причем смешанный показатель D14 RLTV по всем магазинам вырос с $0.06 до $0.08, а D60 - с $0.08 до $0.1. Североамериканский 14-дневный RLTV в 4 раза превышает среднемировой показатель - $0.35 по сравнению с $0.08.
5. В среднем только 17% приложений достигают ежемесячного дохода в $1 тыс, но дальше уже проще - из них 59% дальше достигают $2.5 тыс. и уже 60% из них достигают $5 тысяч.
Android
• Прекратите спорить в Code Review — начните внедрять правила линтера
• Чистка Android-проекта для уменьшения размера APK, ускорения сборки и улучшения опыта разработки
• Кот в мешке: мастерство обработки ошибок внешних ключей SQLite
• State of Dependency Management in Android Studio
• Hilt, ViewModels & Assisted Injection
• A Weekend AI Project: Running LLaMA and Gemma AI Models on the Android Phone
• Monetizing Marvels: A Developer’s Guide to In-App Purchases on Android
#android
iOS
• Интерактивные виджет-подборки в Иви (iOS)
• Getting Started with Structured Concurrency in Swift
• Optimizing UI Testing Efficiency with Page Object Model
• Our journey with Swift thus far - some notes and reflections
• skvalibabu/swiftui-container-views-hierarchy-3989a85e34e8">SwiftUI-Container View’s hierarchy
#ios
Яндекс открыл набор в бесплатную летнюю школу для мобильных разработчиков
В Школе мобильной разработки студентов обучат созданию мобильных приложений с акцентом на пользовательский опыт. Курс рассчитан на начинающих и разработчиков с небольшим опытом, готовых углубить знания в Android, iOS или Flutter.
Обучение длится 3 месяца и состоит из онлайн-этапа с лекциями и практикой, а также очного этапа, где ученикам предстоит реализовать реальный проект в команде. Лучшие студенты пройдут очный этап в новом формате пятинедельной оплачиваемой практики бок о бок с одной из Команд Яндекса.
Для поступления необходимо пройти отбор: тест по выбранной платформе, контест по алгоритмам и техническое интервью. Обучение пройдет с 11 июня по 31 августа в Москве, Санкт-Петербурге и Екатеринбурге. Компания оплатит проезд и проживание иногородним ученикам.
Больше половины выпускников становятся стажерами и штатными сотрудниками Яндекса. Изучайте материалы для подготовки и отправляйте заявку — регистрация и рассылка тестовых уже начались.
Обозрел топ самых быстрорастущих приложений (по загрузкам и деньгам) в России. На первом месте приложение для понимания животных — PetTalk. Аналогичные приложения существовали еще года четыре назад, так что это новое их пришествие. На волне развития ИИ проснулись новые шарлатаны приложения стали лучше понимать животных :) А в топе по деньгам интересным приложение этого месяца стало "I Am Sober - Я трезв", приложение для борьбы с зависимостями. Как пишут в описании, это больше, чем просто бесплатное приложение-счетчик трезвости. Помимо отслеживания трезвых дней, оно помогает вам выработать новые привычки и обеспечивает постоянную мотивацию, соединяя вас с широкой сетью людей, стремящихся к одной цели - оставаться трезвыми день за днем. По данным AppMagic, приложение за все время заработало более $5 млн, из них больше половины ($2.7 млн) в США. В России это всего $29 572, однако в последние месяцы доход I Am Sober в нашей стране заметно растет. Все таки есть желание протрезветь, есть! 🍷
Разработка
• JetBrains запускает TeamCity Pipelines для упрощения работы с CI/CD
• Перехват трафика мобильных приложений
• The power of consistency in side projects
• How Tinder Scaled to 1.6 Billion Swipes per Day
• Empirically supported code review best practices
Маркетинг
• Топ быстрорастущих приложений в России в марте
• Sensor Tower покупает data.ai
Кроссплатформа
• How to use KMP library inside the Flutter plugin?
• The power of open-source. Making Maestro work better with Flutter
iOS
• Apple может лицензировать ИИ-модели Google или OpenAI
• Поваренная книга SwiftUI: тексты и шрифты — часть 1
• Swiftfin: видеоплеер Jellyfin для iOS и tvOS
• Быстрый старт, или Как ускорить запуск iOS-приложений
• Customizing a Chart in Swift Charts
• How to support dark mode in SwiftUI programmatically
• How SwiftUI & Concurrency Could Forward Fix Their Issues
• How to migrate an iOS app to Bazel
• XCUITest + SauceLabs + GitHub Actions = Incredible Mobile iOS CI/CD Automation
• Async Unit Testing: The Comprehensive Guide
• Mockirinha - a approach to write unit test for API requests
#ios
Нашел интересную статью о главной ошибке в карьере разработчика - зря потраченном времени. Правда, под конец оказалось, что она 2020 года и пассаж “несмотря на COVID сейчас все равно куча вакансий” смотрится смешно, но все же здравое зерно в этом тезисе есть. А поделитесь в комментариях вашими главными ошибками в карьере?
Разработка
• Как растратить свою карьеру — один комфортный год за другим
• xAI Илона Маска открыл код ИИ-модели Grok
• Лучшие механические клавиатуры 2024
• Новый метод обучения ИИ от Apple сохраняет конфиденциальность
• Visual Studio App Center закрывается
• Мобильная инфраструктура. Взгляд изнутри
• BDUI – удовольствие или боль?
• BDUI на 100%: управляем шиммерами с бэкенда
• Как принимать решения, строить команды и выбирать инструменты разработки — Павел Щедухин (Ozon Tech)
• Публичное собеседование по System Design
• Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам
• manuelvicnt/interviewing-at-staff-level-7a31836285e6">Interviewing at Staff+ level
• How Figma’s databases team lived to tell the scale
• Vision Pro is an over-engineered "devkit"
• Make CI/CD Part of Your Development Flow With TeamCity Pipelines
Маркетинг
• Приложение Apple Sports не смогло опередить конкурентов
• Аналитика нового продукта «под ключ»
Кроссплатформа
• Коллекции во Flutter
• Тестирование пользовательского интерфейса во Flutter
• Fixing FVM with an open source mindset
• ahmadexe/flutter-ml-kit-1-0-ai-powered-apps-5313f1da62ca">Flutter & ML Kit 1.0: AI powered Apps
iOS
• Моменты неотзывчивости iOS-приложений: как найти и исправить
• Swift-уроки: cоздание горизонтального меню с индикатором
• Swift Tooling: Windows Edition
• chockenberry/112095424613859371">If you use UserDefaults in an app
• SwiftUI Tasks Blocking the MainActor
• Hacking Disneyland's App to fix a Freeze
• Store a codable model into AppStorage
• Oh Sh*t, My App is Successful and I Didn’t Think About Accessibility
#ios
Приложение Apple Sports не смогло опередить конкурентов
В феврале Apple выпустила специальное приложение для наблюдения за спортивными результатами и интересно понаблюдать за его успехом в App Store.
1. Особого успеха нет.
2. Apple Sports вышло 22 февраля, и этот день стал самым высоким по количеству загрузок — 118 тысяч. По сравнению со среднесуточным показателем для аналогичных приложений это более чем на 1311% выше. Но это продолжалось недолго. В пятницу количество загрузок упало до 92 тысяч, в субботу — до 57 тысяч, а к следующему понедельнику составило всего 11 тысяч, что составляет примерно 1/10 часть от начального показателя. С момента запуска Apple Sports загрузили в общей сложности 413 тысяч человек. Большая часть этих загрузок пришлась на первые четыре дня после релиза.
3. Сейчас количество загрузок Apple Sports упало ниже, чем у ведущих конкурентов, которые имеют от 4 до 10 тысяч загрузок в сутки.
И что: почему бренд, которому принадлежит App Store, не выигрывает? Все дело в заметности. В поиске Apple Sports едва заметен. Fotmob, приложение для футбольных результатов и один из главных конкурентов в этой группе, занимает органические позиции по более чем 2,300 ключевым словам и появляется на первой строчке почти для всех комбинаций футбола, футбольных матчей и результатов. Apple Sports не занимает ни одного места. Возможно, Apple по каким-то причинам сдерживает себя (хотя аналогичная ситуация была и у Apple Music Classical — бурный старт и резкое падение сразу после). Но в целом на данный момент оптимизация App Store — это не просто приятная мелочь, а скорее необходимость.
Где лучше хранить игру: на собственном сервере или в облаке?
Специалисты облачной платформы Yandex Cloud поговорили с несколькими GameDev- и анимационными студиями и узнали, для чего эти компании используют облачные сервисы при разработке продукта, сборе игровой аналитики, а также продвижении и организации киберспортивных турниров.
Читайте об этом в блоге Yandex Cloud, в первой и второй части статьи. Будет особенно полезно тем, кто только начинает изучать возможности работы с облачными платформами.
Google I/O пройдет 14 мая
В прошлом I/O длилась три дня, но последние два года это мероприятие длится только один день.
1. Будет "небольшая живая аудитория", а для всех остальных будет организована прямая трансляция.
2. I/O 2024 начнется с выступления Сундара Пичаи в Shoreline Amphitheater в Маунтин-Вью. За ним последует основной доклад для разработчиков и технические сессии.
3. Для тех, кто будет присутствовать лично, будет организован второй день live кодинга 15 мая.
4. Google сообщит программу и список сессий ближе к началу конференции. Онлайн-регистрация уже открыта и является бесплатной.
Android
• How to Drag and Drop using Modifier.dragAndDropSource/Target - Jetpack Compose
• Unit Testing Tutorial for Android: Getting Started
• Seven recipes to understand flows and asynchrony in Kotlin
#android
Весенние выпуски спецпроекта «Маркетологи в мобайле» от коллег из Rocket10 и Bidease!
Героини проекта рассказали про эффективное планирование, поделились лайфхаками и привычками для соблюдения гармоничного баланса в жизни и на работе и посоветовали, как можно начать карьеру в digital-маркетинге.
• Ольга Бигбашева из Rendez-Vous
• Ярослава Адаменко из М.Видео и Эльдорадо
• Василина Кузенко из «ИЛЬ ДЕ БОТЭ»
• Мария Миткевич из Мегамаркета
• Ася Загирова из Premier
• Арина Еремян из Пятёрочки.Доставки
Вперёд за инсайтами!
Android
• Kotest: мощный, элегантный и гибкий фреймворк для тестирования Kotlin
• ViewModel. События как состояние — это антипаттерн
• Fastlane для Android разработчиков
• Автоматизируем рутину в Android разработке: плагин для создания шаблонного кода на примере создания -api -impl модулей
• ANR in Android & its types
• A comprehensive guide to understand Kotlin Flows
• Going edge-to-edge with Compose without losing it
• The Night’s Watch: Safeguarding store operations
• Trim, Transcode, Concatenate: Your Guide to Media3 Editing Libraries
#android
Полезных каналов много не бывает. Поэтому, предлагаю обратить внимание и подписаться на один из таких – iOS / Swift Tips.
Там найдете различные туториалы, best practices, материалы для подготовки к собесам и другие полезности 💪
Вот несколько топовых материалов
👉 Swift iOS interview questions and answers
👉 Многопоточность в iOS-разработке
👉 Swift Concurrency Recipes
👉 Awesome iOS Dev Tools
Подписывайтесь: @swift_tips
С мест докладывают, что Apple тестирует использование ИИ в App Store Search Ads. Что там тестировать пока не особо понятно, потому что размещений и форматов там кот наплакал (впрочем, наверняка можно достраивать аудиторные и качественные показатели, что даже более интересно), но очевидно, что Apple опоздала в ИИ и теперь пытается догнать всеми доступными способами. Крайне интересно что все таки будет в iOS 18, которую обещают сделать “амбициозной и неотразимой”.
Разработка
• Как Google испортил свою открытую культуру и скомпрометировал свой продукт
• Using my new Raspberry Pi to run an existing GitHub Action
• How It All Goes Live: An Overview of Discord’s Streaming Technology
• How Khan Academy Scaled to 30 Million Users
Маркетинг
• Apple тестирует ИИ в своей рекламной платформе
Кроссплатформа
• Что нового во Flutter 3.19
• Работа с Data Assets во Flutter
• Building a Flutter SDK Part 2: A Deep Dive Into pub.dev
• a1rwulf/flutter-offline-playback-for-video-player-e6113c13ed34">Flutter: Offline playback for video_player
iOS
• Concurrency Recipes: проблемы Swift Concurrency
• Apple разрешает распространение приложений с сайтов
• Rendering System Images in SwiftUI
• Test-Driven Development (TDD) for bug fixes in Swift
• Exploring SwiftUI: Creating a Scope View using DragGesture
• Global actors in Swift
#ios