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

iOS
• Как локализовать все ваши iOS приложения на 20 языков за 5 минут
• Разбираем ошибки начинающих iOS-разработчиков
• Как компании подготовиться к модуляризации iOS приложений
• Умная камера: как встроить в iOS приложение распознавание текста для незрячих
• Страх и ненависть в SwiftUI
• Гайдлайны подписок
•
iOS Data Protection APIs, Using Swift
•
The relationship between UIView and CALayer
•
Xcode Tip: filtering debugger output
•
TaskGroup error handling in Swift
•
SwiftUIТs .task modifier
•
Test Plans are now Default for New Projects with Xcode 14.3
•
Building Large-Scale Apps with SwiftUI: A Guide to Modular Architecture
•
Using SwiftТs Type System To Model Behaviour
•
Exploring Physics With SpriteKit and SwiftUI
•
5 reasons I still feel SwiftUI is premature
•
How to Handle Tap Gestures on Widgets?
•
Managing Data Models in iOS Apps
•
How To Deprecate APIs the Right Way
•
63% improvement on Bitrise build time for iOS
•
Clean Code vs. Performant Code
•
Address resolution options for iOS app development
•
iOS debug session: Direct field offset
•
Integrating Rust Library Into Swift Code
•
Short Tutorial in Accessibility Inspector
•
Mastering Dependency Injection in Swift: Best Practices and Common Pitfalls
•
TCA, The next iOS Architecture?
•
Factory: контейнерное внедрение зависимостей
Android
• Автоматизация обновлений зависимостей в проекте Compose
• Подходы для создания системы управления доступом устройства на ОС Android. Что изменилось в 2023 году?
• Как написать свой DI-контейнер на Kotlin
• Google открыл Open Health Stack для разработчиков
•
What is Delegation Interface in Kotlin?
•
Railway Oriented Programming in Kotlin
•
Random Musings on the Android 14 Developer Preview 2
•
Create a custom Theme with Jetpack Compose
•
Extending the Android SDK — SDKExtensions
•
Automating dependency updates in a Compose project
•
Mastering Android App Performance: Analyzing Bottlenecks with Perfetto
•
How To Build A Rideshare App Like Uber
•
Sampling Profiler & Rogue case of App Profiling
•
How the introduction of notification runtime permissions in Android 13 affects conversion from push notifications
•
Packaging Native Code with Prefab: A Solution for Imported Prebuilt Binaries
•
Mastering Android App Performance: Analyzing Bottlenecks with Perfetto
•
Modern Android Development in 2023
•
Yet another pitfall in Jetpack Compose you must be aware of
•
Understand Kotlin Sealed class better!
•
Enhancing Android TV Playback Experience with MediaSession
•
Using the plugin pattern in a modularized codebase
•
Building Server-Driven Mobile Apps With Nimbus SDUI
•
Android Permissions Made Easy
•
Bring Your Video App to Cars
•
Tips and Techniques for Developing High-Performance Android Apps
•
Scrcpy: отображение и управление Android с компьютера
•
Retro Music Player: музыкальный плеер для Android в Material You
Кроссплатформа
• Flutter Dev Podcast #40: Flutter 3.7
• Переходим на Flutter: за и против
•
How to write Flutter apps faster with Riverpod Lint & Riverpod Snippets
•
Preventing Memory Leaks in Flutter: Best Practices and Tools
•
Is Flutter going to kill React Native?
•
State Restoration of Flutter App
•
The Best Flutter Performance Tips you can Find
Разработка
• Я много лет работаю в сфере технологий, но почти никогда не работал
• Как вкатиться в геймдев начинающему винтику
• Обновляю ссылку один месяц, или Легких задач не бывает
• ChatGPT для разработчиков — как использовать ИИ на практике
• Как мы сделали аудиозвонки в приложении для сотрудников
• Кем вы видите себя через 6 лет в тестировании?
• Как сделать гармоничный, полезный интерфейс и сэкономить на разработке
• Сколько получают российские разработчики
• Заказчики, платформы и технологии
• Ключевые отличия между Junior, Middle и Senior разработчиками
• Google нашел критические уязвимости в модемах Samsung
• $10 млн в серии А: Zed — редактор кода для совместной работы
• Мобильная разработка мертва? — обсуждение в Reddit
• Стоит ли говорить на интервью, что вы уже решали такую задачу?
•
Your team needs a better balance between starters and finishers
•
The Case Against Relying Solely on DRY
•
Visualizing direction and the use of arrows
•
Navigating New UI: How to Ease Users into Major Changes
•
How to Grow Really Fast as a Software Engineer
•
Awesome Ktor: ресурсы для изучения Ktor
•
Macige: шаблоны Continuous Integration
Аналитика, маркетинг и монетизация
• Мобильные игры 2022 — отчет Sensor Tower
• Аналитика как продукт: измеряем метриками аналитику
• Неубиваемая мобильная аналитика
• Оскар увеличил загрузки Paramount+ на 80%
•
From Excel to App Store: How I Took My Budget Management Product for a Spin
AI, Устройства, IoT
• Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала
• Как воспитать GPT-3 модель в домашних условиях
• Большая языковая модель на вашем компьютере — момент Stable Diffusion продолжается
• LLaMA (Large Language Model Meta AI)
• Часы реального времени на одноплатном компьютере на примере Repka Pi 3
• ИИ будет писать свадебные речи в платформе планирования свадеб Joy
• Google прекращает продажи Glass Enterprise Edition 2
• $350 млн в Серии B: Adept — ИИ для управления компьютером
• OpenAI выпускает GPT-4
• Duolingo представила новые функции на основе GPT-4
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!


