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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
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
What's New in Swift 5.9

🟢Convenience Async[Throwing]Stream.makeStream methods
🟢if and switch expressions
🟢Importing forward declared Objective-C interfaces and protocols
🟢DiscardingTaskGroups
🟢Add sleep(for:) to Clock
🟢Custom Actor Executors
🟢Expression Macros
🟢Attached Macros
🟢Freestanding Declaration Macros
🟢Package Manager Support for Custom Macros
🟢Value and Type Parameter Packs

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍43
What’s new in SwiftUI for iOS 17

Про доступность visionOS SDK вы уже и так знаете, нет смысла писать. Вместо этого, предлагаю ознакомиться с обновлениями SwiftUI в iOS 17.

Scroll view improvements

• How to make a ScrollView snap with paging or between child views
• How to disable ScrollView clipping so contents overflow
• How to make a ScrollView start at the bottom
• How to indent the content or scroll indicators in a ScrollView
• How to make views scroll with a custom transition
• How to flash the scroll bar indicators of a ScrollView or List
• How to enable vertical page scrolling

Drawing and animation improvements

• How to add Metal shaders to SwiftUI views using layer effects
• How to dynamically adjust the appearance of a view based on its size and location
• How to animate SF Symbols
• How to run a completion callback when an animation finishes
• How to create multi-step animations using phase animators
• How to combine shapes to create new shapes
• How to adjust the size of a view relative to its container

More welcome improvements

• How to add in-app purchases in SwiftUI
• How to add an inspector to any view
• How to detect and respond to key press events
• How to control which NavigationSplitView column is shown in compact layouts
• How to add haptic effects using sensory feedback
• How to tell the user that no content is available
• How to read the red, green, and blue values from a Color
• How to make buttons that repeat their action when pressed

Читать (En)
9🔥5👍1
Многопоточность в iOS-разработке

Разбор с примерами, различных инструментов для мнопоточки в iOS(основы, особенности, проблемы, что в каких случаях использовать и т.д.).

• Основы многопоточности
• Многопоточность в Swift
• Использование pthread и NSThread
• Grand Central Dispatch в Swift: углубленный
обзор с примерами
• NSLock в Swift: управление доступом к общим
ресурсам
• Await и async в Swift: новые горизонты
многопоточности

Читать (Ru)
🔥25👍64
Как катить фичи без релизов

Две части из цикла «Как катить фичи без релизов».

В первой части рассказывается про один из подходов BDUI – Виджеты, который позволяет переиспользовать компоненты, гибко настраивать и обновлять функциональность приложения без релизов.

Во второй части чуть больше технических деталей как это всё настраивается, конфигурируется и превращается в верстку с учётом дизайн-системы.

• Часть 1. Про виджеты
• Часть 2. Про низкоуровневый Server Driven UI
🔥122👍2
Немного о перечислениях в Swift

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

• Singleton enums
• No-payload strategy
• Single-payload strategy
• Many-payloads strategy
• Resilient strategy

Читать (Ru)
🔥135👍2😁1💩1
Forwarded from Mobile Native ️️
Git.pdf
641.1 KB
Ловите шпаргалку по Git
👍21🔥111