TGViewer
Channel Public Channel
Swift Tips

Swift Tips

@swift_tips

Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Subscribers
3.17K
Photos
487
Videos
17
Links
463

Showing posts older than #474 · Back to latest

Older Posts 20 shown
Post #473 7.48K
Ускоряем прохождение iOS UI-тестов

Серия статей про то, как ускорить прохождение UI-тестов: что такое test runner и какие бывают, зачем распараллеливать тесты, зачем стартовать приложение с определенного экрана и какие способы реализации существуют и т.д.

• Запуск тестов без сборки проекта
• Распараллеливание тестов
• Старт приложения с определенного экрана
  • 🔥 8
  • ❤ 4
  • 👍 1
  • 💩 1
  • 🤡 1
Post #470 3.01K

Forwarded from Mobile Native ️️

Kotlin Multiplatform перешёл в stable. Что это значит?

Что изменилось с переходом в релиз.

👉 Технология стабильна
👉 Соблюдение совместимости
👉 Экосистема
👉 База материалов по KMP
👉 Ускорение скорости сборки
👉 Развитие библиотек
👉 Улучшение интеропа со Swift
👉 Compose multiplatform

Читать (Ru)
  • 🔥 12
  • ❤ 3
  • 👍 3
  • 🤡 3
  • 👎 1
Post #468 7.07K
10 tips to increase your iOS code quality – Part 2

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

🟢Composable UI
🟢Reusable styling with view modifiers
🟢Include Unit Tests
🟢Code documentation
🟢Enums
🟢Core Data + SwiftUI
🟢Coding Style Guide
🟢Dependency injection
🟢Design System

Первая часть тут.

Читать (En)
  • 👍 5
  • ❤ 3
  • 👎 2
  • 🔥 2
Post #467 2.59K

Forwarded from Mobile Native ️️

Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти

В статье рассказывается, что такое BDUI с точки зрения бэкенд-разработчика, с какими сложностями можно столкнуться, как собирать JSON на бекенде и т.д.

Читать (Ru)
  • 🔥 4
  • 💩 3
  • 👍 2
  • ❤ 1
  • 🤡 1
Post #466 3.42K
Mastering Observation framework in Swift

Apple представила новый фреймворк Observation, основанный на макрофункциях языка Swift. Observation в сочетании с функциями Swift Concurrency позволяет заменить Combine, который выглядит устаревшим по мнению Apple.

В статье рассказывается, как использовать фреймворк Observation для обработки потоков данных в наших приложениях.

Перевод от AppTractor → Осваиваем фреймворк Observation в Swift

Читать (En)
  • 👍 7
  • ❤ 4
  • 🔥 1
Post #465 3.59K
iOS Microapps Architecture

Серия из 4-х частей про модульную архитектуру и Microapps в частности. В статьях в качестве примера демонстрируется реализация проекта по Microapps с помощью SPM.

• Part 1
• Part 2
• Part 3
• Part 4

Пример кода на GitHub → Microapp Architecture Demo
  • 🔥 19
  • ❤ 3
  • 👍 3
  • 💩 1
Post #464 2.63K

Forwarded from Mobile Native ️️

Что посмотреть на выходных. Подборка полезностей 👇

Очередная порция интересных и полезных видосов.

Собеседования

• Собеседование в Яндекс. Платформа Android
• Советы к собеседованию
• Собеседование на Mobile Developer
• Cобеседование Android-разработчика

iOS💸

• Пишем свой рендеринг графики на SwiftUI и запускаем на нем Doom
• Compose for iOS под капотом
• Декларативная навигация в iOS-приложении
• Как приручить iPhone, или Общаемся с телефоном по проводу
• О дивный новый мир со Swift Concurrency
• Новые подходы к работе с регулярными выражениями в Swift. Просто о сложном
• Прожарка Tuist
• Как ускорить сборку проекта и не остановить разработку
• How to Build a Custom Sheet in SwiftUI!
• New and Deprecated APIs in iOS 17
• 8 Tips to Optimize your iOS App
• Нарисуй свой TabBar
• Навигация в iOS приложении. Coordinator pattern
• Async / Await. Лучшие практики, советы и особенности
• SwiftUI — уже пора?

Android 🖥

• Корутинные загадки
• Измеряем sequence
• Android-Driven KMM
• Gradle Kotlin DSL: о чем умолчали в документации
• Здоровье вашей Gradle-сборки
• Оно само: используем плагины компиляции
• How to Implement Pinch Zoom Gestures in Jetpack Compose
• Introduction to Security of Mobile Applications for Android
• KMM + Composable Architecture в Умной Камере
• Compose, еще раз Compose и развитие сообщества
• How to Build a Custom Gradle Plugin to Share Project Config - Multi-Module Architecture

Common 🛠

• Мифы и легенды о безопасности мобильных приложений
• Какие проблемы могут возникать с безопасностью в мобильных приложениях
• Как мы Kotlin Multiplatform внедряли
• Compose Multiplatform для iOS и Android
• Декларативная архитектура и навигация с Decompose
• Почему джунов не берут на работу
• BDUI — что это и зачем на примере DivKit
  • 🔥 8
  • ❤ 4
  • 👍 2
  • 💩 1
