Мобильная разработка за неделю #514 (7 — 12 ноября)
В новом выпуске новые правила Google Play для новых разработчиков и первый App Shortcut, корутины против потоков, навигация во Flutter и вредные тесты, перформящие креативы, собственные GPT и многое другое!
Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Паттерн Координатор для навигация в iOS-приложении
• Делаем первый App Shortcut
• Apple отложила работу над новыми ОС для исправления ошибок
• Вопросы с собеседований: что такое reference типы в Swift
• Understanding Text Case And Capitalization In SwiftUI
• iOS App Modularization: Strategies for Large-Scale Applications and Dependency Management
• Custom Traits and SwiftUI
• Calculating a Smooth Clock Hands Animation
• Distributing Work Between Actors
• Programmatic Navigation with SwiftUI
• Structure Oriented Programming VS Protocol Oriented Programming in Swift
• Xcodegen — First Steps
• 10 tips to increase your iOS code quality
• Level up your Swift enum by… replacing it with an OptionSet?
• Swift Student Challenge 2024 is announced
• Visual effects in SwiftUI
• GeometryReader: Blessing or Curse?
• Generating Random Numbers Elegantly in Swift
• What is Reflection and how is it used?
• Mastering iOS Navigation: A Deep Dive Into Pragmatic Design
• Adapter Design Pattern in iOS
• Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!
• SwiftData Containers and Preview Data
• Using SwiftUI and ReplayKit: Build an iOS Screen-Sharing App
• Building Scrollable Tab View With New iOS 17 APIs
• Building Complex Scroll Animations With New iOS 17 APIs
• NSSpain XI Videos
• Chat: UI-фреймворк для чата
• Tabman: мощный Page View Controller
Android
• Google вводит новые правила проверки приложений в Play
• Корутины против потоков: тест потребления памяти
• Ошибки при проектировании публичного API наших библиотек, и как мы их решали
• Amazon планирует отказаться от Android в пользу собственной ОС
• Вышла альфа-версия Telecom Jetpack
• Picture-Perfect Code: Uploading Images to the Server with Kotlin and Jetpack Compose using a RESTful API
• The Diffing Dilemma! All about diffing with LazyLists!
• FlowOn | Kotlin. The Importance of Thread Safety
• The problem with Coroutines stateIn operator and how to solve it
• How to show a PDF with Jetpack Compose
• Creating an iPhone-Like Glassy Blur Effect with Jetpack Compose on Android
• Screenshot Testing with Compose
• Kotlin Type Aliases: Enhancing Code Clarity
• MVI architecture implementation with Kotlin Flow, Android
• From Stetho to Flipper: Logging Network Calls with Facebook«s Flipper SDK in Android
• Jetpack Compose Animation for Beginners: A Step-by-Step Guide
• Amper — Improving the Build Tooling User Experience
• A Little About Dagger
• Best Practises In ViewModel
• Android CI/CD pipelines at MEGA
• Mastering Event Validation in Android Apps: A QA Engineer«s Guide
• Practical magic with animations in Jetpack Compose
• Compression Streams support on all browsers, Android«s New Credential Manager, and more dev news!
• Are One-Time Events an Anti-Pattern? — Why Almost Every Android Dev Does It Wrong!
• The Ultimate Guide to Android Splash Screen Animations — Splash API
• BabaBASIC: QuickBASIC для Android
• BeepBeep: платформа доставки еды и заказа такси на Kotlin
Кроссплатформа
• Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора
• «Разгоняем» HashSet, HashMap и циклы на примере Dart
• Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1
• Subject объекты в RxDart и чем они полезны Flutter-разработчику
• Структура Flutter-приложения: feature-first или layer-first
• Advanced Dart in Flutter: Elevating Your Development Skills
• How to Test Native Features in Flutter Apps with Patrol and Codemagic
• Why Kotlin Multiplatform Won«t Succeed
• 5 Best Under-The-Radar React Native Libraries in 2023: Dev Tested and Reviewed
• 10 Tips for Optimizing Your Flutter App
• Simplifying React Native App Updates with Expo EAS and In-App Updates
• Setuping a well structured React Native project with Ignite
• KMPizza with Lena Stepanova
Разработка
• 10 трудных истин, которые вам не расскажут о работе программистов
• Тесты вредны для разработчиков
• Как мы переложили на ChatGPT рутину в тестировании
• Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Podlodka #342: пишем язык внутри языка
• Компания Sutro представила ИИ-конструктор приложений
• $25 млн в Серии B: Tabnine — ИИ-помощник для программирования
• Real-Time Analytics for Mobile App Crashes using Apache Pinot
• The Architecture Behind A One-Person Tech Startup
• How We Reduced our Google Cloud Bills by 50 Percent
• Don«t disable buttons
• Secure your API keys in iOS/Android apps using Firebase
• Microservices aren«t the problem. Incompetent people are
• Ensure Visual Accessibility: Glyphs, Icons and Shapes
Аналитика, маркетинг и монетизация
• От теории к практике. Как использовать геймплей в создании перформящих креативов: часть вторая
• Как продвигать приложения: советы от RuStore
• Как определить топ USP при запуске нового продукта
• Google настаивает на открытии iMessage в ЕС
• AppsFlyer покупает аналитику devtodev
• Доходы X за год выросли на 829%
• How to Boost Any Mobile Screen Usage with this simple analytics trick
• Summer, which helps customers buy — and rent out — vacation homes, raises $18M
• How Uber app is Dominating the market and how you can do the same with the hybrid app development
AI, Устройства, IoT
• Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет
• Что в голове у змейки? Обучение нейросети играть в «Snake» генетическим алгоритмом
• Умный мясокомбинат: что можно сделать с инженерными системами?
• Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома
• Lens Studio 5.0 использует ИИ и повышает скорость разработки
• OpenAI запускает создание собственных GPT и магазин для них
• Assistants API от OpenAI помогает создавать собственных агентов
• Arduino Course for Everybody
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.