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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
iOS Clean architecture

Принёс вам сразу 2 статьи про Clean architecture.

• iOS Clean Architecture (SwiftUI, Combine, Dependency Injection)
• iOS Clean architecture (MVVM, Repository, URLSession, Swift)
👍7🔥3👎2💩2👏1
Swift iOS interview questions and answers

Большой цикл статей для подготовки к собесам по iOS(общие вопросы, Swift, SwiftUi, архитектура, design pattern и т.д.).

• Part 1 – Language features
• Part 2 – Auto layout & UIKit
• Part 3 – Threading & concurrency
• Part 4 – Memory management
• Part 5 – Architecture and design pattern
• IOS Developer – Bonus Interview Questions

SwiftUI Interview Questions And Answers

• Part 1 – UI Basics
• Part 2 – UI Advance
• Part 3 – Data Flow & Communication
👍15🔥41
System Design Interview

В догонку к предыдущему посту, несколько свежих статей по System Design Interview.

Там не по мобилкам, а на более общие темы (балансеры, CDN, API Gateway, Proxy, Caching, Search, Databases и т.д.). Для общего развития тоже неплохо почитать.

• System Design Master Template: How to Answer Any System Design Interview Question
• 16 System Design Concepts
• 10 System Design Interview Questions (With Answers)
👍7🔥4🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Infinite Carousel - Infinite Page Tab View - SwiftUI Tutorials - Xcode 14

Туториал по реализации бесконечной карусели на SwiftUI.

Смотреть 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥42
Свое мобильное приложение: от идеи до разработки, продвижения и развития

Довольно интересная и полезная статья о том, с чего начать создание своего приложения, как потом его продвигать и развивать.

👉 Проработка идеи
👉 UX/UI
👉 Разработка
👉 Аналитика приложения
👉 Продвижение
👉 Развитие

Читать (Ru)
🔥10👍2🤔21👏1
Хеш-таблица, хеш-функция в Swift

Базовая статья про то, как устроена и работает хеш-таблица в Swift.

• Хеш-таблица
• Как работает хеш-функция
• Преобразование в Индекс
• Работа с коллизиями
• Время выполнения

Читать (Ru)
🔥16👍53
Deadlocks in Swift explained: detecting and solving

Неплохая статья, про взаимные блокировки(deadlocks) в Swift. Что такое deadlock, причины возникновения, способы обнаружения и возможные варианты решения.

Читать (En)
👍93🔥3
Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи

Разбор наиболее популярных способов хранения данных в iOS. Какой способ для каких кейсов подходит, плюсы и минусы каждого подхода.

• UserDefaults
• Property lists
• Keychain
• NSCache
• Базы данных

Читать (Ru)
15🔥10👍3
Учимся определять способность Core Data к легковесной миграции до загрузки контейнера

В статье рассказывается, как свести к минимуму последствия изменений структуры данных и их негативное влияние.

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

Читать (Ru)
👍102🔥1💩1
Почему MVx архитектуры всегда получаются плохо

Статья с разбором проблем в архитектурных паттернах в MVx.

• Проблема остатка
• Проблема масштабирования
• Проблема разрывов в логике

Читать (Ru)
👍7😁4🤡4🤔3🔥21
Модульное тестирование в iOS: все, что надо знать. Часть 1

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

Читать (Ru)
👍11🔥4👎21💩1
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