• Как локализовать все ваши iOS приложения на 20 языков за 5 минут
• Разбираем ошибки начинающих iOS-разработчиков
• Как компании подготовиться к модуляризации iOS приложений
• Умная камера: как встроить в iOS приложение распознавание текста для незрячих
• Страх и ненависть в SwiftUI
• Гайдлайны подписок
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Автоматизация обновлений зависимостей в проекте Compose
• Подходы для создания системы управления доступом устройства на ОС Android. Что изменилось в 2023 году?
• Как написать свой DI-контейнер на Kotlin
• Google открыл Open Health Stack для разработчиков
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Flutter Dev Podcast #40: Flutter 3.7
• Переходим на Flutter: за и против
•

•

•

•

•


• Я много лет работаю в сфере технологий, но почти никогда не работал
• Как вкатиться в геймдев начинающему винтику
• Обновляю ссылку один месяц, или Легких задач не бывает
• ChatGPT для разработчиков — как использовать ИИ на практике
• Как мы сделали аудиозвонки в приложении для сотрудников
• Кем вы видите себя через 6 лет в тестировании?
• Как сделать гармоничный, полезный интерфейс и сэкономить на разработке
• Сколько получают российские разработчики
• Заказчики, платформы и технологии
• Ключевые отличия между Junior, Middle и Senior разработчиками
• Google нашел критические уязвимости в модемах Samsung
• $10 млн в серии А: Zed — редактор кода для совместной работы
• Мобильная разработка мертва? — обсуждение в Reddit
• Стоит ли говорить на интервью, что вы уже решали такую задачу?
•

•

•

•

•

•

•


• Мобильные игры 2022 — отчет Sensor Tower
• Аналитика как продукт: измеряем метриками аналитику
• Неубиваемая мобильная аналитика
• Оскар увеличил загрузки Paramount+ на 80%
•


• Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала
• Как воспитать GPT-3 модель в домашних условиях
• Большая языковая модель на вашем компьютере — момент Stable Diffusion продолжается
• LLaMA (Large Language Model Meta AI)
• Часы реального времени на одноплатном компьютере на примере Repka Pi 3
• ИИ будет писать свадебные речи в платформе планирования свадеб Joy
• Google прекращает продажи Glass Enterprise Edition 2
• $350 млн в Серии B: Adept — ИИ для управления компьютером
• OpenAI выпускает GPT-4
• Duolingo представила новые функции на основе GPT-4
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.