Темы



Мобильная разработка за неделю #568 (9 — 15 декабря)

В этом выпуске Swift и SwiftUI в iOS 18 и собственная система мониторинга фильтра воды, очередные похороны Flutter и суровые истины о программировании с помощью ИИ, дейтинг в России 2024, открытые русскоязычные опенсорс-модели и многое другое. Подключайтесь!

gjt_j4kgm47xvcxyyh6eco0ye5w.png

Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А для души есть Хорошие Новости — просто добрые события со всего света.

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Использование Apple Swift и SwiftUI в iOS 18
• Улучшаем предварительные просмотры Xcode с помощью покрытия модульными тестами
• Как собрать и внедрить высоконагруженный модуль. Опыт Звука
• Business Process Notation как подход к организации кода в проекте по разработке iOS-приложения
• Вышла iOS 18.2 со всеми функциями Apple Intelligence
• Лучшие приложения и игры для iPhone, iPad и Mac — Победители App Store Awards 2024
• Первая в мире альтернатива Apple Pay для iPhone запущена в Норвегии
• 377ae0333d0f4b7b97307c9eea5ee21a.gifConcurrency Step-by-Step: Reading from Storage
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDiscovering iOS memory leaks III: Automating with Github Action
• 377ae0333d0f4b7b97307c9eea5ee21a.gifSwiftUI: Caching in Layout Protocol
• 377ae0333d0f4b7b97307c9eea5ee21a.gifUnderstanding opaque types in Swif
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMigrating XCTest to Swift Testing
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCompletion Handlers vs. Tasks in Swift
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMastering Forms in SwiftUI: Selecting Information
• 377ae0333d0f4b7b97307c9eea5ee21a.gifiOS: Native JSON Parser
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBlooming fireworks with Metal and SwiftUI
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBringing Image Playground to your app
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMocking a network connection in your Swift Tests
• 377ae0333d0f4b7b97307c9eea5ee21a.gifIs it me or is there a hiring freeze?
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngВсе видео Swift Connection 2024
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngСамые популярные видео WWDC24
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngPredictive code completion on Xcode 16.1: Does it live up to the hype?
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngCredit Card Input Form — SwiftUI
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngTeach App Interactions to Users — SwiftUI
• 96716bcb926741e79bb1c284a88083ca.pngFlipNumberView — перекидной дисплей или представление
• 96716bcb926741e79bb1c284a88083ca.pngXcbeautify — украшатель xcodebuild

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

• Зачем покупать, когда можно… или как я собирал систему мониторинга фильтра воды и что из этого вышло
• Распознавание текста в реальном времени с Jetpack Compose
• Shared Element Transition в Jetpack Compose
• AndroidAPS в часах. Продолжение
• Полный разбор Kotlin Delegated Property
• Google анонсировал Android XR, новую ОС для гарнитур и умных очков
• Google Play прекращает все финансовые отношения с российскими разработчиками
• 377ae0333d0f4b7b97307c9eea5ee21a.gifFeature Flags and Modular Development: Ensuring Flexibility in Large Android Projects
• 377ae0333d0f4b7b97307c9eea5ee21a.gifSpeeding Up UI Tests 4x While Reducing Costs
• 377ae0333d0f4b7b97307c9eea5ee21a.gifTesting Different Navigation Options with Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifUsing BlockHound to track blocking calls in non-blocking dispatchers
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow to observe Internet in Android? A new way using Flow
• 377ae0333d0f4b7b97307c9eea5ee21a.gif9 Tips to improve your Jetpack Compose Previews
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCustomisation of Shared Element Transition of Jetpack Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifImplementing Live Camera OCR with Jetpack Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifUI State, Callbacks and Equality Pitfalls
• 377ae0333d0f4b7b97307c9eea5ee21a.gif5 steps to implement MVI architecture with Jetpack Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifScreenshot testing in Jetpack Compose
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow easy is drag-and-drop in Compose?
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow we enhanced our Android App«s startup time by over 50%
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid System Design Interview- Google/Uber
• 377ae0333d0f4b7b97307c9eea5ee21a.gifLet«s build an Android camera app! CameraX + Compose
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngA vision for Android XR
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngFull Blueprint For Compose State Management — Free Live Workshop
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngTop 3 Custom Loading Animations In Jetpack Compose
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngExpanding Jewel: Markdown-to-Compose Magic
• 96716bcb926741e79bb1c284a88083ca.pngVisual Code Space — редактор кода для Android
• 96716bcb926741e79bb1c284a88083ca.pngPassage — аутентификация для Kotlin/Compose Multiplatform
• 96716bcb926741e79bb1c284a88083ca.pngJetpack Compose Animations — примеры анимация на Compose

