Мобильная разработка за неделю #515 (13 — 19 ноября)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
В этом дайджесте для мобильных разработчиков листаем страницы и повышаем качество кода, защищаем и исследуем код, исследуем новый релиз Flutter, делаем дизайн-систему, автотесты, определяем “производительность” рекламных сетей.

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



iOS

• 10 быстрых советов по повышению качества iOS-кода: часть 1 + часть 2
• Добавляем подсказки в приложение с помощью TipKit
• Листаем цифровые страницы: UIPageViewController
• Рефакторинг Swift
• Apple добавит поддержку RCS в следующем году
• Отображение панели выбора фотографий в SwiftUI
• iOS 18 должна стать самой «амбициозной и неотразимой»
• Поваренная книга SwiftUI: обрезка представлений
•  Progress toward the Swift 6 language mode
•  On-Crash Backtraces in Swift
•  SwiftUI: Displaying a Photo Picker
•  Localisation in Xcode 15
•  SwiftUI at Airbnb: A Case Study
•  Beyond the Code: Exploring the Innovations of Swift 6
•  The idea of a Fastlane replacement
•  Glovo’s Large-Scale App Development: An In-Depth Look
•  Mastering App Store Submissions with Fastlane Deliver
•  The complete guide to iOS & macOS development in Neovim
•  Handle TabView data in a type-safe way with Enums
•  Preparing your App for Voice Over: Accessibility Value
•  Why mobile apps need a good abstraction?
•  Unit Test Expected Failures in Swift
•  SwiftUI: How to trigger animations from outside the View scope?
•  Inspecting Xcode’s build system graph at ease
•  Mastering ViewThatFits
•  How to update widgets for StandBy mode
•  SwiftData: A Comprehensive Guide to Data Persistence in iOS with CoreData
•  Animatable Dual Axis Graph
•  Introducing Inferno: Metal shaders for SwiftUI
•  Building Complex Scroll Animations With New iOS 17 APIs
•  Data Structures in Swift
•  How to Refactor Your Code with Late Let and Defer
•  Introducing Inferno: Metal shaders for SwiftUI
•  Adding Snapchat-Like Filters to a Video Calling App using SwiftUI
•  Build DALL·E 3 AI WhatsApp Sticker Generator SwiftUI App
•  Building Complex Scroll Animations With New iOS 17 API’s
•  SwiftData Dynamic Sorts and Filters
•  MaterialTabBar: материальный TabBar на SwiftUI
•  Swift Protobuf: Protocol Buffer для Swift

Android

• Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
• Kaspresso для самых маленьких
• Используем Ktlint в вашем Android-проекте
• Настройка Selenoid для запуска UI-тестов на Android
• Сравнение производительности Compose и View
• Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости
• Как подружить JUnit 5 и Robolectric?
• Разделение презентационного слоя фичи на модули в Android приложении
• Сквозь дебри разработки, или как я пытался написать приложение
• Приложение для мобильных бригад: «толстый клиент» и полмиллиона строк кода
• Бруклинский мост. Зачем генерируем C++ на Kotlin
• Погружение в Smali. Как выглядят Java и Kotlin со стороны
• Быстрый старт в сборке метрик по билдам в Android-проекте
• Android Storage: обзор инструментария
•  Squaring the Circle on Google TV
•  Navigation Drawers for Android TV using Jetpack Compose
•  Reactive Programming in Kotlin — Flow
•  The many faces of Kermit
•  Apply Ktlint To Your Android Project
•  Adding Konsist and Ktlint to a GitHub Actions Continuous Integration
•  Navigating Pitfalls — When to Use derivedStateOf with remember(key) in Jetpack Compose
•  Android: Jetpack Glance with Hilt
•  Android WorkManager: Popular Interview Questions and Answers
•  Compare Compose and View performance
•  The secret to Android’s improved memory on 1B+ Devices: The latest Android Runtime update
•  Understanding Kotlin’s Special Types: Any, Unit, and Nothing
•  AIDL: The Android Developer’s Bridge Between Processes
•  BasicTextField2: A TextField of Dreams
•  Ace your live coding interview: Android
•  5 quick animations to make your Compose app stand out
•  Kotlin Sequence vs Collection: Which to choose?
•  Bringing New Input Support to Desktop AVD
•  Are you sure you know how Kotlin Flow works?
•  Component-based Approach. Fighting Complexity in Android Applications
•  The latest updates to power your growth on Google Play
•  New APIs for adaptive layouts in Jetpack Compose
•  Understanding Eventbus with kotlin Flow
•  Now in Android: 95 — Google Play requirements, Animations in Compose, Passkeys in Android, and more!
•  How to Build an Animated Splash Screen on Android — The Full Guide
•  Top 3 Coroutine Cancellation Traps That Lead to Errors In Your Android App
•  Practical magic with animations in Jetpack Compose
•  Twitter UI Clone: интерфейс Твиттер на Jetpack Compose
•  Orbital: анимации Jetpack Compose

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

