Мобильная разработка за неделю #506 (11 — 17 сентября)

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

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



iOS

• Хочите виртуальный macOS на своём PC? Их есть у меня
• Шейдеры в iOS для начинающих
• Скоро iOS 17, смотрим статистику по старым версиям
• Swift-уроки: дефолтный аватар как в Telegram
• Открыт прием размещений в App Store для последних версий ОС
• Поваренная книга SwiftUI: понимание представлений (View) и иерархий представлений в SwiftUI
•  Shake to undo in a SwiftUI app
•  SwiftUI Sensory Feedback
•  Develop with Cocoa for Apple Devices without using Objective-C
•  SwiftDataKit: Unleashing Advanced Core Data Features in SwiftData
•  An Architecture for Behaviour-Driven Development in Swift
•  SwiftUI Guide: Triggering Actions Solely on First View Appearance
•  Theming SwiftUI applications
•  SwiftUI Clean Architecture 101
•  Vending Non-Mutating Data in SwiftUI
•  If and switch expressions in Swift
•  Beginner’s Guide: SwiftUI and Additional Essentials
•  iOS Interview Guide: Swift Initializers
•  Unsafe Memory Access in Swift
•  How To Visualize The Safe Area
•  Working With UIViewRepresentable
•  StateObject vs ObservedObject
•  Different ways to map over Dictionary in Swift
•  Understanding Container Background for Widget in iOS 17
•  Using expanded SwiftUI support for MapKit
•  Comparing SwiftUI @StateObject, @ObservedObject and iOS17 @Observed macro
•  Simplifying iOS App Invocation Handling with Swift: A Comprehensive Guide
•  Level up your SwiftUI – Easy improvements you can apply to any SwiftUI app
•  SwiftUI Tag TextField
•  How To Use SwiftData with Preview
•  Scrolling Charts in iOS 17
•  SwiftUI: Hide Navigation Bar On Swipe
•  EmojiPalette: пикер эмодзи для SwiftUI
•  SDWebImageSwiftUI: загрузка изображений в SwiftUI
•  UI Examples: примеры красивого UI

Android

• Сам написал, сам поиграл: как я написал 2D-игру для Android полностью с нуля, весом менее 1мб?
• Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения
• Как я удалил рекламу из приложения Spotify
• Protobuf vs Reflection
• Мок-интервью Middle Android Developer
• Cобеседование Android-разработчика: Максим Качинкин (Dodo Engineering)
• Что нового в Android 14 для разработчиков
• В Android 15 откроют доступ к данным о заряде батареи
• Как мы сделали SPACE INVADERS: World Defense
• Android Studio for Platform — IDE для AOSP
•  Paging 3 on Android
•  How We Made SPACE INVADERS: World Defense, an AR game powered by ARCore
•  Understanding Density-Independent Pixels
•  •  Complex SemanticMatchers for Compose UI Testing
•  Kotlin Contracts: Empowering Your Code for Better Quality
•  Gradle and Java Version Compatibility: A Beginner’s Guide
•  Intro to Polymorphism with Kotlinx.Serialization
•  Google MLKit: Quick and easy Face Detection in Android
•  Automate screenshot testing for Compose previews via reflection
•  Building the WhatToEat Experience on Android
•  Success Story: How FlowMVI has changed the fate of our project
•  Parallax effect in Jetpack Compose
•  Animate borders in Jetpack Compose
•  Building Media-Rich Android Apps with MediaCodec and Vendor Extensions
•  Jetpack Compose for Wearables — Developing UIs for Smartwatches
•  How to automate SDK testing and sleep through the night — a sensor simulation story
•  Security Tips for Android Developers
•  How Qualcomm Added Audio Offload Support for ExoPlayer
•  Automate screenshot testing for Compose previews via reflection
•  Don’t Make These 2 Mistakes With Lists in Kotlin
•  Swipeable Tab Rows — UX With Material3
•  Android Jetpack Compose: The Perfect Splash Screen
•  ComposeShadowsPlus: тени для Compose
•  AAY-chart: графики для Android и Kotlin Multiplatform

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

