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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
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
Performance Testing для iOS

Статья про то, как можно отслеживать и мерить метрики скорости приложения.

🟢Решения на реальных пользователях
🟢Performance testing
🟢Примеры метрик
🟢Сбор метрик
🟢Запись данных
🟢Последующий анализ

Полезные ссылки из статьи

• Analyzing the performance of your shipping app
• MetricKit и его интеграция
• Writing and running performance tests
• iOS Performance Analysis от EmergeTools
• Работа с XCAttachment

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥95👍3
5 рандомных вопросов на собеседовании iOS разработчика

Короткая статья, в которой разбираются 5 рандомных вопросов для начинающих, которые могут спросить собесе.

👉 Можно ли создать необязательные методы в протоколах?
👉 Чем static отличается от class?
👉 Могут ли ленивые вычисляемые свойства вычисляться больше одного раза?
👉 Почему нельзя вызвать memberwise initializer, если он содержит хотя
бы одно свойство с уровнем private?
👉 Почему классы не обладают memberwise инициализатором как структуры?

Читать (Ru)
5🔥12👍9🤔7
SwiftUI AlignmentGuide

Большая статья с примерами кода, про верстку в SwiftUI с помощью AlignmentGuide.

AlignmentGuide позволяет сделать специальное выравнивание внутри View. Инструмент позволяет строить направляющие для выравнивания в контейнерных типах View (HStack, VStack, ZStack) между родителем и его потомками.

Читать (Ru)
2👍103🔥3
Forwarded from Mobile Native ️️
Собеседование по System Design: как запроектировать и не потеряться

Довольно крутая статья-чеклист про то, как задизайнить условный сервис на System Design собесе и не потеряться.

👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи

Читать (Ru)
8👍105🔥4