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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
50+ SwiftUI Open Source Projects With Guided Tutorials

Большая подборка open-source проектов на SwiftUI. Графики, анимации, пикеры, вьюверы, виджеты, кастомные компоненты, готовые проекты и прочее.

Читать (En)
Полезные iOS-инструменты для дебаггинга

Большая статья с разбором популярных инструментов для дебаггинга(Code, View, Memory, Network, etc).

• print(...)
• LLDB
• Debug View Hierarchy
• Slow Animations
• Color Blended Layers
• Reveal
• Memory Graph Debugger
• Debug Navigator
• Charles
• Postman
• Network Link Conditioner
• Time Profiler
• Animation Hitches

Читать (Ru)
Модульное тестирование в iOS: всё, что надо знать. Часть 2

2-часть из цикла статей «Модульное тестирование в iOS».

В статье рассказывается про «чистые» тесты и виды имитирующих объектов, подменяющие реальные на время теста.

Читать (Ru)
.xcstrings в Xcode 15

С приходом Xcode 15, локализация и плюрализация строк были значительно улучшены, теперь там один файл xcstrings – каталог, который хранит в себе все ключи и строки как для переводов на другие языки, так и для переводов для множественного числа.

Для старых версий iOS всё это бэкпортится путём разбиения xcstrings на .strings и .stringsdict, соответстенно по капотом используется старый формат.

В статье как раз и разбирается работа с xcstrings в Xcode 15.

Читать (Ru)
Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов

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

👉 Планирование разработки
👉 Начало разработки
👉 Выкладка в магазин приложений
👉 Набираем команду
👉 Кодревью

Может быть полезно как интервьюерам, так и кандидатам.

Читать (Ru)
Разбираю Swift Runtime на детали

Статья с разбором Swift Runtime.

👉 Что такое Runtime?
👉 Где появляется Runtime и зачем?
👉 Как происходит взаимодействие?
👉 Процесс компиляции

Читать (Ru)
Логи Xcode — читаем самостоятельно?

Еще одна статья про логи, в которой разбирается как и где Xcode хранит свои логи, что такое SLF0 и как все это читать.

Читать (Ru)
This media is not supported in your browser
VIEW IN TELEGRAM
Animating Carousel Transitions in SwiftUI

Пример реализации карусели с анимацией на SwiftUI.

👉 Painting of The Day
👉 The Problem – How to animate Carrousel Transitions in SwiftUI?
👉 SwiftUI Animated Carrousel Code Example
👉 Summary – Animating View Transitions in SwiftUI

Читать (En)
Sticky Header в SwiftUI

Простой гайд по реализации Sticky Header на SwiftUI.

Код на GitHub → HabrHeader

Читать (Ru)
Unit Testing and UI Testing in iOS

Руководство по настройке и написанию Unit/Ui тестов.

• Configure Unit and UI tests in new and existing projects
• Understand the life cycle of the test case
• Add a Unit test case with an example
• Add a UI test case with an example
• Best Practices
• Conclusion

Читать (En)
This media is not supported in your browser
VIEW IN TELEGRAM
Animate background with color gradient in SwiftUI

Пример реализации анимированного, градиентного бекграунда на SwiftUi.

Читать (En)
Исчерпывающее руководство по настройке Jenkins под iOS в 2023 году

Подробный гайд по настройке Jenkins под iOS.

👉 Установка зависимостей
👉 Настройка джобов
👉 Настройка вашего Jenkinsfile
👉 Зависающие сборки
👉 Заключение

Оригинал тут: Step-by-Step Jenkins Setup for iOS in 2023 | Ultimate Guide

Читать (Ru)
iOS Developer Roadmap 2023

Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.

Роадмап по iOS с подборкой ресурсов по некоторым темам.

Читать (En)
Про многопоточность. Operation

Еще один материал про многопоточку, в частности про Operation.

👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение

У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.

Ссылки на все части

• Thread
• GCD
• Operation

Читать (Ru)
UICollectionView внутри UICollectionView программно

Статья с примером реализации вложенного CollectionView программно.

Код на GitHub → Collection-view-challenge

Читать (Ru)
Server-Driven UI using SwiftUI

Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.

👉 Window
👉 Container
👉 Layout
👉 Content View

Читать (En)
Swift и Objective-C в одном SDK. Стерпится, слюбится

Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.

Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.

👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс

Читать (Ru)
Forwarded from Mobile Native ️️
Что посмотреть на выходных.

Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.

Android

• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень

iOS

• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
Расширенное управление памятью с помощью Unsafe Swift

В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.

• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение

Читать (Ru)
Forwarded from Mobile Native ️️
Основы алгоритмов

Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.

С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.

👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы

Читать (Ru)