• Простой, но масштабируемый State Management для Flutter
• Как мы перешли на кроссплатформенность в середине проекта и успели в срок
• Новый линт в Dart 3.2
• Flutter 3.16: что нового
• Анимация загрузки картинок во Flutter, или как сделать shimmer своими руками
•  Embracing Stable Kotlin Multiplatform (KMP) with Koin
•  Flutter: Seamless Header Navigation from AppBar
•  8 Steps to Follow When Building Your Next Flutter App
•  Flutter localization: step-by-step
•  Building Responsive UIs in Flutter: A Short Guide
•  What’s new in Flutter 3.16
•  Introducing the Flutter Casual Games Toolkit
•  LocalSend: кроссплатформенная альтернатива AirDrop

Разработка

• Дизайн-система Gravity UI: как легко построить свой интерфейс
• Что не так с «Авророй» — российской мобильной OC
• Как сделать автотесты гибкими и лаконичными
• Должен ли QA уметь писать код
• GameDev и ОС Аврора. Портирование игры
• Что нового в интерфейсе ОС Аврора 5: управление и паттерны взаимодействия
• Avito Tech Managers meetup #1
• Я прошел собеседования в Google… Как?
• Octoverse 2023: ежегодный отчет от GitHub
• Windows 1.0 исполнилось 40 лет
•  Building In-Video Search
•  Smoothing Out The Bumps: My Journey of Setting Up CI/CD for Android and iOS Apps
•  Framing: The 1 most important communication concept every software engineer must know
•  How one line of code caused a $60 million loss
•  How I escape what 99% of programmers can’t
•  Writing code for MS-DOS with Borland Pascal 7
•  My favorite coding question to give candidates (and why)

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

• Мобильные суперприложения выгодны корпорациям, но это кошмар для простых людей
• RuStore стал первым инклюзивным российским магазином приложений
• SplitMetrics купила App Radar
• Microsoft представила Loop, своего конкурента Notion
• $11.5 млн Серии А: Sunnyside — разумное питье с ИИ
• Опубликован AppsFlyer Performance Index 16
• Почему бенчмарки бесполезны
• Nothing Phone выпустит эксклюзивное приложение для работы с iMessage
• Объявлены финалисты App Store Award: лучшие приложения и игры 2023
• Digital Turbine инвестировала в магазин приложений Aptoide
• Исследуем доходы и установки Callsheet 

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

• Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить
• Станция Миди и голосовое управление Zigbee-устройствами без интернета. История разработки
• Парк юрского периода глазами нейросети: как развернуть Diffusers для генерации изображений за 10 минут
• Дисплей для Ариты или тайна четырёх перемычек
• Управление сетевыми устройствами: Orange Pi, OpenWRT и Python
• $16 млн в посевном раунде: Codegen — автоматизация задач разработки с помощью ИИ
•  An Android Developer’s Introduction to Machine Learning

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Источник: https://habr.com/ru/companies/productivity_inside/articles/774984/


Интересные статьи

Интересные статьи

Привет, Хабр!На связи участник профессионального сообщества NTA Владислав Рулев.Это первый пост в серии, где я буду рассказывать, как создавал свой собственный task manager. В наст...
В новой подборке сторонние платежи в iOS-приложениях в России, использование Swift и SwiftUI в iOS 17, русификация китайского Android и поиск лишних Component Dependencies, камеры и Flutter, шесть пла...
Это пятничное чтиво от начинающих продуктовых нимфоманок (и нимфоманов, если так можно выразиться). Мы безудержно увлечены процессом и постоянно не удовлетворены результатом. Наша «исповедь» посв...
Классическое PHP-приложение — однопоточность, тяжелая загрузка (если вы конечно не пишите на микрофреймворках) и неизбежная смерть процесса после каждого запроса… Такое приложение тяжелое и медле...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.