В новом дайджесте разбираем основы iOS-разработки в Revolut и оцениваем финалистов Apple Design Award 2024, обновляем адаптивные макеты на примерах с I/O и продолжаем ставить на Flutter, тираним пользовательские интерфейсы, катим MobAIle-разработку, делаем кондиционер умным и многое другое. Подключайтесь!

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



iOS

• Как сделать мобильные приложения, которые приносят $3,000 в день
• Основы iOS-разработки в Revolut
• Разбираемся с типографикой в visionOS
• Стэнфордский курс CS193P “Разработка iOS приложений в SwiftUI” Весна 2023: русскоязычный конспект с адаптацией к iOS 17
• SwiftUI уроки (часть 13)
• Pедактор цен для iOS подписок
• Поваренная книга SwiftUI: изображения и иконки — Часть 2
• Как писать игры на Swift для Playdate
• Мок-собеседование iOS-разработчика. SwiftUI (+ все собеседования)
• Макросы Swift: проще, чище, быстрее
• Мы решили все проблемы работы в модульном проекте. Хотите так же?
• Siri получит обширные знания для запуска отдельных функций приложений
• Финалисты Apple Design Award 2024
•  How Do You Know Whether or Not SwiftUI Previews and Preview Content Are Excluded From App Store Builds?
•  Tricking iOS Into Animating App Icons
•  This is what peak UIKit looks like
•  Your Complete Guide to Push Notifications in SwiftUI
•  How to build segmented circular progress views in SwiftUI with Swift Charts
•  Apple rich text fundamentals
•  How to create custom @Environment values in SwiftUI
•  Slowly migrating from Objective-C to Swift
•  @preconcurrency usage in Swift explained
•  Save Data in Your Swift App with PropertyListEncoder
•  Selective Unit Testing on iOS: Achieve %80 Faster Feedback
•  Observation Framework for SwiftUI
•  A Guide to High-Performance Networking
•  Flip Clock Text Effect — SwiftUI
•  Expandable Search Bar using SwiftUI
•  Hacker Text Effect using SwiftUI
•  Spotlight your app with App Shortcuts
•  Update Live Activities with push notifications
•  Discover Calendar and EventKit
•  Create a great ShazamKit experience
•  How to cache the result of API calls (using NSCache)
•  Sword — инъекция зависимостей во время компиляции
•  DeskPad — виртуальный монитор для шаринга экрана

Android

• Обновления в адаптивных макетах Compose с I/O
• Разработка новостного приложения. Часть 7. Загрузка в Google Play
• Разработка новостного приложения. Часть 6. Что я сделал не так
• Оптимизация Compose: проблемы, опыт, тактика, стратегия
•  Google Bets on Kotlin Multiplatform: Koin Leads for Android & KMP
•  Injecting Composables with Dagger without losing it
•  Caching Strategies in Android
•  KotlinConf 2024 announcements
•  Change App Theme — Personalizing Accessibility
•  A Developer’s Roadmap to Predictive Back (Views)
•  App Architecture: JUnit Tests
•  Compose UI Test and Preview Hacks!
•  Kotlin Mobile Monorepo
•  Annoying problems with Android projects
•  The on-device Vector Database for Android and Java
•  Securing the Future: Navigating the Deprecation of Encrypted Shared Preferences
•  My Story of Getting Scammed and Losing My Google Play Console Account
•  7 Android Studio Usage Tips
•  Crafting Custom 3D Dialog Animation in Jetpack Compose
•  Now in Android: 105 — I/O ‘24, Android 15, KMP, Compose, AndroidX, and more
•  List + Detail Screens Just Got SO MUCH Easier — NavigableListDetailPaneScaffold
•  Building an Android Video Calling App With the Stream SDK
•  Mastering Feature Flags: Best Practices with Firebase Remote Config
•  The Essence of Coroutines
•  Blueprint — размеры Composable
•  Compose Guard — плагин Gradle для обнаружения регрессий в Jetpack Compose

Кроссплатформа

• Почему я продолжаю ставить на Flutter
• Firebase Analytics в KMP: Android, iOS, Desktop (MacOS, Windows)
• 5 лет с Flutter: эволюция кроссплатформенности
• Flutter-диета. Как сбросить вес, выпиливая модули
•  Migrating UI-oriented Android library to Compose Multiplatform
•  The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform
•  How BigPay Increased Flutter Developer Velocity
•  These New Flutter/Dart Features Make My Life Easier
•  From SQLDelight to Room in Kotlin Multiplatform Projects
•  Building multiplatform games with Flutter
•  Bringing Together: Jetpack Compose and Native iOS Components
•  Can a backend engineer learn Flutter with AI?

Разработка

• Непроизвольная тирания пользовательских интерфейсов
• Куда катится MobAIle-разработка
• Как понять, что пора выпускать новое приложение вместо старого? Разбираем со стороны бизнеса
• Редизайн сервиса «Обмен валюты» в мобильном приложении ОТП Банка
• Профиль защиты ЦБ РФ и мобильные приложения: разбираемся, как соответствовать
Mobius 2024 offline. День первый
• Прокачиваем Code Review: как выжать максимум?
• Пишем нативно под Аврора ОС как под iOS: Clean-архитектура, Coordinator и UDF
• Маргарита Лукина про Frontend, высшее образование, софт-скиллы и женщин в IT
• Observability, Profiling и Benchmarking как основа High Performance
• Три закона сложности программного обеспечения (или почему инженеры-программисты всегда грустные)
• В каком возрасте программисты создают новые языки?
• ChatGPT на вопросы по программированию дает 52% неправильных ответов
• Codestral — первая генеративная модель Mistral для кода
•  Writing a Unix clone in about a month
•  MobileLlama3: Run Llama3 locally on mobile
•  Big Data is Dead
•  Indexing all of Wikipedia, on a laptop
•  AI-Friendly Programming Languages: the Kotlin Story
•  Don’t DRY Your Code Prematurely
•  Linear Algebra Course – Mathematics for Machine Learning and Generative AI
•  Openpanel — альтернатива Mixpanel с открытым исходным кодом

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

• Как оценить валидность A/B тестов. SRM и другие критерии
• Приложение Autobiographer использует ИИ, чтобы помочь вам рассказать историю своей жизни
• Supercell выпустила свою шестую игру — Squad Busters
• Мини-игры Playables стали доступны всем пользователям YouTube
• Алгоритмы, модели и пицца: как с помощью programmatic-рекламы эффективно привлекать и возвращать пользователей. Кейс «Додо Пиццы» и Bidease
•  Why Duolingo’s Engagement Strategy Won’t Work For Every App — Asya Paloni, Welltory

AI, Устройства, IoT

• Делаем кондиционер умным с помощью Elixir и Nerves
• Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT
• Стеллажная система на 480 ярусов: как автоматизировать выращивание растений и не сойти с ума
• Запускаем .NET на RISC-V и разрабатываем IoT приложение для Sipeed Lichee RV
• Kincony KC868-A256: а ты готов к настоящему хоккею?
• Новый контроллер, облако, выключатели, DALI-шлюз и датчики присутствия от Wiren Board
• Как мы обуздали ПОТОК данных со сварочных аппаратов
• Проект хаба для “умного дома” с BLE-устройствами
• Avito Product meetup: ML-продукты
• Fitbit выпустил Ace LTE — умные часы/трекер для детей
• ИИ-репетиторы незаметно меняют подход к обучению детей

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

Комментарии (0)