malx8hbgozt6lee8rmxmg96_s6a.pngКроссплатформа

• Flutter форкнули и похоронили. Эксперты о Flock, поводах для беспокойства и будущем фреймворка
• Переходите на Flutter 3.27, тут быстрее и плавнее (и Dart тоже обновите)
• Как подружить Flutter и Huawei — настраиваем Flutter. Часть 2
• Редко, но метко! Пять малоизвестных виджетов
• Отбираем хлеб у нативных разработчиков: миграция с Kotlin/Swift на RN
• BA x Flutter: взаимодействие отделов, запуск кроссплатформы и почему хорошее ТЗ — бич креативности
• 377ae0333d0f4b7b97307c9eea5ee21a.gifAwesome Open Source Flutter Apps
• 377ae0333d0f4b7b97307c9eea5ee21a.gifMulti window support with Flutter desktop
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow to add platform-specific icons to a Compose Multiplatform project
• 377ae0333d0f4b7b97307c9eea5ee21a.gifDependency Injection with Injectable: Boosting Your App«s Performance & Scalability
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow to implement Secure Storage in Flutter?
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWhy people say Flutter app do not feel native
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCrossplatform architecture for an app«s core. Simple. Linear. Scalable
• 377ae0333d0f4b7b97307c9eea5ee21a.gifThe Best Flutter App Architecture Exists
• 377ae0333d0f4b7b97307c9eea5ee21a.gifFar From Random: Three Mistakes From Dart/Flutter«s Weak PRNG
• 377ae0333d0f4b7b97307c9eea5ee21a.gifWhat«s new in Flutter 3.27
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngGoing from Swift to Kotlin with Skip

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

• Проблема 70%: суровые истины о программировании с помощью ИИ
• Особенности построения графиков Qt в «Авроре»
• Отчет Mac Developer Survey 2024
• Зачем приложению с многомиллионной аудиторией запускать бета-тестирование?
• Карьера и лидерство в IT
• Вся правда о грейдах, ревью и промоушенах
• Искусство создания антихрупкого API
• Путь к профессии BА: для кого подходит и как на него выйти
• 377ae0333d0f4b7b97307c9eea5ee21a.gifGrifters, believers, grinders, and coasters
• 377ae0333d0f4b7b97307c9eea5ee21a.gifBuilding a User Signals Platform at Airbnb
• 377ae0333d0f4b7b97307c9eea5ee21a.gifHow we reduced our cloud spending by 20%
• 377ae0333d0f4b7b97307c9eea5ee21a.gifCode Quality in the Age of AI

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация

• Telefónica начнет предустановки Epic Games Store
• Дейтинг в России 2024
• Пользователи расстаются с приложениями для знакомств
• EzDubs стремится стать центром переводом для пользователей
• Маркетологи в мобайле: Татьяна Панюшева (Яндекс Карты)
• Duolingo помогает поклонникам «Игры в кальмара» выучить корейский язык
• В YouTube Playables появился мультиплеер
• Как Skyeng продвигает мобильное приложение
• Самые скачиваемые и зарабатывающие приложения в России в ноябре 2024

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

• T-Lite и T-Pro — открытые русскоязычные опенсорс-модели на 7 и на 32 млрд параметров
• Смарт-функции в Алисе: как LLM помогает понять, чего хочет пользователь
• Перепрограммируем заводской термостат Zigbee для теплого пола от компании Tuya
• Магия простоты: как мы улучшили отображение общественного транспорта на карте
• Туториал «RAG с нуля»
• Llama стала еще более эффективной
• 377ae0333d0f4b7b97307c9eea5ee21a.gifI can now run a GPT-4 class model on my laptop
• gtu1iaz0-ajkbqpeq8n6dmql4zq.pngGemini 2.0 for developers

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

© Habrahabr.ru