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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
CoreData для базовых задач одним методом

Статья с примером, как можно организовать работу с CoreData таким образом, чтобы минимизировать фризы при работе с данными и сделать единое удобное API для изменения и сохранения данных.

• Дочерние контексты
• Решение проблемы с синхронизацией контекстов
• Проблема с очередями
• Финальное решение

Код решения на GitHub → CoreData Example

Читать (Ru)
12👍3🔥3
Хочу в iOS-разработку: к чему готовиться на собеседовании в продуктовую команду

Как выглядит техническое интервью в Альфе.

• Что было не так с собесами в iOS
• Как модернизировали процесс
• К чему пришли
• Тестовое задание: друг или враг
• Что спрашивают на техническом интервью
• Советы кандидатам перед интервью
• Выводы для интервьюеров

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

Читать (Ru)
👍25🤡75🔥4
Чистый код

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

• Часть 1
• Часть 2
🔥223👍3👎1
Как стать iOS-разработчиком?

Достаточно объемная статья про то, что именно нужно изучать, чтоб стать iOS-разработчиком и где искать нужные материалы(язык, платформа, архитектура, алгоритмы, Git и т.д.). А еще, в статье собраны ссылки на различные, полезные источники и сообщества.

Несколько полезных ссылок из статьи

• iOS Developer Roadmap
• How to become an expert in iOS development
• iOS Roadmap for beginners

Читать (Ru)
👍194🔥3
SwiftUI Architecture — A Complete Guide to the MV Pattern Approach

Большая статья на тему организации архитектуры для SwiftUI.

Читать (En)
🔥13👍52🤮1
Чистый код

Тут вышла 3-я, завершающая часть из цикла «Чистый код», про исключения, классы и всё, что не вошло в прошлые разделы.

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

• Часть 1
• Часть 2
• Часть 3

Читать (Ru)
👍16🔥64
Многомодульное iOS-приложение: подходы к организации межмодульного взаимодействия

Вторая статья из цикла «Многомодульное iOS-приложение» про оптимизации сборки проекта и выборе вариантов линковки артефактов компиляции.

• Способы уменьшения влияния критического пути на сборку приложения
• Static vs Dynamic(размер приложения, время старта, безопасность, время ĸомпиляции)
• Что учесть при выборе способа линковки модуля
• Релизный процесс модуля
• Сторонние зависимости или DIY
• Типы сторонних зависимостей

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

Тут выложили доклады с Mobius 2022 Autumn.

Android

• Как пройти архитектурную секцию собеседования
• Навигируемся в Jetpack Compose
• Android Navigation at scale
• Какие параметры компьютера влияют на скорость Gradle-сборки
• Gradle: Incremental compilation 101
• Нужен ли Bazel в Android-разработке?
• The Elm Architecture in Prod
• С чем мы столкнулись при создании российского магазина Android-приложений
• Android Insets и анимация клавиатуры
• GraphQL: как уговорить сервер подстроиться под приложение
• Impact Analysis. Как мы ускоряли юнит-тесты
• Векторные иконки в Android: анатомия, патофизиология, диагностика и хирургия

iOS

• Оптимизация UI с использованием Texture
• Как и зачем дробить iOS-приложение на микрофичи
• Как выстроить DI в многомодульном iOS-приложении при помощи Needle
• TDD + BDD = TBD (Tests, Business, Development). Триада инженерной культуры
• Подписки в iOS: Deep Dive
• Выжимаем максимум из SwiftUI Preview
• Keyboard avoiding in SwiftUI
• Distributed actors и где они обитают
• И ещё чуть-чуть про изображения
• Бот как сердце коммьюнити
• Как Яндекс Go самокаты BLE внедряли

Кроссплатформа

• DivKit — дивная разработка
• Почему KMM — не кроссплатформа?
• Мультиплатформенный Redux и SwiftUI / Jetpack Compose
• Быть или не быть senior'ом
• Как взломать собеседование
• ОС «Аврора» глазами Android- и iOS-разработчика
• Как избежать хаоса: навигация как отдельный логический уровень
• Перестройка: как провести рефакторинг с пользой
• Телефон, NFC и пластиковые карты — романтика!
• Работа с картой в каршеринге
• Как перестать волноваться и начать ревьюить код быстро и эффективно
• Состояние дел в Fuchsia
🔥103👍3
Building Large-Scale Apps with SwiftUI: A Guide to Modular Architecture

