Маркетинг и монетизация
Мобильная разработка за неделю #455: переключатель фич
В новом выпуске отслеживаем состояние переключателя тихого режима, изучаем макросы Swift и Android-разработку, катим фичи без релизов, собираем слезы вкатунов, отказываемся от скромности и многое другое!

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



iOS


- iOS: Узнать и отслеживать состояние физического переключателя тихого режима
- Изнутри: Swift макрос — #Preview
- Макросы в Swift
- Swift 5.9. Что нового?
- Жизненный цикл объектов SwiftUI
- Фил Шиллер «должен убрать свои руки от App Store»
- Apple обновила ресурсы для дизайнеров
Implementing Carousel Slider Inspired From Material Carousel SwiftUI Glassmorphism — Glass Background Effect Easily Add Filtering In SwiftData Using Searchable I screwed up one key accessibility behavior, and now I’m on a mission to do better iOS 17: Notable UIKit Additions The debut of the ButtonRepeatBehavior view modifier A Deep Dive Into Observation: A New Way to Boost SwiftUI Performance The Power of Function Builder: Swift VS SwiftUI #Preview SwiftUI Views using Macros Creating a Joystick Control in SwiftUI Scalable Navigation With Deep Links in SwiftUI Revamping Trendyol’s iOS App: A Modularization Success Story All about Silent Push Notifications. Step-by-Step Guide Recreating iMessage’s Sticker Peel-Off Effect Agile Architecture in Swift Effective Task cancellation in Swift by leveraging Combine’s AnyCancellable Writing a modern iOS Networking Library with Swift Concurrency Libraries with resources optimized for build time and application size How to use String Catalogs for localization in Swift Unleashing Xcode’s Potential: 6 Uncommon Xcode Extensions for Senior iOS Engineers Implementing location search by address into the iOS app How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini Working with C callback functions in Swift Mapbox Maps SDK iOS: интерактивные настраиваемые карты ReSwift: однонаправленный поток данных в Swift iOS Starter Kit: примеры для начинающих



Android


- Как самому научиться Android-разработке
- Тестирование мобильных игр перед релизом: инструменты и лучшие практики в Google Play
- Как мы снизили время запуска FullStory на Android на 75%
- Обзор библиотек для скриншот-тестирования Android проектов. Часть 1
- Android: смотрите на больших экранах
- Готовим конфигурацию Android-приложения с помощью Dynamic Proxy и рефлексии
- Google обновляет дизайн логотипа Android
Location location location, revisited — Android Developers Backstage Intents & Intent Filters — Android Basics 2023 Resources & Qualifiers — Android Basics 2023 Seal the Deal with Kotlin — A Look at Sealed Classes and Sealed Interfaces Exploring Jetpack Compose Anchored Draggable Modifier Lindy effect in surnames problem I re-wrote Grab Android App. Do I regret it? Server-Sent Events in Android (with Node.js) Modularizing Our Driver App For Android MockResponseInterceptor: Simplifying Retrofit API Response Mocking in Android Dropbox rebuilt its search experience 40% faster with Jetpack Compose How to create a welcoming codebase Simplify Testing Kotlin Flows with Turbine Understanding memory leaks Talkback Ordering in Android Jetpack Compose Performance With Jetpack Compose Tools and tips I wish I knew when I started Android development Records in Android Studio Flamingo Avoid Java double brace initialization Jetpack compose — How to implement Custom Pager Indicators TranslationPlugin: перевод текста в IntelliJ/Android Studio Flagfit: флаги функций для Android и Kotlin



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


- Dart для бэкэндеров. Часть 1
- Flutter meetup от Evrone
Creating Kotlin Multiplatform SDK Demystifying Local AAR Usage in Flutter: Step-by-Step Guide for Flutter Plugins and Projects Modularizing Flutter UI with Factory Constructors Flutter — Learn the Importance of Constraints in Layout Creation Write unit tests and UI tests in your Kotlin Multiplatform app! Migration to go_router — dev’s story Unifying our workflow: the journey to monorepo with Kotlin Multiplatform Mobile Flutter — iOS App Release on AppStore using Bitbucket Pipeline Sealed Classes in Dart: Unlocking Powerful Features



Разработка


- Как катить фичи без релизов. Часть 2: про низкоуровневый Server Driven UI
- Одна строчка кода, которая стоила $8,000
- Как мы делаем тестирование прозрачным. Всё об инфраструктуре QA
- JTBD-метод на практике для решения тестового задания
- Автотесты: кому они крайне необходимы, а кто может без них обойтись?
- Как дизайнеру спасти ситуацию с помощью исследования. За пару часов, $4 и без разработки
- Топ-10 самых востребованных у работодателей языков программирования
- Видео Yandex BDUI Conf
- СЛЕЗЫ ВКАТУНА: Реальная история входа в IT в 2023
- Avito Design Talk: дизайнер vs. продакт
- Охэхэнный подкаст: кто такой тимлид
- Niantic снова проводит увольнения
- Tesla добавляет поддержку сторонних приложений
- Только четверть программистов однозначно счастливы, работая в IT
- Не будьте скромным разработчиком
- 4 ошибки, которых следует избегать, чтобы построить бизнес из одного человека
Nokia is finally making news with its new UI language