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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Упрощаем локализацию iOS-приложения со String Catalogs

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

👉 Что такое Strings Catalogs
👉 Преимущества
👉 Какие бывают статусы
👉 Немного практики
👉 Разные строки для различных устройств
👉 Автоплюрализация
👉 Ручное управление строками
👉 Сколько каталогов можно создавать
👉 Заключение

Читать (En)
🔥123👍3
Кто ты, SwiftData

Статья с разбором основных концепций и киллер-фич SwiftData. Как устроена под капотом и как можно мигрировать с CoreData на актуальную SwiftData.

👉 Концепция @Model
👉 Концепция Model Container
👉 Концепция Predicate
👉 Интеграция со SwiftConcurrency
👉 CoreData и SwiftData вместе
👉 Детали SwiftData

Читать (Ru)
👍64🔥3🤡1
Concurrency-safe global variables to prevent data races

Материал про использование глобальных переменных в многопоточке(что такое глобальные переменные, как не напороться на data races, создание глобальных переменных).

👉 What are global variables?
👉 Creating concurrency-safe global variables
👉 Marking a global variable as nonisolated unsafe

Читать (En)
🔥5👍31
Уменьшаем boilerplate с помощью Swift Macros

Статья с разбором Swift макросов: что такое Swift Macros, сравнение кодогенерации от Apple со сторонними решениями(Liquid, Generamba, Sourcery), как создать собственный Swift Macros.

Читать (Ru)
👍8🔥2🤔1💩1
10 Tips for Writing Cleaner and More Readable Swift Code

Несколько рекомендаций, которые помогу вам писать более понятный и легкий для чтения Swift код.

👉 Observe naming standards
👉 Use blank space
👉 Keep it simple
👉 Comment cod
👉 Use guard statements
👉 Apply enums
👉 Use optionals
👉 Use extensions
👉 Use protocols
👉 Utilize functional programming methods

Читать (En)
👍43🔥2💩1
Forwarded from Mobile Native ️️
Что ждёт мобильную разработку в 2024 году

Яндекс Практикум рассказывает о трендах мобильной разработки, как будет (и будет ли) меняться сфера в 2024 году.

👉 Что такое мобильная разработка и чем она отличается от других направлений
👉 Вакансий стало меньше, но перспективы у джуниоров есть
👉 iOS-разработка никуда не денется — даже несмотря на ограничения
👉 Нативная разработка по-прежнему будет востребованнее кросс-платформенной
👉 Главный приоритет для джуниоров — стабильность, а для работодателей — ресурсность
👉 Нетворкинг и навыки коммуникации будут важны как никогда
👉 Нейросеть — уже привычный инструмент в руках разработчиков
👉 RuStore укрепит позиции, а отечественные операционные системы вряд ли
👉 Apple Vision Pro не повлияет массово на наём и развитие компаний
👉 SwiftUI продолжит набирать популярность
👉 Compose будет популярнее, но не вытеснит XML

Читать (Ru)
🔥6👎32👍1🤡1
Опровергаю пять архитектурных заблуждений

Толковая статья от iOS-разработчика из Тинькофф, с разбором основных заблуждений в вопросах архитектуры. А также с чего начинается архитектура и в чем разница между архитектурными шаблонами и архитектурой.

Топ-5 заблуждений в вопросах архитектуры

👉 MVC — это архитектура приложения
👉 Разработка — это только написание кода
👉 Бизнес-логика — это все, кроме UI
👉 Самый верхний слой — это UI
👉 В UI логику не держим

Читать (Ru)
9🔥5👍2🤡1
Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты

Статья от Ozon Tech, про то, с какими проблемами могут столкнуться пользователи при использовании мобильного сканера и какие есть способы их решить.

👉 Проблемы мобильного сканера
👉 Сравнение инструментов, которые предлагает Apple
👉 Технический обзор одного из них
👉 История его внедрения в приложение и конечные результаты

Читать (Ru)
👍5🔥51
Топ-5 распространенных практик написания хорошего Swift-кода

В статье рассматриваются некоторые ключевые сравнения и практики программирования на Swift, которые могут значительно повысить эффективность вашего кода.

👉 Циклы for и forEach
👉 Проверка диапазона
👉 Использование Map и циклов for для преобразований
👉 Ленивые свойства и немедленная инициализация
👉 Структуры и классы: Выбираем между ссылочными и значимыми типами

Читать (Ru)
7🔥4👍2💩1
iOS — How to Integrate Camera APIs using SwiftUI

Гайд по интеграции Camera API на SwiftUI.

• Display Camera Preview
• Add Camera Manager
• Add a View Model
• Add Camera Screen Design
• Manage the Flashlight
• Manage Focus on Tap
• Handle Zoom in-out with a pinch
• Switch Between Front and Back Camera
• Capture and Save Images to Device

Читать (En)
🔥9👍41
Как работает async/await в Swift

Статья-перевод про то, как устроен async/await под капотом, чего можно добиться и какие нюансы следует учитывать при работе с async/await.

👉 Swift и цель обеспечения безопасности памяти
👉 Проблема конкурентности в Swift
👉 Async/await изнутри
👉 Cooperative Thread Pool
👉 Исполнители
👉 Паттерн async/await
👉 Задачи и структурированный параллелизм
👉 Защита общего изменяемого состояния: акторы
👉 Заключение

Оригинал тут: How async/await works internally in Swift

Читать (Ru)
🔥107👨‍💻3👍1💩1
Forwarded from Mobile Native ️️
API Design 101: From Basics to Best Practices

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

Короткая статья c основами по пректированию API: CRUD, протоколы и механизмы передачи данных, эндпоинты, связи, обратная совместимость, версионирование.

Читать (En)
5🔥5👍1
Forwarded from Mobile Native ️️
System Design Concepts

В догонку серия статей от того же автора на тему System Design: архитектура, DNS, CDN, Data Storage, протоколы, балансёры, масштабируемость и т.д.

👉 6 System Design Interview Concepts
👉 System Design Interview Question: Design Spotify
👉 Mastering Databases
👉 Computer Architecture
👉 Meeting Design Requirements
👉 Architecture of Production Web Apps
👉 Networking Essentials
👍3🔥31
Forwarded from Mobile Native ️️
System Design Interview Survival Guide (2024): Preparation Strategies and Practical Tips

В дополнение к этому посту, ещё один материал про System Design: понимание основ, практические советы, вопросы с собесов, ресурсы для подготовки и т.д.

👉 Understanding the Basics of System Design
👉 Practical Tips for the Interview
👉 Follow the System Design Master Template
👉 Top System Design Interview Questions
👉 System Design Resources and the Strategy
👉 Ready to Ace Your Next Tech Interview?

Читать (En)
🔥5👍31
По граблям, по граблям. Пишем отзывчивый интерактивный виджет IOS 17

Гайд от Анны Жарковой, как с помощью Widget Kit iOS 17 и AppIntent сделать виджет не только интерактивным, но и рабочим и отзывчивым в моменте, и обойти подводные камни, оставленные разработчиками API.

Читать (Ru)
🔥74👍4💩2🤮1
Implementing spoilers in SwiftUI

Гайд по реализации спойлеров как в телеге на SwiftUI, с помощью CAEmitterLayer.

Код на GitHub → Spoiler View Example

Читать (En)
9🔥6👍2
Discovering Swift Async Algorithms package

Статья с разбором некоторых кейсов использования пакета Swift Async Algorithms.

Swift Async Algorithms – пакет от Apple, который реализует часто используемые асинхронные алгоритмы, которые позволяют избавиться от Combine.

Читать (En)
6👍4🔥2👌1
Swift Concurrency Recipes

Репозиторий-сборник с рецептами по работе с SwiftConcurrency.

🟢Creating an Async Context
🟢Using Protocols
🟢Isolation
🟢Structured Concurrency
🟢SwiftUI
🟢Using Libraries not Designed for Concurrency

GitHub → Concurrency Recipes
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍1
Оптимальный архитектурный шаблон iOS-приложения

В статье описывается оптимальный архитектурный шаблон большого iOS-приложения на Swift, выступающего преимущественно в качестве тонкого клиента. Основной упор делается на применение чистой архитектуры.

• Определения и принципы
• Постановка проблемы
• Что хотим получить
• Решение — чистая архитектура
• Принципы SOLID
• Выделение архитектурных уровней в нашем случае
• Компоненты чистой архитектуры iOS
• Краткий обзор распространённых архитектурных шаблонов iOS
• Model-View-Controller
• Model-View
• Шаблоны чистой архитектуры iOS
• VIPER
• VIP (CleanSwift)
• Оптимизация архитектурного шаблона
• Simplified VIP — SVIP (NEW)
• Анатомия SVIP
• Интерактор
• Презентер
• Вид
• Воркер
• Конфигуратор
• Масштабирование
• Пакетная структура проекта
• Заключение
• Полезные ссылки

Читать (Ru)
🔥124👍4👎2😁1
Glur - SwiftUI библиотека для отображения эффективного прогрессивного блюра на основе Metal, аналогично тому, что использует Apple.

GitHub → Glur
👍10🔥7👨‍💻1
Forwarded from Mobile Native ️️
Как и где практиковаться начинающему мобильному разработчику

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

👉 Пет-проекты
👉 Известные приложения
👉 Вклад в Open Source
👉 Хакатоны
👉 Тестовые задания
👉 Стажировки
👉 Решение алгоритмических задач
👉 Портфолио на Github

Читать (Ru)
🔥4👍3👎2🤔1