Большая статья на тему построения модульной архитектуры для крупных приложений на SwiftUI.

• Modular Architecture
• Understanding the MV Pattern
• Multiple Aggregate Models
• View Specific Logic
• Screens vs Views
• Validation
• Navigation
• Grouping View Events
• Testing

Читать (En)
10👍4🔥4🤔1
The Many Flavors of Unidirectional Architectures in Swift

Как SwiftUI и async/await изменили концепцию контейнеров состояний за последние шесть лет и как это помогает развитию однонаправленных архитектур.

• Аргументы против MVVM в SwiftUI
• Различные формы разделения логики и эффектов
• Отделение логики от эффектов
• Различные способы управления эффектами

Перевод на Хабре → О многообразии форм однонаправленных архитектур в Swift

Читать (En)
🔥72👍2👎1🤔1
The Best Way To Structure Your iOS Project

Неплохая статья для начинающих с примером организации структуры проекта.

Если коротко

- Храните рядом файлы, которые связаны друг с другом или имеют что-то общее
- Общие компоненты выносите в отдельные папки, например UI с детализацией (Indicators, TextFields, Buttons и т.д.)

Читать (En)
👍15🔥52
Безопасная локализация строк в iOS: Localinter

Ребята из Ozon Tech делятся опытом как побороли типичные проблемы локализации для iOS-проектов, зачем собрали свой линтер для локализации и как это всё помогло упростить и автоматизировать процесс.

Читать (Ru)
🔥13👍4🤡21🤔1
Swift Concurrency Instrument: чем он полезен iOS-разработчику

В Xcode 14 появился специальный шаблон профилирования в Xcode Instruments — Swift Concurrency. Он позволяет наглядно визуализировать работу с асинхронным кодом.

В статье ребята из Surf разбирают, что нам может показать Swift Concurrency шаблон и как его использовать. А также на простых примерах показывают, какие ошибки можно обнаружить с его помощью.

Читать (Ru)
12👍3🔥2
iOS Tools

Несколько сервисов с полезной инфой в структурированном виде(разрешения девайсов, версии инструментов, тулзы, ссылки на гайды, cheatsheets и прочее).

👉 Screensizes
👉 iOS-Resolution
👉 iOS Ref
🔥143👍2🍓1
iOS Interview Prep

Еще один, большой цикл статей для подготовки к собесам.

• Memory management
• Autorelease Pool
• Blocks and Closures
• Event Handling & Responder Chain
• Singletons
• Dependency Injection
• Concurrency Part 1
• Concurrency Part 2
• View and Layout
• App performance

❗️Medium может не открываться из РФ, т.к. РКН его заблокировал 😕
🔥204👍2
Современные паттерны навигации в iOS-приложениях

Перевод статьи Фрэнка Рауша дизайнера интерфейсов, про то, как настроить навигацию в iOS-приложении так, чтобы пользователю было легко взаимодействовать с интерфейсом.

• Структурная навигация
• Модальная навигация
• Внутренняя навигация

Оригинал тут: Modern iOS Navigation Patterns

Читать (Ru)
👍14🔥32
WWDC 2023. Что нового для разработчика

Обзорная статья анонсированных сессий от Анны Жарковой.

• Интерактивные виджеты
• SwiftUI
• Пространственные вычисления
• Swift
• Безопасность, работа с сетью, местоположением
• Новинки Xcode, AppStore

Читать (Ru)
👍12🔥41
Новый TipKit от Apple поможет разработчикам научить людей пользоваться приложениями

Apple представила новый набор инструментов для разработчиков – TipKit, который облегчит знакомство пользователей с мобильными приложениями, показывая им советы о том, как начать работу.

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

Читать (Ru)
17🔥5😁2👍1
Apple Design Resources

Apple выкатила UI kit iOS 17 в Figma. Там много полезного, различные варианты компонентов и контроллов, шаблоны, стили и т.д. + ссылки на гайды.

P.S. не забудьте пошарить ссылку своим дизайнерам 😉

Смотреть 🌐
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍4🔥4