Как отвечать на вопрос о хешировании как эксперт Java/Kotlin
Понимание хеширования и взаимосвязи между
Статья: https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
Платформа: Android
Понимание хеширования и взаимосвязи между
equals() и hashCode() необходимо не только для собеседований, но и для написания высокопроизводительных приложений на Java и Kotlin. С помощью этого руководства вы научитесь уверенно объяснять хеширование и его применение.Статья: https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
Платформа: Android
SleepChartKit - чистый и легкий пакет SwiftUI для отображения красивых визуализаций стадий сна с комплексной интеграцией HealthKit.
Фичи:
• Визуализация временной шкалы — интерактивная временная шкала стадий сна с плавными переходами
• Настраиваемые цвета — создайте собственную цветовую схему для разных фаз сна
• Ось времени — понятные временные метки, отображающие продолжительность сеанса сна
• Легенда — сводка для каждой фазы сна
• Интеграция с HealthKit — встроенная поддержка данных HKCategoryValueSleepAnalysis
• Поддержка локализации — настраиваемые отображаемые имена для интернационализации
• Архитектура SOLID — понятный, тестируемый и расширяемый дизайн
• Кроссплатформенность — iOS 15+, macOS 12+, watchOS 8+, tvOS 15+
SleepChartKit на GitHub: https://github.com/DanielJamesTronca/SleepChartKit
Платформа: iOS
⭐️: 105
Фичи:
• Визуализация временной шкалы — интерактивная временная шкала стадий сна с плавными переходами
• Настраиваемые цвета — создайте собственную цветовую схему для разных фаз сна
• Ось времени — понятные временные метки, отображающие продолжительность сеанса сна
• Легенда — сводка для каждой фазы сна
• Интеграция с HealthKit — встроенная поддержка данных HKCategoryValueSleepAnalysis
• Поддержка локализации — настраиваемые отображаемые имена для интернационализации
• Архитектура SOLID — понятный, тестируемый и расширяемый дизайн
• Кроссплатформенность — iOS 15+, macOS 12+, watchOS 8+, tvOS 15+
SleepChartKit на GitHub: https://github.com/DanielJamesTronca/SleepChartKit
Платформа: iOS
⭐️: 105
👍4
Flutter, Flame и RPG. Лучшие практики после двух с половиной лет gamedev'а
Я рад, что спустя полтора года после своей первой статьи у меня наконец закончилась разработка и оптимизация всего, что только можно, и я могу с уверенностью поделиться о лучших практиках при разработке огромных 2д рпг с открытым миром для любой платформы на фреймворке Flame.
Статья: https://habr.com/ru/articles/929708/
Платформа: кроссплатформа
Я рад, что спустя полтора года после своей первой статьи у меня наконец закончилась разработка и оптимизация всего, что только можно, и я могу с уверенностью поделиться о лучших практиках при разработке огромных 2д рпг с открытым миром для любой платформы на фреймворке Flame.
Статья: https://habr.com/ru/articles/929708/
Платформа: кроссплатформа
🔥3
Распознаем текст на изображении с помощью фреймворка Vision
Мы рассмотрим, как использовать машинное обучение для обнаружения и определения местоположения текста на изображении с помощью фреймворка Vision. Фреймворк Vision может гораздо больше, чем просто поиск текста на изображении. Он также способен изолировать определённые области на изображениях, отслеживать объекты в последовательности изображений, определять положение рук и тела и многое другое.
Статья: https://apptractor.ru/info/articles/raspoznaem-tekst-na-izobrazhenii-s-pomoschyu-freymvorka-vision.html
Платформа: iOS
Мы рассмотрим, как использовать машинное обучение для обнаружения и определения местоположения текста на изображении с помощью фреймворка Vision. Фреймворк Vision может гораздо больше, чем просто поиск текста на изображении. Он также способен изолировать определённые области на изображениях, отслеживать объекты в последовательности изображений, определять положение рук и тела и многое другое.
Статья: https://apptractor.ru/info/articles/raspoznaem-tekst-na-izobrazhenii-s-pomoschyu-freymvorka-vision.html
Платформа: iOS
👎1
Начните повышать безопасность своего Android-приложения уже сегодня
Когда дело доходит до разработки мобильных приложений, безопасность может казаться проблемой кого-то другого… но это не так. Как разработчики, мы не всегда имеем опыт в криптографии или информационной безопасности, но мы на переднем крае защиты пользовательских данных. Создаёте ли вы финтех-приложение или простой инструмент для повышения производительности, эти рекомендации помогут снизить риски и укрепить доверие.
Статья: https://apptractor.ru/info/articles/nachnite-povyshat-bezopasnost-svoego-android-prilozheniya-uzhe-segodnya.html
Платформа: Android
Когда дело доходит до разработки мобильных приложений, безопасность может казаться проблемой кого-то другого… но это не так. Как разработчики, мы не всегда имеем опыт в криптографии или информационной безопасности, но мы на переднем крае защиты пользовательских данных. Создаёте ли вы финтех-приложение или простой инструмент для повышения производительности, эти рекомендации помогут снизить риски и укрепить доверие.
Статья: https://apptractor.ru/info/articles/nachnite-povyshat-bezopasnost-svoego-android-prilozheniya-uzhe-segodnya.html
Платформа: Android
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
FloatingTabBar - плавающая панель вкладок Jetpack Compose, имитирующая поведение панели вкладок Liquid Glass в iOS 26. Есть два состояния (свернутое и развернутое), настраиваемое поведение при прокрутке, добавление кастомных аксессуаров (например, медиаплеера), которые адаптируются к обоим состояниям, настраиваемые цвета, формы и размеры.
FloatingTabBar на GitHub: https://github.com/elyesmansour/compose-floating-tab-bar
Платформа: Android
⭐️: 70
FloatingTabBar на GitHub: https://github.com/elyesmansour/compose-floating-tab-bar
Платформа: Android
⭐️: 70
👍2
Шаблон корутин Kotlin, который делает приложения Android в 5 раз более отзывчивыми
Поставьте 👍, если хотите эту статью на русском!
Команда автора столкнулась с серьёзными проблемами производительности и отзывчивости Android‑приложения: жалобы на фризы, высокое число ANR‑ошибок и падение рейтинга до 2.1 звезды. Внедрение паттерна «структурированного параллелизма» с использованием
Главная идея — отказ от «адского» управления потоками и колбэков в пользу четкой архитектуры на базе корутин:
Статья: https://medium.com/@sohail_saifi/the-kotlin-coroutine-pattern-that-makes-android-apps-5x-more-responsive-389923fbf36c (©)
Платформа: Android
Поставьте 👍, если хотите эту статью на русском!
Команда автора столкнулась с серьёзными проблемами производительности и отзывчивости Android‑приложения: жалобы на фризы, высокое число ANR‑ошибок и падение рейтинга до 2.1 звезды. Внедрение паттерна «структурированного параллелизма» с использованием
Flow позволило за две недели повысить отзывчивость в пять раз: ANR уменьшились на 94 %, удержание пользователей выросло на 40 %, а рейтинг в Play Market поднялся до 4.6 звезды.Главная идея — отказ от «адского» управления потоками и колбэков в пользу четкой архитектуры на базе корутин:
lifecycleScope и viewModelScope обеспечивают автоматическое управление временем жизни, Flow управляет потоками данных, а структурированная конкурентность упрощает отмену и обработку ошибок. В результате код стал более читабельным, устойчивым и масштабируемым — особенно при параллельных сетевых запросах и операциях с БД.Статья: https://medium.com/@sohail_saifi/the-kotlin-coroutine-pattern-that-makes-android-apps-5x-more-responsive-389923fbf36c (©)
Платформа: Android
👍3👎1
Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Поставьте 👍, если хотите эту статью на русском!
Если вы хотите писать более чистый, масштабируемый и сопровождаемый код для iOS, стоит обратить внимание на принципы SOLID. В своей статье автор наглядно показывает, как применять эти принципы на практике — от разделения ответственности до внедрения зависимостей. На простых примерах с UIViewController и менеджерами сетевых запросов он объясняет, как избежать "god objects" и сделать архитектуру проекта гибкой.
Автор выделяет каждый принцип (S, O, L, I, D) с отдельным примером, делая акцент на их роли в реальной разработке. Особенно полезно, как он показывает замену конкретных "плохих" решений более элегантными — например, внедрение протоколов вместо жёсткой зависимости от конкретных классов. Если вы хотите вывести свой Swift-код на новый уровень — статья обязательна к прочтению.
Статья: https://medium.com/@mena.yousry94/transform-your-ios-code-with-solid-principles-a-practical-guide-6adbefe74a81
Платформа: iOS
Поставьте 👍, если хотите эту статью на русском!
Если вы хотите писать более чистый, масштабируемый и сопровождаемый код для iOS, стоит обратить внимание на принципы SOLID. В своей статье автор наглядно показывает, как применять эти принципы на практике — от разделения ответственности до внедрения зависимостей. На простых примерах с UIViewController и менеджерами сетевых запросов он объясняет, как избежать "god objects" и сделать архитектуру проекта гибкой.
Автор выделяет каждый принцип (S, O, L, I, D) с отдельным примером, делая акцент на их роли в реальной разработке. Особенно полезно, как он показывает замену конкретных "плохих" решений более элегантными — например, внедрение протоколов вместо жёсткой зависимости от конкретных классов. Если вы хотите вывести свой Swift-код на новый уровень — статья обязательна к прочтению.
Статья: https://medium.com/@mena.yousry94/transform-your-ios-code-with-solid-principles-a-practical-guide-6adbefe74a81
Платформа: iOS
👍5
Анализ инцидента при миграции Core Data: скрытые ловушки, которые мы упускаем из виду
В отличие от некоторых фреймворков с открытым исходным кодом, Core Data и SwiftData, несмотря на официальную поддержку Apple, часто оставляют разработчиков беззащитными перед возникающими ошибками из-за своей природы «чёрного ящика», что затрудняет быстрое выявление проблем и поиск эффективных решений. В этой статье описывается инцидент с тайм-аутом при запуске приложения, вызванный миграцией модели Core Data, предлагается решение и проводится глубокий анализ основных причин.
Статья: https://apptractor.ru/info/articles/core-data-migration.html
Платформа: iOS
В отличие от некоторых фреймворков с открытым исходным кодом, Core Data и SwiftData, несмотря на официальную поддержку Apple, часто оставляют разработчиков беззащитными перед возникающими ошибками из-за своей природы «чёрного ящика», что затрудняет быстрое выявление проблем и поиск эффективных решений. В этой статье описывается инцидент с тайм-аутом при запуске приложения, вызванный миграцией модели Core Data, предлагается решение и проводится глубокий анализ основных причин.
Статья: https://apptractor.ru/info/articles/core-data-migration.html
Платформа: iOS
👍2
Как избежать распространенных ошибок при разработке Gradle-плагинов
Разработка Gradle-плагинов — мощный, но не самый очевидный процесс, особенно для начинающих. В статье автор делится типичными ошибками, с которыми сталкиваются при создании плагинов: от неправильного использования
Особое внимание уделено рекомендациям: использовать API Property, Provider, ObjectFactory, чтобы обеспечить ленивую и безопасную конфигурацию; избегать доступа к пользовательским параметрам напрямую; а также — писать функциональные тесты, эмулирующие реальное использование плагина. Если вы пишете собственный Gradle-плагин или планируете начать — материал обязателен к прочтению.
Статья: https://itnext.io/avoiding-common-mistakes-in-gradle-plugin-development-22d2e9e8e1ad
Платформа: Android
Разработка Gradle-плагинов — мощный, но не самый очевидный процесс, особенно для начинающих. В статье автор делится типичными ошибками, с которыми сталкиваются при создании плагинов: от неправильного использования
Project.afterEvaluate до хрупкой конфигурации через project.properties. Эти ошибки могут привести к непредсказуемому поведению и сложным багам.Особое внимание уделено рекомендациям: использовать API Property, Provider, ObjectFactory, чтобы обеспечить ленивую и безопасную конфигурацию; избегать доступа к пользовательским параметрам напрямую; а также — писать функциональные тесты, эмулирующие реальное использование плагина. Если вы пишете собственный Gradle-плагин или планируете начать — материал обязателен к прочтению.
Статья: https://itnext.io/avoiding-common-mistakes-in-gradle-plugin-development-22d2e9e8e1ad
Платформа: Android
🔥2
Курс "Шейдеры Metal для SwiftUI"
Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.
Анонс: https://apptractor.ru/learn/kurs-sheydery-metal-dlya-swiftui.html
Платформа: iOS
Курс рассчитан на разработчиков без опыта в графике: объясняет с нуля, начиная с GPU‑основ и математических концепций, заканчивая готовыми эффектами. В курсе используется принцип «от простого к сложному»: сначала фундаментальные темы, затем процедурные узоры, шум, плавные переходы, текстуры, и с временными GLS‑эффектами. Особое внимание — на интеграцию шейдера в SwiftUI, реальную обратную связь и создание рабочего примера.
Анонс: https://apptractor.ru/learn/kurs-sheydery-metal-dlya-swiftui.html
Платформа: iOS
👍2
SwiftUI Backports - библиотека упрощает использование новейших модификаторов SwiftUI, подобных тем, что появились в iOS 26, сохраняя при этом поддержку более старых версий iOS. С помощью простого модификатора .backport вы можете писать современный код SwiftUI, не оборачивая каждый новый API в проверки #available. SwiftUI Backports лёгкий, готов к использованию и сохраняет ваш код пользовательского интерфейса чистым и готовым к будущему.
SwiftUI Backports на GitHub: https://github.com/superwall/iOS-Backports
Платформа: iOS
⭐️: 144
SwiftUI Backports на GitHub: https://github.com/superwall/iOS-Backports
Платформа: iOS
⭐️: 144
👍1
•
(iOS Ru) Инструменты для мониторинга производительности iOS-приложений•
(iOS En) Resizable Header Scroll View Using SwiftUI•
(iOS En) Custom Chat Bubbles with SwiftUI•
(iOS En) Foundation Models Framework PART 2 - Tool Calling•
(iOS En) Permissions OnBoarding using SwiftUI•
(iOS En) How to Obfuscate API Keys in Your Swift Apps Step by Step with ConfidentialKit•
(iOS En) Google Chrome's Pull & Swipe Gesture in SwiftUI•
(And Ru) Navigation 3 для Compose: что нового и зачем это нужно?•
(And En) Enrich your app with live updates and widgets•
(And En) Prepare your Play app for devices with 16 KB page sizes•
(And En) Google I/O Special with Mat Velloso and Logan Kilpatrick•
(And En) The wonders of smart casting•
(And En) Coroutine Debugging in IntelliJ IDEA•
(And En) Don't forget your values!•
(And En) Building Inclusive Jetpack Compose Apps: Leveraging Kotlin and the Accessibility Scanner•
(Crs En) How to Implement Pagination In Compose Multiplatform (KMP)•
(Crs En) Leveraging KMP for navigation in the McDonalds App•
(Crs En) State of Kotlin Wasm and Compose Multiplatform for Web on Modern Browsers•
(Crs En) Kobweb, Kotlin & Cross-Platform chat with David Herman•
(Dev Ru) Как жить с легаси?•
(Dev Ru) IT в космосе — Почему космосу не нужны обычные программисты•
(Dev En) Creating, building, and releasing Gemma, Google's open model family•
(Dev En) Learn TypeScript – Crash Course for Beginners•
(Dev En) Data Structure and Algorithm Patterns for LeetCode Interviews – Tutorial•
(Mrk Ru) Заработок на Habit Tracker. iOS. Подписки. Разбор нишиПрошлогодние видео:
•
(iOS Ru) Разбор SwiftUI проекта стартапа с AI на борту•
(iOS Ru) Вам не нужно хранилище в приложении•
(And Ru) Роман Елизаров про Kotlin, корутины и работу в Jetbrains•
(Crs Ru) Особенности сервиса Яндекс Про и будущее Flutter•
(Dev Ru) Личный бренд разработчикаPlease open Telegram to view this post
VIEW IN TELEGRAM
👍1
Погружение в разработку плагинов для Android Studio
Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.
Статья: https://habr.com/ru/companies/domclick/articles/928744/
Платформа: Android
Если вы всегда хотели написать плагин для Android Studio, но боялись спросить, то вот начальная статья о том, как это можно сделать. В ней рассматриваются важные шаги подготовки, включая настройку Gradle и управление версиями, а также подключение встроенных плагинов IntelliJ Idea и добавление поддержки K2 для плагинов Kotlin. Автор демонстрирует процесс разработки на двух практических примерах: создание настраиваемого диалога для запуска UI-тестов с выбором параметров через терминал Studio и добавление возможности запуска UI-тестов прямо из Gutter редактора, что значительно упрощает рутинные задачи для разработчиков больших Android-проектов.
Статья: https://habr.com/ru/companies/domclick/articles/928744/
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
TimelineView - синхронизированный компонент визуализации двухмерной временной шкалы для Android со встроенной поддержкой Compose.
TimelineView обеспечивает синхронизированную прокрутку с двумя представлениями контента, которые движутся в противоположных направлениях. Первоначально разработанный для визуализации звуковых волн, теперь он является универсальным компонентом, идеально подходящим для любых приложений, основанных на временной шкале.
TimelineView можно использовать для редактирования аудио и видео, для визуализации прогресса, чтения, обработки данных.
TimelineView на GitHub: https://github.com/ferPrieto/TimelineView
Платформа: Android
⭐️: 76
TimelineView обеспечивает синхронизированную прокрутку с двумя представлениями контента, которые движутся в противоположных направлениях. Первоначально разработанный для визуализации звуковых волн, теперь он является универсальным компонентом, идеально подходящим для любых приложений, основанных на временной шкале.
TimelineView можно использовать для редактирования аудио и видео, для визуализации прогресса, чтения, обработки данных.
TimelineView на GitHub: https://github.com/ferPrieto/TimelineView
Платформа: Android
⭐️: 76
Преобразуйте свой iOS-код с помощью принципов SOLID: практическое руководство
Принципы SOLID — это набор правил, которые каждый разработчик должен знать и применять при написании кода, потому что они уменьшают «запах кода», делают его более читабельным и помогают масштабировать проект в любое время с минимальным количеством ошибок.
Статья: https://apptractor.ru/info/articles/ios-solid.html
Платформа: iOS
Принципы SOLID — это набор правил, которые каждый разработчик должен знать и применять при написании кода, потому что они уменьшают «запах кода», делают его более читабельным и помогают масштабировать проект в любое время с минимальным количеством ошибок.
Статья: https://apptractor.ru/info/articles/ios-solid.html
Платформа: iOS
👍1
10 лучших шаблонов Jetpack Compose, которые должен знать каждый Android-разработчик
Независимо от того, являетесь ли вы поклонником Compose или всё ещё пытаетесь понять, что рекомпозиции — это не какие-то штуки из мультивселенной Marvel, эти шаблоны облегчат вам жизнь.
1. Подъем состояния
2. Однонаправленный поток данных (UDF)
3. Слотовые API
4. Интеграция ViewModel + StateFlow
5. Stateless vs Stateful композабл
6. Scaffold для макетов
7. DerivedStateOf для производной UI-логики
8. Помните о Saveable
9. Ключевые эффекты с LaunchedEffect
10. Кастомные модификаторы для согласованности
Статья: https://apptractor.ru/info/articles/10-jetpack-compose-patterns.html
Платформа: Android
Независимо от того, являетесь ли вы поклонником Compose или всё ещё пытаетесь понять, что рекомпозиции — это не какие-то штуки из мультивселенной Marvel, эти шаблоны облегчат вам жизнь.
1. Подъем состояния
2. Однонаправленный поток данных (UDF)
3. Слотовые API
4. Интеграция ViewModel + StateFlow
5. Stateless vs Stateful композабл
6. Scaffold для макетов
7. DerivedStateOf для производной UI-логики
8. Помните о Saveable
9. Ключевые эффекты с LaunchedEffect
10. Кастомные модификаторы для согласованности
Статья: https://apptractor.ru/info/articles/10-jetpack-compose-patterns.html
Платформа: Android
👎3🫡3👍1
Position - это готовая к Swift 6 библиотека определения местоположения на основе акторов для iOS и macOS с современными async/await API и поддержкой AsyncSequence.
Главные преимущества: полная поддержка параллелизма Swift 6 с изоляцией акторов, современный async/await, реактивные обновления местоположения, направления и авторизации, потокобезопасность по умолчанию с поддержкой параллелизма Swift, настраиваемая точность определения местоположения и т.п.
Position на GitHub: https://github.com/piemonte/Position
Платформа: iOS
⭐️: 87
Главные преимущества: полная поддержка параллелизма Swift 6 с изоляцией акторов, современный async/await, реактивные обновления местоположения, направления и авторизации, потокобезопасность по умолчанию с поддержкой параллелизма Swift, настраиваемая точность определения местоположения и т.п.
Position на GitHub: https://github.com/piemonte/Position
Платформа: iOS
⭐️: 87
Рисуем чайник в Metal
Сегодня научимся рендерить 3D модель чайника при помощи Metal API. В процессе познакомимся с устройством модели, настроим пайплайн Metal и напишем шейдеры.
Статья: https://habr.com/ru/articles/930894/
Платформа: iOS
Сегодня научимся рендерить 3D модель чайника при помощи Metal API. В процессе познакомимся с устройством модели, настроим пайплайн Metal и напишем шейдеры.
Статья: https://habr.com/ru/articles/930894/
Платформа: iOS
Работа с телевизионными каналами на Android TV: учимся использовать TIF в 2025. Стартовый гайд для разработчиков
При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.
Статья: https://habr.com/ru/companies/ru_mts/articles/928726/
Платформа: Android
При создании приложения под Android TV у вас наверняка могут возникнуть вопросы: как получить доступ к списку телевизионных каналов и как организовать у себя трансляцию? В этом материале я отвечу на них и расскажу про взаимодействие с телевизором с помощью Android TV Input Framework (TIF), а также получение через него списка доступных каналов. По сути это первый шаг к созданию полноценного TV-приложения.
Статья: https://habr.com/ru/companies/ru_mts/articles/928726/
Платформа: Android
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Взгляд на мой процесс отладки (с реальными примерами)
Я работаю iOS-разработчиком уже более 7 лет и за это время работал над множеством приложений разного размера и сложности. Хотя проекты различались по тематике и технологическому стеку, одно оставалось неизменным — необходимость диагностики и исправления ошибок.
Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. Это стало для меня особенно важно при работе над собственными инди-приложениями, поскольку ресурсы и время ограничены, и мне нужно использовать их максимально эффективно, при этом ставя на первое место удобство пользователей.
В этой статье я поделюсь несколькими примерами реальных ошибок, которые я недавно исправил в своих приложениях, и покажу вам весь процесс отладки в каждом случае.
Статья: https://apptractor.ru/info/articles/vzglyad-na-moy-protsess-otladki-s-realnymi-primerami.html
Платформа: iOS
Я работаю iOS-разработчиком уже более 7 лет и за это время работал над множеством приложений разного размера и сложности. Хотя проекты различались по тематике и технологическому стеку, одно оставалось неизменным — необходимость диагностики и исправления ошибок.
Знание того, как отлаживать приложение, и знание или хотя бы знакомство с имеющимися в вашем распоряжении инструментами — это навык, который сэкономит вам много времени и позволит быстрее перейти к следующей задаче. Это стало для меня особенно важно при работе над собственными инди-приложениями, поскольку ресурсы и время ограничены, и мне нужно использовать их максимально эффективно, при этом ставя на первое место удобство пользователей.
В этой статье я поделюсь несколькими примерами реальных ошибок, которые я недавно исправил в своих приложениях, и покажу вам весь процесс отладки в каждом случае.
Статья: https://apptractor.ru/info/articles/vzglyad-na-moy-protsess-otladki-s-realnymi-primerami.html
Платформа: iOS
👍2