Post #462 2.95K
Bottom Sheet View Controller with Dynamic Content Height in iOS

Пример реализации BottomSheet с кастомной конфигурацией.

• Automatic resizing of the bottom sheet based on the content height

• A draggable top view for dismissing the bottom sheet

• A dimmed background that also triggers the dismiss action

• Customizability to suit different use cases

• Smooth and interactive presentation and dismissal animations

Читать (En)
  • ❤ 8
  • 👍 6
  • 🔥 4
Post #461 2.35K
Скорее жив, чем мёртв: тенденция по развитию iOS технологий

Размышления на тему развития iOS технологий и возможые варианты развития в смежные направления на случай непредвиденных ситуаций 😉

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

Читать (Ru)
  • 🔥 8
  • 👍 5
  • 🤔 2
Post #460 7.1K
Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов

Подборка книг для изучения Swift / iOS.

🟢Swift. Основы разработки приложений под iOS, iPadOS и macOS
🟢Swift для детей. Самоучитель по созданию приложений для iOS
🟢Swift Apprentice: Fundamentals (First Edition): Beginning Programming in Swift
🟢Swift подробно
🟢Head First. Изучаем Swift
🟢Swift Programming: The Big Nerd Ranch Guide 3rd Edition
🟢Swift Cookbook: Over 60 proven recipes for developing better iOS applications with Swift 5.3

Читать (Ru)
  • ❤ 11
  • 👍 3
  • 🔥 2
Post #458 2.9K
Два по цене одного: snapshot-тесты на основе SwiftUI Preview

Статья о том, как с использованием snapshot-тестов отлавливать баги верстки в SwiftUI на этапе разработки.

Читать (Ru)
  • 👍 6
  • 🔥 3
  • 🤔 2
  • 💩 1
Post #456 3K
CD-диск на шейдерах и NameDrop в iOS 17

Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее.

В статье разбирается переливающийся диск и нашумевший NameDrop в iOS 17.

Читать (Ru)
  • 🔥 9
  • ❤ 1
  • 👍 1
  • 💩 1
Post #454 6.19K
Дебаггинг приложения без Xcode. Зачем?

Статья от Альфа-Банк про то, как они делали свой дебаг-инструмент и научились дебажить приложение без Xcode, тем самым упростив жизнь себе и тестировщикам.

Читать (Ru)
  • 🔥 9
  • 👍 2
  • 💩 2
  • ❤ 1
Post #453 2.45K
3 Cool new features of Swift 5.9

Статья с обзором нескольких новых фич из Swift 5.9.

🟢Using if and switch as expressions
🟢Parameter Packs
🟢Macros

Вот тут можно почитать про whats new in Swift 5.9.

И еще несколько полезных ссылок

👉 Value and Type parameter packs in Swift explained with examples
👉 Hidden feature: if and switch

Читать (En)
  • ❤ 5
  • 👍 3
  • 🔥 2
  • 🤩 1
Post #451 6.25K
Jailbreak checker — как обезопасить свое iOS-приложение

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

• Кто такой этот ваш Jailbreak?
• Зачем его отслеживать?
• Как же его отследить?
• Как предупредить пользователя и обезопасить приложение?
• Как теперь все протестить?

Читать (Ru)
  • 🔥 9
  • 👍 4
  • ❤ 1
  • 🤔 1
  • 💩 1
Post #450 3.45K
Шейдеры в iOS для начинающих

В iOS 17 пришло значимое обновление — теперь добавить шейдер можно к любой View, а значит, вся интеграция стала проще и растровых эффектов появится больше.

В статье разбираются основы: что за шейдеры, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему + рассматриваются несколько сложных примеров.

Читать (Ru)
  • 👍 15
  • 🔥 3
  • ❤ 1
  • 💩 1
Post #449 6.52K
10 quick tips to increase your iOS code quality

Несколько небольших советов, которые помогут улучшить качество кода.

• Use the extension pattern to group chunks of code
• Define a maximum number of lines per file
• Create variables and functions with descriptive names
• Take advantage of typealias
• Take care of the “no-happy path”
• Review force unwrap & indexes
• How do you handle sensitive information?
• Avoid code duplication
• Avoid hard-coding messages directly in the code
• Take advantage of pre-built-in features

Читать (En)
  • ❤ 11
  • 👍 3
  • 🔥 2
  • 😁 1
Post #448 2.75K

Forwarded from Mobile Native ️️

Основы алгоритмов

Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.

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

👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы

Читать (Ru)
  • 🔥 17
  • 👍 5
  • ❤ 3
  • 💩 3
  • 🤡 2
Post #447 5.83K
Расширенное управление памятью с помощью Unsafe Swift

В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.

• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение

Читать (Ru)
  • 👍 6
  • 🔥 4
  • ❤ 2
  • 💩 1
Post #446 2.12K

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
  • 👍 8
  • ❤ 1
  • 🔥 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →