50+ SwiftUI Open Source Projects With Guided Tutorials
Большая подборка open-source проектов на SwiftUI. Графики, анимации, пикеры, вьюверы, виджеты, кастомные компоненты, готовые проекты и прочее.
Читать (En)
Большая подборка open-source проектов на SwiftUI. Графики, анимации, пикеры, вьюверы, виджеты, кастомные компоненты, готовые проекты и прочее.
Читать (En)
July 13, 2023
Полезные 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)
Большая статья с разбором популярных инструментов для дебаггинга(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)
July 14, 2023
Модульное тестирование в iOS: всё, что надо знать. Часть 2
2-часть из цикла статей «Модульное тестирование в iOS».
В статье рассказывается про «чистые» тесты и виды имитирующих объектов, подменяющие реальные на время теста.
Читать (Ru)
2-часть из цикла статей «Модульное тестирование в iOS».
В статье рассказывается про «чистые» тесты и виды имитирующих объектов, подменяющие реальные на время теста.
Читать (Ru)
July 18, 2023
.xcstrings в Xcode 15
С приходом Xcode 15, локализация и плюрализация строк были значительно улучшены, теперь там один файл xcstrings – каталог, который хранит в себе все ключи и строки как для переводов на другие языки, так и для переводов для множественного числа.
Для старых версий iOS всё это бэкпортится путём разбиения xcstrings на .strings и .stringsdict, соответстенно по капотом используется старый формат.
В статье как раз и разбирается работа с xcstrings в Xcode 15.
Читать (Ru)
С приходом Xcode 15, локализация и плюрализация строк были значительно улучшены, теперь там один файл xcstrings – каталог, который хранит в себе все ключи и строки как для переводов на другие языки, так и для переводов для множественного числа.
Для старых версий iOS всё это бэкпортится путём разбиения xcstrings на .strings и .stringsdict, соответстенно по капотом используется старый формат.
В статье как раз и разбирается работа с xcstrings в Xcode 15.
Читать (Ru)
July 20, 2023
Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов
Статья про один из вариантов проведения собеса с помощью бизнес-кейсов. В процессе такого собеса определяется способность разработчика решать проблемы бизнеса, hard и soft скиллы, креативное мышление и способности быстро принимать решения.
👉 Планирование разработки
👉 Начало разработки
👉 Выкладка в магазин приложений
👉 Набираем команду
👉 Кодревью
Может быть полезно как интервьюерам, так и кандидатам.
Читать (Ru)
Статья про один из вариантов проведения собеса с помощью бизнес-кейсов. В процессе такого собеса определяется способность разработчика решать проблемы бизнеса, hard и soft скиллы, креативное мышление и способности быстро принимать решения.
👉 Планирование разработки
👉 Начало разработки
👉 Выкладка в магазин приложений
👉 Набираем команду
👉 Кодревью
Может быть полезно как интервьюерам, так и кандидатам.
Читать (Ru)
July 27, 2023
Разбираю Swift Runtime на детали
Статья с разбором Swift Runtime.
👉 Что такое Runtime?
👉 Где появляется Runtime и зачем?
👉 Как происходит взаимодействие?
👉 Процесс компиляции
Читать (Ru)
Статья с разбором Swift Runtime.
👉 Что такое Runtime?
👉 Где появляется Runtime и зачем?
👉 Как происходит взаимодействие?
👉 Процесс компиляции
Читать (Ru)
July 28, 2023
Логи Xcode — читаем самостоятельно?
Еще одна статья про логи, в которой разбирается как и где Xcode хранит свои логи, что такое SLF0 и как все это читать.
Читать (Ru)
Еще одна статья про логи, в которой разбирается как и где Xcode хранит свои логи, что такое SLF0 и как все это читать.
Читать (Ru)
July 29, 2023
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)
Пример реализации карусели с анимацией на 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)
August 1, 2023
Sticky Header в SwiftUI
Простой гайд по реализации Sticky Header на SwiftUI.
Код на GitHub → HabrHeader
Читать (Ru)
Простой гайд по реализации Sticky Header на SwiftUI.
Код на GitHub → HabrHeader
Читать (Ru)
August 7, 2023
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)
Руководство по настройке и написанию 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)
August 8, 2023
This media is not supported in your browser
VIEW IN TELEGRAM
Animate background with color gradient in SwiftUI
Пример реализации анимированного, градиентного бекграунда на SwiftUi.
Читать (En)
Пример реализации анимированного, градиентного бекграунда на SwiftUi.
Читать (En)
August 10, 2023
Исчерпывающее руководство по настройке Jenkins под iOS в 2023 году
Подробный гайд по настройке Jenkins под iOS.
👉 Установка зависимостей
👉 Настройка джобов
👉 Настройка вашего Jenkinsfile
👉 Зависающие сборки
👉 Заключение
Оригинал тут: Step-by-Step Jenkins Setup for iOS in 2023 | Ultimate Guide
Читать (Ru)
Подробный гайд по настройке Jenkins под iOS.
👉 Установка зависимостей
👉 Настройка джобов
👉 Настройка вашего Jenkinsfile
👉 Зависающие сборки
👉 Заключение
Оригинал тут: Step-by-Step Jenkins Setup for iOS in 2023 | Ultimate Guide
Читать (Ru)
August 13, 2023
iOS Developer Roadmap 2023
Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.
Роадмап по iOS с подборкой ресурсов по некоторым темам.
Читать (En)
Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.
Роадмап по iOS с подборкой ресурсов по некоторым темам.
Читать (En)
August 18, 2023
Про многопоточность. Operation
Еще один материал про многопоточку, в частности про Operation.
👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение
У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.
Ссылки на все части
• Thread
• GCD
• Operation
Читать (Ru)
Еще один материал про многопоточку, в частности про Operation.
👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение
У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.
Ссылки на все части
• Thread
• GCD
• Operation
Читать (Ru)
August 21, 2023
UICollectionView внутри UICollectionView программно
Статья с примером реализации вложенного CollectionView программно.
Код на GitHub → Collection-view-challenge
Читать (Ru)
Статья с примером реализации вложенного CollectionView программно.
Код на GitHub → Collection-view-challenge
Читать (Ru)
August 22, 2023
Server-Driven UI using SwiftUI
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
August 22, 2023
Swift и Objective-C в одном SDK. Стерпится, слюбится
Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.
Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс
Читать (Ru)
Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.
Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс
Читать (Ru)
August 24, 2023
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
Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.
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
August 27, 2023
Расширенное управление памятью с помощью Unsafe Swift
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
August 28, 2023
Forwarded from Mobile Native ️️
Основы алгоритмов
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
August 28, 2023