В нашем новом дайджесте LLM на iOS и архитектура Android-приложений, здоровье сборки и реактивные формы, скользкий кусок мыла, 40 лет программирования, чаты с Аидом, потери денег на ИИ и многое другое!
Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• LLaMA 2, RWKV, Santacoder и другие LLM на iOS
• WidgetKit в iOS — не просто большие иконки
• Avito iOS meetup #10
• Поваренная книга SwiftUI: List View и NavigationStack
• Понимаем @discardableResult в Swift
• Опубликованы SF Symbols 5
• SwiftFormat Automation for iOS apps
• Swift Splash visionOS Sample Code
• Changes to URL string parsing in iOS 17
• Split your data easily and efficiently with .chunked()
• SwiftUI: Adaptable Stack
• Using Core Data and Swift Data side by side
• API Calls with iOS Combine
• Style your TipKit Tips
• Thread safety in Swift with actors
• Tackling Memory Limitations in iOS: A Deep Dive
• Data Flow & Data Sharing using SwiftUI
• @preconcurrency: Incremental migration to concurrency checking
• Design Patterns in Swift (Abstract Factory)
• Unit Test the Observation Framework
• Sensory feedback in SwiftUI
• SwiftUI: Multilevel MVVM
• 7 Spectacular Project-Based Tutorials for Learning Swift and SwiftUI
• Advanced Memory Management in iOS: Exploring ARC, Manual Retain-Release, and Memory Leaks
• A Day in the Life of a SwiftUI View
• SwiftUI to destroy the Publishing Industry
• Create custom Bindings in SwiftUI
• How to use TimelineView in SwiftUI
• Updating Code to iOS 17
• Nimble: метчер для Swift и Objective-C
• BigUIPaging: страницы на SwiftUI
Android
• Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
• Android 14: что появилось нового и что изменилось? Возможности новой версии мобильной ОС
• Архитектура Android. Понятно и подробно
• Kodein DI для Android. KMP и Compose
• Миграция продакшен приложения из Room в SQLDelight
• Инъекция зависимостей или локатор служб?
• Компиляция Record для Android
• Как я осваивал Jetpack Compose
• Паттерн делегирования для написания многократно используемых компонентов Compose
• Как мониторить здоровье вашей Gradle-сборки
• Как сделать приложение для мобильного стриминга на Android с помощью опенсорс-инструментов и EdgeStreaming
• Определение произвольной точки на полигоне. Jetpack Compose. Canvas. Algorithm
• Unit-тесты для галочки — как не надо делать и как исправить
• Compose Pathway #1: знакомство с фреймворком
• Оно само: используем плагины компиляции
• Compose, еще раз Compose и развитие сообщества
• Jetpack Compose on Fire: The Latest Koin 3.5 Features
• Konsist: First experience with the new linter for Kotlin
• Dependency Injection vs Service Location
• Strategies for automatically refreshing data on Android using Kotlin Flow
• Exploring the Power of Live Data in Kotlin: A Comprehensive Guide with Examples
• Delegation Pattern To Write Reusable Compose Components
• Using Android’s new Credential Manager API
• Mastering Jetpack Compose Performance With Examples
• Hacking LazyList in Android Jetpack Compose
• Shimmer & Shadow Loading Effect Animation with Jetpack Compose
• Creating Dynamic Background Blur with Jetpack Compose in Android
• Understanding Jetpack Compose Measuring: A Deep Dive
• Implementing Parallax Carousel from SwiftUI to Jetpack Compose
• Introducing Iris Mock: An easier way to mock network calls on Android
• Jetpack Compose Custom Hideable Bottom Sheet
• Kotlin asSequence: The Key to Efficient Collections
• Kotlin Illustrated — Data Classes and Destructuring
• Konsist and Conquer: Embracing the World of Dynamic Testing
• Smooth Moves: ???? Unleash the Magic of SwiftUI Animations
• How to Customize Toolbar and Navigation Bar in SwiftUI
• Harnessing The Power of Async/Await in SwiftUI: Revolutionizing Concurrency in iOS Development
• Designing for spatial computing: from iOS and iPadOS to visionOS
• Android Interview Questions for Mid to Senior-Level Developers
• Building the Flappy Musk.eteer Arcade Game with Jetpack Compose
• Navigation Stack Interactive Pop Gesture — Full Swipe Pop
• Gestures in Jetpack Compose
• AI Landmark Recognition With Tensorflow Lite and CameraX on Android
• How to Build a Video Recorder With CameraX in Android
• New Component Activity’s Edge to Edge is Amazing
• Kotlin Extensions — Many developers forget THIS!
• The Unit Testing Diet Sample App: пример Behavior-Driven разработки
• Resaca: привязка ViewModel к Composable
Кроссплатформа
• 4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter
• Что быстрее: Animated + useNativeDriver или Reanimated?
• Реактивные формы во Flutter: как делать формы с меньшими трудозатратами
• Что такое keys во Flutter?
• Arrange Buttons in a Row With ToggleButtons Flutter Widget
• Thermal Print With Flutter
• Native App Passkeys: Native implementation vs WebView Implementation
• Flutter’s Event Loop and Microtask Queue: A Comprehensive Guide
• Flutter Navigation and Routing: A Complete Guide
• Why We Never Manage State with Global Variable in Flutter
• Minimal Social App • Flutter x Firebase Tutorial
• FocusBloom: управление временем на Kotlin Multiplatform
Разработка
• Скользкий кусок мыла: контроллер из телефона
• 40 лет программирования
• Как показать номер версии на экране загру…
• 8 вещей, которые я усвоил за 6 лет карьеры разработчика
• Как тестировщику уйти из корпорации в стартап и не сойти с ума
• Как применяется и для чего нужен local first подход
• Tesla выпустила первый API для приложений сторонних разработчиков
• Podlodka #340: зачем нужны ИТ-рекрутеры
• Podlodka #339: все про кодировки текста
• Microsoft отказывается от VBScript
• Яндекс выпустил NaviKit SDK для создания собственной навигации
• Всеобъемлющий Rust — бесплатный курс
• Визуализация данных с помощью Python — бесплатный курс от IBM
• Readability: Google’s Temple to Engineering Excellence
• How LinkedIn Adopted Protocol Buffers to Reduce Latency by 60%
• Characteristics of Code Quality
• Research: Quantifying GitHub Copilot’s impact on code quality
• 2-Minute Rule to Become a Master at Coding — Atomic Habits
• What is Design-Driven Development?
• AR for everyone: How to build accessible augmented reality UX
• How Giphy Delivers 10 Billion GIFs a Day to 1 Billion Users
Аналитика, маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в сентябре 2023
• В 2023 году потребители проведут в Android-приложениях для покупок 50 млрд часов
• Character.AI добавляет групповые чаты с ИИ
• Приложение Keepler поможет улучшить навыки свиданий или отношений
• Clash of Clans и Clash Royale выходят на ПК
• Компании теряют деньги на ИИ
• Respawn — управление задачами и привычками: разбор приложения
• Microsoft обновила веб-версию магазина приложений для Windows
• The most popular Mixpanel alternatives, compared
• Top 10 Hypercasual Games in Q3 2023
• How Duolingo designs product (and why)
AI, Устройства, IoT
• Делаем HMI-панель из планшета для системы автоматизации на контроллере Wiren Board
• Разговоры с кроватью, про Яндекс Алису и умный дом Home Assistant
• Open Interpreter: выполнение локальных задач с Code Interpreter
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• LLaMA 2, RWKV, Santacoder и другие LLM на iOS
• WidgetKit в iOS — не просто большие иконки
• Avito iOS meetup #10
• Поваренная книга SwiftUI: List View и NavigationStack
• Понимаем @discardableResult в Swift
• Опубликованы SF Symbols 5
• SwiftFormat Automation for iOS apps
• Swift Splash visionOS Sample Code
• Changes to URL string parsing in iOS 17
• Split your data easily and efficiently with .chunked()
• SwiftUI: Adaptable Stack
• Using Core Data and Swift Data side by side
• API Calls with iOS Combine
• Style your TipKit Tips
• Thread safety in Swift with actors
• Tackling Memory Limitations in iOS: A Deep Dive
• Data Flow & Data Sharing using SwiftUI
• @preconcurrency: Incremental migration to concurrency checking
• Design Patterns in Swift (Abstract Factory)
• Unit Test the Observation Framework
• Sensory feedback in SwiftUI
• SwiftUI: Multilevel MVVM
• 7 Spectacular Project-Based Tutorials for Learning Swift and SwiftUI
• Advanced Memory Management in iOS: Exploring ARC, Manual Retain-Release, and Memory Leaks
• A Day in the Life of a SwiftUI View
• SwiftUI to destroy the Publishing Industry
• Create custom Bindings in SwiftUI
• How to use TimelineView in SwiftUI
• Updating Code to iOS 17
• Nimble: метчер для Swift и Objective-C
• BigUIPaging: страницы на SwiftUI
Android
• Как выступить на Mobius и внести свой вклад в Kotlin — Максим Сидоров (SberDevices)
• Android 14: что появилось нового и что изменилось? Возможности новой версии мобильной ОС
• Архитектура Android. Понятно и подробно
• Kodein DI для Android. KMP и Compose
• Миграция продакшен приложения из Room в SQLDelight
• Инъекция зависимостей или локатор служб?
• Компиляция Record для Android
• Как я осваивал Jetpack Compose
• Паттерн делегирования для написания многократно используемых компонентов Compose
• Как мониторить здоровье вашей Gradle-сборки
• Как сделать приложение для мобильного стриминга на Android с помощью опенсорс-инструментов и EdgeStreaming
• Определение произвольной точки на полигоне. Jetpack Compose. Canvas. Algorithm
• Unit-тесты для галочки — как не надо делать и как исправить
• Compose Pathway #1: знакомство с фреймворком
• Оно само: используем плагины компиляции
• Compose, еще раз Compose и развитие сообщества
• Jetpack Compose on Fire: The Latest Koin 3.5 Features
• Konsist: First experience with the new linter for Kotlin
• Dependency Injection vs Service Location
• Strategies for automatically refreshing data on Android using Kotlin Flow
• Exploring the Power of Live Data in Kotlin: A Comprehensive Guide with Examples
• Delegation Pattern To Write Reusable Compose Components
• Using Android’s new Credential Manager API
• Mastering Jetpack Compose Performance With Examples
• Hacking LazyList in Android Jetpack Compose
• Shimmer & Shadow Loading Effect Animation with Jetpack Compose
• Creating Dynamic Background Blur with Jetpack Compose in Android
• Understanding Jetpack Compose Measuring: A Deep Dive
• Implementing Parallax Carousel from SwiftUI to Jetpack Compose
• Introducing Iris Mock: An easier way to mock network calls on Android
• Jetpack Compose Custom Hideable Bottom Sheet
• Kotlin asSequence: The Key to Efficient Collections
• Kotlin Illustrated — Data Classes and Destructuring
• Konsist and Conquer: Embracing the World of Dynamic Testing
• Smooth Moves: ???? Unleash the Magic of SwiftUI Animations
• How to Customize Toolbar and Navigation Bar in SwiftUI
• Harnessing The Power of Async/Await in SwiftUI: Revolutionizing Concurrency in iOS Development
• Designing for spatial computing: from iOS and iPadOS to visionOS
• Android Interview Questions for Mid to Senior-Level Developers
• Building the Flappy Musk.eteer Arcade Game with Jetpack Compose
• Navigation Stack Interactive Pop Gesture — Full Swipe Pop
• Gestures in Jetpack Compose
• AI Landmark Recognition With Tensorflow Lite and CameraX on Android
• How to Build a Video Recorder With CameraX in Android
• New Component Activity’s Edge to Edge is Amazing
• Kotlin Extensions — Many developers forget THIS!
• The Unit Testing Diet Sample App: пример Behavior-Driven разработки
• Resaca: привязка ViewModel к Composable
Кроссплатформа
• 4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter
• Что быстрее: Animated + useNativeDriver или Reanimated?
• Реактивные формы во Flutter: как делать формы с меньшими трудозатратами
• Что такое keys во Flutter?
• Arrange Buttons in a Row With ToggleButtons Flutter Widget
• Thermal Print With Flutter
• Native App Passkeys: Native implementation vs WebView Implementation
• Flutter’s Event Loop and Microtask Queue: A Comprehensive Guide
• Flutter Navigation and Routing: A Complete Guide
• Why We Never Manage State with Global Variable in Flutter
• Minimal Social App • Flutter x Firebase Tutorial
• FocusBloom: управление временем на Kotlin Multiplatform
Разработка
• Скользкий кусок мыла: контроллер из телефона
• 40 лет программирования
• Как показать номер версии на экране загру…
• 8 вещей, которые я усвоил за 6 лет карьеры разработчика
• Как тестировщику уйти из корпорации в стартап и не сойти с ума
• Как применяется и для чего нужен local first подход
• Tesla выпустила первый API для приложений сторонних разработчиков
• Podlodka #340: зачем нужны ИТ-рекрутеры
• Podlodka #339: все про кодировки текста
• Microsoft отказывается от VBScript
• Яндекс выпустил NaviKit SDK для создания собственной навигации
• Всеобъемлющий Rust — бесплатный курс
• Визуализация данных с помощью Python — бесплатный курс от IBM
• Readability: Google’s Temple to Engineering Excellence
• How LinkedIn Adopted Protocol Buffers to Reduce Latency by 60%
• Characteristics of Code Quality
• Research: Quantifying GitHub Copilot’s impact on code quality
• 2-Minute Rule to Become a Master at Coding — Atomic Habits
• What is Design-Driven Development?
• AR for everyone: How to build accessible augmented reality UX
• How Giphy Delivers 10 Billion GIFs a Day to 1 Billion Users
Аналитика, маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в сентябре 2023
• В 2023 году потребители проведут в Android-приложениях для покупок 50 млрд часов
• Character.AI добавляет групповые чаты с ИИ
• Приложение Keepler поможет улучшить навыки свиданий или отношений
• Clash of Clans и Clash Royale выходят на ПК
• Компании теряют деньги на ИИ
• Respawn — управление задачами и привычками: разбор приложения
• Microsoft обновила веб-версию магазина приложений для Windows
• The most popular Mixpanel alternatives, compared
• Top 10 Hypercasual Games in Q3 2023
• How Duolingo designs product (and why)
AI, Устройства, IoT
• Делаем HMI-панель из планшета для системы автоматизации на контроллере Wiren Board
• Разговоры с кроватью, про Яндекс Алису и умный дом Home Assistant
• Open Interpreter: выполнение локальных задач с Code Interpreter
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.