Profiling apps using Instruments
Apple выпустила новую серию туториалов по использованию Instruments для анализа производительности, ресурсов и поведения приложений.
• Getting started with hang analysis
• Identifying a hang
• Analyzing main thread activity
• Determining execution frequency
• Reducing main thread work by doing less
• Executing work asynchronously
• Understanding synchronous and asynchronous hangs
• Ensuring work executes on a background thread
Читать (En)
Apple выпустила новую серию туториалов по использованию Instruments для анализа производительности, ресурсов и поведения приложений.
• Getting started with hang analysis
• Identifying a hang
• Analyzing main thread activity
• Determining execution frequency
• Reducing main thread work by doing less
• Executing work asynchronously
• Understanding synchronous and asynchronous hangs
• Ensuring work executes on a background thread
Читать (En)
4👍9❤7🔥5
Осторожно, Combine! Откуда берутся утечки памяти, потеря эвентов, нестабильность операторов и что с этим всем делать
Большая статья, в которой разработчик из Яндекс Диска делится опытом внедрения Combine и рассказывает как исправляли проблемы, с которыми столкнулсь.
🟢 Как решали проблему потокобезопасности
🟢 Как исправить потерю деманда и утечки памяти
🟢 Как не терять эвенты
🟢 Как решали проблемы со стандартным шедулером
🟢 Что делать, если нельзя полагаться на стабильность дефолтных операторов
🟢 Отсутствие какого-либо дебага
🟢 Отсутствие большинства важных операторов
Библиотека с фиксами из статьи → CombineKit
Читать (Ru)
Большая статья, в которой разработчик из Яндекс Диска делится опытом внедрения Combine и рассказывает как исправляли проблемы, с которыми столкнулсь.
Библиотека с фиксами из статьи → CombineKit
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍11🔥5❤4
iOS Developer Toolset to boost productivity
Подборка полезных инструментов для iOS-разработчика.
🟢 Types / Models Generator
🟢 Gitignore Generator
🟢 Sequence Diagram Generator
🟢 Frameworks Availability Checker
🟢 Device Resolution Checker
🟢 Constraints Errors Translator
🟢 Xcode Tips
🟢 Proxyman
🟢 Charles
Читать (En)
Подборка полезных инструментов для iOS-разработчика.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥11❤5👍5👏1
SwiftUI Cookbook • Building for Multiple Platforms with SwiftUI
Welcome to the Building for Multiple Platforms with SwiftUI section. SwiftUI’s power lies in its ability to seamlessly work across all Apple platforms. This part of the guide aims to give you the confidence and know-how to create SwiftUI apps that are truly multiplatform.
• Create a macOS App with SwiftUI
• Create a watchOS App with SwiftUI
• Create an iOS & iPadOS App with SwiftUI
• Create a tvOS App with SwiftUI
• Create Multiplatform Components in SwiftUI
• Write Platform-Specific Code Using Conditional Compilation
• Import Platform-Specific Frameworks Using Conditional Compilation
• Adapt SwiftUI Layouts for Various Screen Sizes
• Test Your SwiftUI App on Different Devices & Platforms
• Use App Extensions in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
Welcome to the Building for Multiple Platforms with SwiftUI section. SwiftUI’s power lies in its ability to seamlessly work across all Apple platforms. This part of the guide aims to give you the confidence and know-how to create SwiftUI apps that are truly multiplatform.
• Create a macOS App with SwiftUI
• Create a watchOS App with SwiftUI
• Create an iOS & iPadOS App with SwiftUI
• Create a tvOS App with SwiftUI
• Create Multiplatform Components in SwiftUI
• Write Platform-Specific Code Using Conditional Compilation
• Import Platform-Specific Frameworks Using Conditional Compilation
• Adapt SwiftUI Layouts for Various Screen Sizes
• Test Your SwiftUI App on Different Devices & Platforms
• Use App Extensions in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
3👍4🔥3❤2
Forwarded from Mobile Native ️️
iOS 18 для разработчиков: Ключевые изменения в UIKit
Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..
🟢 Сравнение кода в iOS 17 и iOS 18
🟢 Новый TabBar в iPadOS 18
🟢 Плавные переходы (fluid transitions)
🟢 Animations
🟢 Gesture recognizers
🟢 Automatic trait tracking
🟢 List environment trait
🟢 UIUpdateLink
🟢 Symbol animations
🟢 Sensory feedback
🟢 Text improvenments
🟢 Writing Tools support
Читать (Ru)
Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥8👍4❤2
iOS Performance Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
🟢 Reduce App Size
🟢 Reduce Build time
🟢 App Launch time
🟢 App Runtime
🟢 App Hang
🟢 Memory usage
🟢 CI
GitHub → iOS-Performance-Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
GitHub → iOS-Performance-Optimization
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤10🔥5👍2
Корзина в Додо Пицце на iOS 14: баг длиной в полгода
iOS техлид из Додо Пицца рассказывает историю о том, как внимательность и упорство творят чудеса, и помогают решать задачи, на которые другие бы просто забили.
Читать (Ru)
iOS техлид из Додо Пицца рассказывает историю о том, как внимательность и упорство творят чудеса, и помогают решать задачи, на которые другие бы просто забили.
Читать (Ru)
🔥12❤3👍3
Objective-C не кусается: как перестать бояться Legacy и стать настоящим iOS-ниндзя
Большая статья от Сергея Гнатюка на тему использования старых технологий в iOS-разработке, таких как Objective-C и являются ли такие технологии легаси.
🟢 Статистика использования языков
🟢 Историческая справка
🟢 Сильные и слабые стороны
🟢 Совместимость
🟢 Миграция
🟢 Рекомендуемые материалы для расширения кругозора
🟢 Заключение
Читать (Ru)
Большая статья от Сергея Гнатюка на тему использования старых технологий в iOS-разработке, таких как Objective-C и являются ли такие технологии легаси.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥8🤡8❤3👍2
The perfect iOS networking layer
Несколько больших статей на тему создания модульного, расширяемого и тестируемого сетевого слоя в iOS.
Первая часть про проектирование API-клиента(запросы, кейсы использования, авторизация, логгирование), вторая часть – модульные и интеграционные тесты.
• Part 1
• Part 2
Несколько больших статей на тему создания модульного, расширяемого и тестируемого сетевого слоя в iOS.
Первая часть про проектирование API-клиента(запросы, кейсы использования, авторизация, логгирование), вторая часть – модульные и интеграционные тесты.
• Part 1
• Part 2
5👍10❤3🔥3🤮2
Faster iOS Networking with Shared Dictionary Compression
И ещё одна статья в догонку про Networking, а именно про то, как с помощью Shared Dictionary Compression ускорить сетевое взаимодействие.
Правда этот способ несколько специфичный, т.к. требует определенных сетевых соглашений клиента с бэком – может подойти не всем.
Читать (En)
И ещё одна статья в догонку про Networking, а именно про то, как с помощью Shared Dictionary Compression ускорить сетевое взаимодействие.
Правда этот способ несколько специфичный, т.к. требует определенных сетевых соглашений клиента с бэком – может подойти не всем.
Читать (En)
🔥4👍3🤔2
Swift async / await на примерах
В статье подробно рассматриваются ключевые слова
🟢 Что такое
🟢 Пример – Async/await. Http запрос
🟢 Пример – Async computed property. Загрузка изображения
🟢 Пример – Async let. Одновременная загрузка двух изображений
🟢 Пример – AsyncSequence. Отображение процента загрузки изображения
🟢 Пример – AsyncStream. Перенос логики загрузки изображения
🟢 Итоги
🟢 Полезные ссылки
Читать (Ru)
В статье подробно рассматриваются ключевые слова
async/await
, их принцип работы и что означает "неблокирующее ожидание".swift async/await
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍9❤5🔥4
Forwarded from Mobile Native ️️
Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Читать (Ru)
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Тактильная обратная связь (или haptic feedback) — использование сложных вибрационных паттернов и виброволн для передачи информации пользователю. Если говорить проще и понятнее:
Тактильный отклик — это способ, с помощью которого устройства могут «говорить» с нами с помощью вибраций.
Читать (Ru)
👍7🔥4❤2💩2
Prevent screenshot capture of sensitive SwiftUI views
Пошаговый гайд с примерами кода, как запретить создание скриншотов в SwiftUI для экранов с конфиденциальной инфой.
Читать (En)
Пошаговый гайд с примерами кода, как запретить создание скриншотов в SwiftUI для экранов с конфиденциальной инфой.
Читать (En)
🔥5❤2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Implement blurring when multitasking in SwiftUI
Статья с примером реализации вот такого блюра на SwiftUI, при переходе в многозадачный или фоновый режим.
Читать (En)
Статья с примером реализации вот такого блюра на SwiftUI, при переходе в многозадачный или фоновый режим.
Читать (En)
6🔥9❤4👍2
App Intents: новые возможности для разработчиков в iOS 18
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
🟢 Что такое App Intents
🟢 Как создать AppIntent? (Intent)
🟢 Пример Intent
🟢 Пример AppEntity
🟢 Что такое Shortcuts
🟢 Shortcuts как составляющая часть фреймворка AppIntents
🟢 Shortcuts как приложение
🟢 Гайдлайн от Apple по созданию App Intents
🟢 Открытие приложения при работе с App Intents
🟢 Практика
🟢 Новые фишки AppIntents, которые могут быть полезны
🟢 Обновления для разработчиков
🟢 UnionValue
🟢 Generated titles
🟢 Framework improvements
🟢 Вывод
Читать (Ru)
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍7❤5🔥4
SwiftUI Cookbook • Accessibility in SwiftUI
Welcome to the Accessibility in SwiftUI section. Inclusive design ensures that your apps are usable by as many people as possible. This part of the guide is all about making your SwiftUI applications accessible and user-friendly for all, including users with disabilities.
• Responding to Dynamic Type in SwiftUI for Accessibility
• Add VoiceOver to SwiftUI Views
• Make SwiftUI Images Accessible with Descriptions
• Describe SwiftUI View Values for Accessibility
• Add Custom Accessibility Content in SwiftUI Views
• Implementing Dark Mode Accessibility in SwiftUI
• Add Custom Accessibility Actions to SwiftUI Views
• Control Activation Points for Accessibility in SwiftUI
• Tailor VoiceOver Speech Properties in SwiftUI
• Navigate with Accessibility Rotors in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
Welcome to the Accessibility in SwiftUI section. Inclusive design ensures that your apps are usable by as many people as possible. This part of the guide is all about making your SwiftUI applications accessible and user-friendly for all, including users with disabilities.
• Responding to Dynamic Type in SwiftUI for Accessibility
• Add VoiceOver to SwiftUI Views
• Make SwiftUI Images Accessible with Descriptions
• Describe SwiftUI View Values for Accessibility
• Add Custom Accessibility Content in SwiftUI Views
• Implementing Dark Mode Accessibility in SwiftUI
• Add Custom Accessibility Actions to SwiftUI Views
• Control Activation Points for Accessibility in SwiftUI
• Tailor VoiceOver Speech Properties in SwiftUI
• Navigate with Accessibility Rotors in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
❤4🔥3👍1
Task и structured concurrency в Swift
В этой статье подробно рассматривается сущность под названием Task и показывается на примерах, как с ней работать.
А также затрагивается structured concurrency: что это такое, как это понятие связано с Task и почему механизмы языка async/await structured, но не concurrent.
🟢 Task
🟢 Structured concurrency
🟢 Task hierarchy
🟢 Task cancellation
🟢 Итоги
🟢 Полезные ссылки
Читать (Ru)
В этой статье подробно рассматривается сущность под названием Task и показывается на примерах, как с ней работать.
А также затрагивается structured concurrency: что это такое, как это понятие связано с Task и почему механизмы языка async/await structured, но не concurrent.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4👍2
Understanding actors in Swift
В статье рассказывается как работают акторы в Swift и как их использовать для предотвращения data races при работе с concurrency.
🟢 How do Swift actors prevent data races?
🟢 Defining an actor
🟢 Using async/await to access data from an actor
🟢 Actor isolation
🟢 Actor's non-isolated declarations
🟢 Handling thread safety with Sendable types
🟢 Actor reentrancy
Читать (En)
В статье рассказывается как работают акторы в Swift и как их использовать для предотвращения data races при работе с concurrency.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Creating view transitions in SwiftUI
Статья про анимации переходов между view в SwiftUI, с детальным разбором и примерами кода различных эффектов.
Читать (En)
Статья про анимации переходов между view в SwiftUI, с детальным разбором и примерами кода различных эффектов.
Читать (En)
👍4🔥3❤2
Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск
Достаточно крутая и большая статья про низкоуровневые штуки iOS-приложения: как приложение устроено под капотом, какие этапы проходит перед тем, как оказаться на устройстве пользователя, что такое Executable binary и что происходит внутри препроцессора.
Читать (Ru)
Достаточно крутая и большая статья про низкоуровневые штуки iOS-приложения: как приложение устроено под капотом, какие этапы проходит перед тем, как оказаться на устройстве пользователя, что такое Executable binary и что происходит внутри препроцессора.
Читать (Ru)
8🔥11❤4👍4