• Flutter на ОС Аврора
• Есть ли смысл начинать писать мобильное приложение не на Kotlin Multiplatform и Compose Multiplatform?
• Flutter — CI/CD Azure + App Center
• PWA vs Native: чек-лист, который поможет выбрать
• Puro — эффективный способ управления Flutter-версиями
• Нововведения фреймворка Flutter 3.13.Часть 2
• Compose for iOS под капотом
• Compose Multiplatform для iOS и Android
• Flutter Dev Podcast #42: DCM. Что нового?
•  Flutter State Management: Provider, BLoC, GetX, Riverpod, GetIt and MobX
•  What is BuildContext in Flutter
•  5 Advanced Architecture Patterns you should know as flutter developer
•  AdMob UMP SDK in Flutter — Implement your GDPR dialog
•  Integrating React Native as an SDK into a Native Android App
•  How to Improve Performance in Flutter: Replace SizedBox with Compile-Time Constants
•  Introducing the Flutter Consulting Directory
•  Exploring the Expandable Menu Package in Flutter
•  LÖVE: замечательный фреймворк для создания 2D-игр на Lua

Разработка

• Как работает SberPay под капотом
• 7 простых привычек 1% лучших инженеров
• Unity вводит новую систему оплаты для разработчиков + Что же беспокоит разработчиков в связи с Unity Runtime Fee? (TL;DR)
• Что не так с дизайнерами интерфейсов. Есть ли разница между UX/UI и продуктовым дизайнером?
• Тестирование внутреннего мобильного приложения «На связи»
• Как избежать обмана на работе: 5 эффективных стратегий
•  The Debugging Dilemma — Why So Many Beginners Give Up on Programming
•  Golden age of UX is over?
•  The Best Filter UI Design for Large-Scale Apps
•  Death by a thousand microservices
•  Philosophy of coroutines
•  How to use Strings Method to improve any UI design
•  How mobile apps illegally share your personal data

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

• Тирания маржинального пользователя
• Яндекс выложил в опенсорс код AppMetrica
• В Sensor Tower провели увольнения
• Попадание в сеть: как игры становятся социальными сетями для зумеров и миллениалов
• Топ быстрорастущих приложений в России в сентябре
• Самые скачиваемые приложения в августе 2023
• Выходим на глобальный рынок: адаптация интерфейса под RTL
• Favs — социальная сеть только для друзей
• Коллажи с покупками переходят из Shuffles в главное приложение Pinterest
• Amazon возвращает встроенные покупки на Android
• Slingshot — быстрая отправка фото с помощью «рогатки»
• ASO.dev — как я снова продукт для Apple делал
• In-app purchases — за что и почему? Взгляд аналитика
• Яндекс представил Yandex Mobile Ads SDK 6
•  5 ways to improve your product analytics data

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

• ИИ-агенты с саморефлексией
• Создаём субтитры для любого видео в интернете с помощью нейросети в браузере
• Разработка систем генеративного ИИ на базе ML Platform: создаем конкурента ChatGPT без миллионных инвестиций
• Управление сервоприводами, часть 3. Управляем ШИМ/PWM сервоприводами с разъёмов GPIO компьютеров на примере Repka Pi

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


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

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

Это глава 38 раздела «HTTP API & REST» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа ...
Привет, Хабр! Ежедневно, по роду деятельности, мы общаемся с десятками компаний, в основном средний и малый бизнес, на тему автоматизации процессов техподдержки и выездного сервиса. Еще 5 лет назад, н...
В этой статье я бы хотел рассказать про создание веб приложений на С/С++ с использованием стека Nginx+fastcgi. Если быть более точным, то статья больше относится к сайтам, то есть к отдаче контента. Е...
В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет...
Ненавистники Python всегда говорят, что одной из причин того, что они не хотят использовать этот язык, является то, что Python — это медленно. Но то, что некая программа, независимо от используем...