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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Пишем свой Swift макрос без лида, ИТ-курсов и кредитов

Ещё одна статья про макросы в Swift 5.9, в которой рассказывается как их можно применять для избавление от бойлерплейта в коде, как их создавать, какие сложности есть с ними и куда всё это движется.

В статье рассматриваются макросы на примере добавления метода copy для всех моделей UI-компонентов.

Читать (Ru)
😁6👍54
Скрытая (на виду) сила KeyPath'ов

KeyPath'ы — важные строительные блоки современных API. Знание их особенностей и аспектов их использования позволит вам создавать удобные, приятные и простые API, которые при этом не допускают возможности ошибиться.

В статье как раз и рассказывается про то, как с их помощью проектировать лучшие API.

Читать (Ru)
👍43👎2🔥2🤔2
Typed throws in Swift explained with code examples

Небольшой, но полезный материал с примерами про типизированные ошибки в Swift.

Читать (En)
👍5🔥32
What’s new in SwiftUI for iOS 18

Основное изменение во View – атрибут @MainActor перенесен из тела в сам протокол, это означает, что свойство body вместе со всеми другими свойствами и методами, которые мы создаем, запускается на главном акторе.

Так же появился новый API для цветов и градиентов, ну и дополнительные улучшения в разных компонентах👇

• Custom text effects and animations
• Create zoom animations between views
• Access user contacts with ContactAccessButton
• Create new colors by blending two other SwiftUI colors
• Create a mesh gradient
• Control the size of presented views
• Detect when the size or position of a view changes
• Read the size and position of a scrollview
• Scroll to exact locations inside a scrollview
• Detect whether a scrollview is currently moving or is idle
• Position and style subviews from a different view
• @State inside SwiftUI previews using @Previewable

Читать (En)
🔥5👍42
Удобная навигация в SwiftUI для iOS 16 и выше

Статья с примером реализации наиболее удобной(по мнению автора) навигации на NavigationStack, в концепции старого доброго MVVM.

Читать (Ru)
👍6🔥32👎1
Forwarded from Mobile Native ️️
Как публиковать библиотеку в Maven Central Portal в 2024 году

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.

Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.

Читать (Ru)
🔥3👍21🤡1
Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+

Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.

👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение

Читать (Ru)
🔥7👍43
Отрицание, гнев, торг: как дизайну и разработке найти общий язык

Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.

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

Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.

Читать (Ru)
🔥6👍42😁1
Forwarded from Mobile Native ️️
😁41🔥4💩4👍2👏1
Async await in Swift: The Full Toolkit

Большая статья с примерами кода по доступным инструментам Swift Concurrency.

🟢async / await
🟢async let
🟢Task
🟢Task group
🟢Actors
🟢MainActor
🟢Sendable
🟢Continuations (theory)
🟢Continuations (practice)
🟢AsyncSequence
🟢AsyncStream
🟢Async Algorithms

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍54
Forwarded from Mobile Native ️️
Алгоритмы  —  самый провальный этап собеседований

Довольно интересная статья про алгоритмическую секцию на собеседовании и знание/умение в алгоритмы, которая близко пересекается с моими мыслями на этот счет.

Читать (Ru)
👍10🔥43🤡3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
How to automatically detect memory leaks on CI/CD using UI tests

Полезная статья про использование xcodebuild для автоматического обнаружения утечек памяти на CI/CD с помощью UI-тестов.

🟢Writing a memory usage UI test
🟢Generating a memory graph
🟢Parsing the result bundle and memory graph

xcodebuild – опция(появилась ещё с запуском Xcode 13, но осталась незамеченной многими разработчиками), которая генерирует граф памяти каждый раз, когда тест пользовательского интерфейса, измеряющий XCTMemoryMetrics валится.

Перевод от AppTractor → Как автоматически обнаруживать утечки памяти в CI/CD с помощью UI-тестов

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
Режимы наложения/смешивания в SwiftUI

В статье рассматриваются режимы смешивания, почему они важны, как они реализуются и как их использовать в SwiftUI.

Читать (Ru)
👍7🔥32
Forwarded from Mobile Native ️️
Вредные советы, как приходить с вопросами к техлиду

Абакар Магомедов собрал свой топ-4 вредных советов о том, как не надо приходить с вопросами.

Особенно полезно может быть джунам.

Читать (Ru)
12🔥5👍31
Создание XCFramework из SPM пакета

В статье рассматривается создание XCFramework из SPM пакета, для того, чтобы можно было подключать зависимости в виде собранных библиотек и тем самым не тратить время на пересборку редко изменяемых зависимостей.

Читать (Ru)
👍8🔥6🤔2👎1🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Zoom transitions

Большая и подробная статья с примерами про Zoom transitions в iOS.

🟢When should the zoom transition be used?
🟢Zoom transitions in SwiftUI
🟢Zoom transitions in UIKit
🟢Platform availability
🟢Fine-tuning the source view
🟢Fine-tuning the destination view
🟢Gestures
🟢Can you spin items around as you pinch to close?
🟢Resources

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥3
Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime

В статье рассматриваются основные подходы к поиску утечек памяти в SwiftUI, имеющиеся инструменты и возможный способ застраховаться от утечек в будущем развитии проекта.

Читать (Ru)
12🔥12👍54