Swift Tips
3.27K subscribers
458 photos
16 videos
2 files
436 links
Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Потоки под капотом: как работают многопоточность и синхронизация

Большой материал про то, как потоки устроены под капотом: работа потоков, скрытые механизмы, обеспечивающие их функционирование, какую пользу практикующим iOS‑разработчикам приносит понимание внутреннего устройства потоков.

🟢Конкурентность VS параллелизм
🟢Программа
🟢Процесс
🟢Поток
🟢Задача
🟢Kernel threads vs green threads
🟢Потоки на уровне операционной системы
🟢Кооперативная многозадачность
🟢Принудительная многозадачность
🟢Планировщики
🟢Инструменты многопоточности и многозадачность
🟢Закон Амдалла
🟢Полезные в практике свойства потока
🟢Выводы

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥127👍7
Convenient Navigation in SwiftUI for iOS 16 and Above

Пример реализации удобной навигации в связке NavigationStack + MVVM для iOS 16 и выше.

Перевод от AppTractor → Удобная навигация в SwiftUI для iOS 16 и выше

P.S. В комментах к оригинальной статье автору указали на некоторые проблемы такой реализации, так что не забывайте заглядывать в комменты.

Читать (En)
👍74🔥4💩3❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Creating a reusable action menu component in SwiftUI

Гайд по реализации переиспользуемого 'Action Menu' компонента по свайпу на SwiftUI.

🟢Creating a custom view for the action menu
🟢Refactoring ActionMenu for reuse
🟢Creating a view modifier
🟢Styling the action labels
🟢Dismissing the sheet

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2
Глоссарий Swift Concurrency

Справочник основных терминов Swift Concurrency, с краткой информацией по каждому(что это такое и для чего используется).

Читать (En)
6🔥4👍3
All You Need to Know for iOS App Localization

Подробная статья про локализацию iOS-приложений с примерами, советами и лучшими практиками.

🟢String vs. LocalizedStringKey
🟢Providing Context
🟢Pluralization
🟢Formatting Data
🟢Localizing User Interface
🟢Styling Text Without Breaking Localization

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥3
Sheet с автоматическим подсчётом высоты и поддержкой iOS 15

Гайд по реализации нативного Sheet`а, который автоматически подсчитывает свою высоту в зависимости от контента (SwiftUI View), с поддержкой iOS 15.

Читать (Ru)
🔥124👍4
Обновления в Swift Concurrency: что нас ждёт в Swift 6

Большая статья с разбором основных изменений в Swift 6: обзор пропозалов, как теперь работает concurrency-модель, заметки важного/интересного по мнению автора, playground с тестами для каждого пропозала.

ConcurrencyPlayground – в проекте по каждому пропозалу вы можете найти тесты, которые проверяют его функциональность, и сравнить поведение кода для Swift 5 и Swift 6.

Читать (Ru)
👍11🔥65
Structured concurrency в Swift

Собрал все ссылки на посты из цикла про инструменты structured concurrency, async/await, task и TaskGroup.

🟢Swift async/await. Чем он лучше GCD?
🟢Swift async/await на примерах
🟢Task и structured concurrency в swift
🟢Swift TaskGroup на примера
🟢Executors, Actors и их связь с потоками
Please open Telegram to view this post
VIEW IN TELEGRAM
👍95🔥3
Swift 6: What’s New and How to Migrate

Подробная статья с разбором ключевых изменений в Swift 6 и инструкцией по миграции.

🟢In this article
🟢The idea behind Swift 6
🟢The goals of Swift 6
🟢What’s new in Swift 6?
🟢Incrementally migrating your Xcode Projects and packages to Swift 6
🟢Frequently Asked Questions (FAQ) related to Swift 6

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥4👍1
О iOS дизайн системе за 5 мин

Автор статьи делится опытом разбиения монолита на отдельные SPM пакеты и создания дизайн-системы.

Читать (Ru)
🔥6👍32💩1
Drawing maps with Swift Charts

С помощью Swift Charts можно рисовать не только графики, но и различные другие штуки.

В статье как раз показан один из таких кейсов – интерактивные карты с регионами.

Читать (En)
🔥92👍2
Как мы сокращали размер JSONʼа в SDUI

Разработчик из Альфа-Банк рассказывает, как они оптимизировали свой SDUI подход, а именно уменьшали количество передаваемой информации посредством сокращения JSON.

Читать (Ru)
🤮83🔥3👍1💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Making Widgets Interactive using App Intents

Пример реализации интерактивного виджета с использованием App Intents. За счет чего можно оптимизировать и улучшить взаимодействие с пользователем.

Читать (En)
👍6🔥32
Creating Custom SF Symbols

Пошаговый туториал по созданию кастомных SF Symbols.

🟢Creation
🟢Rendering Symbol Customization
🟢Distribution
🟢Usage

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥96👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Mastering SwiftUI Scrolling: Implementing Custom Paging

Детальная статья про работу со скроллом в SwiftUI, а именно про модификатор scrollTargetBehavior, который позволяет более точно управлять поведением скролла.

Читать (En)
7👍6🔥5
Forwarded from Mobile Native ️️
Чем полезен Server Driven UI

Базовая статья про SDUI: что это такое, из чего состоит, возможности и использование.

Читать (Ru)
👍8👎7🔥3🤔3👏1
Simple Modularization setup for a New App

Полезная статья, в которой рассматривается простая настройка модуляризации iOS-приложения, на основе локальных пакетов.

🟢Why Modularize?
🟢Using Local Packages
🟢Structure
🟢Dependency Management Between Modules(CoreLayer, Domain Layer, Presentation Layer)
🟢Third Party Dependencies
🟢How to start using this?
🟢Scaling the Approach
🟢Conclusion

Код проекта на GitHub → ModularTemplate

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍54
Forwarded from Mobile Native ️️
Заезжаем в Kotlin Multiplatform. Но какой ценой?

В статье вы узнаете историю, как написать целый проект на Kotlin Multiplatform, сколько это стоит и сколько обойдется интеграция с точки зрения цифр.

Эта статья - текстовая расшифровка доклада с осеннего Мобиуса 2024 года 📹

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
💩11👍3🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
Symmetrical and asymmetrical transitions in SwiftUI with the Scroll Transition modifier

Гайд по использованию нового модификатора scrollTransition(_:axis:transition:) для анимированния айтемов во время скролла на SwiftUI.

Читать (En)
👍63🔥3
Формализация принципа Open/Closed: как сохранить обратную совместимость с помощью SOLID

В статье, на примере библиотеки дизайн-системы рассматривается принцип Open / Closed из SOLID, а именно как с его помощью сохранить обратную совместимость.

Читать (Ru)
6🔥4👍3🤡3