Async await in Swift explained with code examples
Отличная статья с объяснением на различных примерах использование async/await в Swift.
🟢 What is async?
🟢 What is await?
🟢 What is structured concurrency?
🟢 Async methods call in a function that does not support concurrency
🟢 Adopting async-await in an existing project
🟢 Convert Function to Async
🟢 Add Async Alternative
🟢 Migrating to Swift 6
🟢 Solving errors
🟢 Will async await be the end of the Result enum?
Читать (En)
Отличная статья с объяснением на различных примерах использование async/await в Swift.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
iOS 18 and iPadOS 18 UI kit for Figma
Apple выкатила UI kit iOS 18 в Figma.
New for iOS 18 and iPadOS 18:
🟢 Color variables for all system colors with light, dark and dark elevated values
🟢 Mode for switching between light, dark, and tinted app icons
🟢 Updated app icon artwork
🟢 Examples page for most system components and experiences
🟢 New iPadOS floating tab bar
🟢 Improved organization of instance properties for faster customization
🟢 New Control Center and Lock Screen components with customizable controls
🟢 See Change Log for full details.
Смотреть🌐
Apple выкатила UI kit iOS 18 в Figma.
New for iOS 18 and iPadOS 18:
Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥4👍3
Принципы SOLID на примере iOS-разработки
Давненько не было материалов по SOLID, вот держите. Детальный туториал с примерами под iOS, что это такое и зачем нужны.
SOLID — это акроним из первых букв пяти основных принципов проектирования в объектно-ориентированном программировании.
🟢 Single Responsibility (SRP) — принцип единственной ответственности
🟢 Open-Closed (OCP) — принцип открытости-закрытости
🟢 Liskov Substitution (LSP) — принцип подстановки Барбары Лисков
🟢 Interface Segregation (ISP) — принцип разделения интерфейсов
🟢 Dependency Inversion (DIP) — принцип инверсии зависимостей
Читать (Ru)
Давненько не было материалов по SOLID, вот держите. Детальный туториал с примерами под iOS, что это такое и зачем нужны.
SOLID — это акроним из первых букв пяти основных принципов проектирования в объектно-ориентированном программировании.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🤡3🔥1
Макросы — напишут код за вас, но есть нюанс…
Большая статья, которая поможет узнать, что такое макросы и как они работают, а также понять, стоит ли добавлять их в свой проект.
👉 Коротко про макросы
👉 Отличие макросов от property wrapper
👉 Как работают макросы
👉 Роли макросов
👉 Зачем нужны макросы
👉 Где используются макросы
👉 SwiftSyntax
👉 Как SwiftSyntax связан с макросами?
👉 Где еще используется SwiftSyntax?
👉 Библиотеки
👉 ActorMacro
👉 Полное синтаксическое дерево SmallTestClass
👉 Тестирование
👉 Скорость билда проекта с макросами
Читать (Ru)
Большая статья, которая поможет узнать, что такое макросы и как они работают, а также понять, стоит ли добавлять их в свой проект.
👉 Коротко про макросы
👉 Отличие макросов от property wrapper
👉 Как работают макросы
👉 Роли макросов
👉 Зачем нужны макросы
👉 Где используются макросы
👉 SwiftSyntax
👉 Как SwiftSyntax связан с макросами?
👉 Где еще используется SwiftSyntax?
👉 Библиотеки
👉 ActorMacro
👉 Полное синтаксическое дерево SmallTestClass
👉 Тестирование
👉 Скорость билда проекта с макросами
Читать (Ru)
👍7🔥6❤5🤡1
Адаптируем VoiceOver для людей
Разработчик из 2ГИС рассказывает, как адаптировали приложение под VoiceOver.
👉 Что такое VoiceOver
👉 VoiceOver, версия 1.0
👉 VoiceOver, версия 2.0
👉 Snapshot-тестирование
👉 Escape
👉 Динамический расчёт accessibility
👉 Укрупнение элементов
👉 Сториз
👉 Нюансы, которые о которых неплохо знать
VoiceOver — функция, доступная на всех устройствах Apple, таких как iPhone, iPad, Mac, Apple Watch, TV и VisionPro. Она озвучивает элементы интерфейса, позволяя незрячим пользователям управлять устройством с помощью жестов.
Читать (Ru)
Разработчик из 2ГИС рассказывает, как адаптировали приложение под VoiceOver.
👉 Что такое VoiceOver
👉 VoiceOver, версия 1.0
👉 VoiceOver, версия 2.0
👉 Snapshot-тестирование
👉 Escape
👉 Динамический расчёт accessibility
👉 Укрупнение элементов
👉 Сториз
👉 Нюансы, которые о которых неплохо знать
VoiceOver — функция, доступная на всех устройствах Apple, таких как iPhone, iPad, Mac, Apple Watch, TV и VisionPro. Она озвучивает элементы интерфейса, позволяя незрячим пользователям управлять устройством с помощью жестов.
Читать (Ru)
👍4🔥4❤3🥰1
На WWDC 2024 Apple представила — виджеты в Control Center для iOS 18. Это новшество позволяет разработчикам добавлять собственные виджеты в новое место в приложении: Control Center, Home Screen.
В статье разбираются новые виджеты, кастомная вёрстка и взаимодействие с сетью.
Читать (Ru)
В статье разбираются новые виджеты, кастомная вёрстка и взаимодействие с сетью.
Читать (Ru)
👍5🔥4❤1
SwiftUI Cookbook • Frames & Layouts in SwiftUI
Welcome to the Frames & Layouts in SwiftUI section. This is where you’ll learn to expertly arrange and align your views, creating a cohesive and visually appealing user interface in your SwiftUI applications.
• Understanding Frames & Alignment in SwiftUI
• Exploring ViewThatFits in SwiftUI
• Using LazyVGrid & LazyHGrid for Grid Layouts in SwiftUI
• Using ScrollView in SwiftUI
• Understanding ZStack & VStack in SwiftUI
• Understanding HStack & Spacer in SwiftUI
• Understanding GeometryReader in SwiftUI
• Adding Padding & Spacing in SwiftUI
• Using Alignment Guides in SwiftUI
• Mastering Safe Areas in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
Welcome to the Frames & Layouts in SwiftUI section. This is where you’ll learn to expertly arrange and align your views, creating a cohesive and visually appealing user interface in your SwiftUI applications.
• Understanding Frames & Alignment in SwiftUI
• Exploring ViewThatFits in SwiftUI
• Using LazyVGrid & LazyHGrid for Grid Layouts in SwiftUI
• Using ScrollView in SwiftUI
• Understanding ZStack & VStack in SwiftUI
• Understanding HStack & Spacer in SwiftUI
• Understanding GeometryReader in SwiftUI
• Adding Padding & Spacing in SwiftUI
• Using Alignment Guides in SwiftUI
• Mastering Safe Areas in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
🔥6👍4❤2
Forwarded from Mobile Native ️️
Зарплаты IT-специалистов в первой половине 2024: +8% по всей России
Хабр выкатили динамику зарплат за первую половину 2024 года. Если коротко, то всё хорошо, зп растёт практически во всех языках программирования.
Самый ощутимый рост был у разработчиков в Kotlin (+16%), до 290 000 ₽, C (+14%) до 180 000 ₽, также на 11% выросли зарплаты в Swift и Elixir.
Зарплаты снизились только у программистов Objective-С — на 10%, до 342 000 ₽ и Ruby — на 11%, до 250 000 ₽.
Сравнить статистику можно с прошлым периодом, за второе полугодие 2023 года.
Читать (Ru)
Хабр выкатили динамику зарплат за первую половину 2024 года. Если коротко, то всё хорошо, зп растёт практически во всех языках программирования.
Самый ощутимый рост был у разработчиков в Kotlin (+16%), до 290 000 ₽, C (+14%) до 180 000 ₽, также на 11% выросли зарплаты в Swift и Elixir.
Зарплаты снизились только у программистов Objective-С — на 10%, до 342 000 ₽ и Ruby — на 11%, до 250 000 ₽.
Сравнить статистику можно с прошлым периодом, за второе полугодие 2023 года.
Читать (Ru)
💩9❤3👍3🔥1
Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк
В статье рассказывается про выбор подхода, как к этому пришли и как обошли возникшие проблемы. Так же рассматриваются плюсы и минусы использования своего решения и в конце предложка с несколькими идеями дальнейшего развития выбранного пути.
Что ж они извращаются с этим WebView. Вроде и ресурсы должны быть, почему бы не запилить нормальный BDUI 🤔
Читать (Ru)
В статье рассказывается про выбор подхода, как к этому пришли и как обошли возникшие проблемы. Так же рассматриваются плюсы и минусы использования своего решения и в конце предложка с несколькими идеями дальнейшего развития выбранного пути.
Что ж они извращаются с этим WebView. Вроде и ресурсы должны быть, почему бы не запилить нормальный BDUI 🤔
Читать (Ru)
🔥5🤮5💩3👍2🤔1
Изучаем новые структуры данных для iOS разработчика
В статье рассказывается о редких и недооцененных структурах данных. И самое главное, как впустить их в свою рутинную работу программиста.
👉 Deque
👉 Heap (Priority Queue)
👉 OrderedSet
👉 OrderedDictionary
Читать (Ru)
В статье рассказывается о редких и недооцененных структурах данных. И самое главное, как впустить их в свою рутинную работу программиста.
👉 Deque
👉 Heap (Priority Queue)
👉 OrderedSet
👉 OrderedDictionary
Читать (Ru)
👍11❤4🔥1
Пишем свой Swift макрос без лида, ИТ-курсов и кредитов
Ещё одна статья про макросы в Swift 5.9, в которой рассказывается как их можно применять для избавление от бойлерплейта в коде, как их создавать, какие сложности есть с ними и куда всё это движется.
В статье рассматриваются макросы на примере добавления метода copy для всех моделей UI-компонентов.
Читать (Ru)
Ещё одна статья про макросы в Swift 5.9, в которой рассказывается как их можно применять для избавление от бойлерплейта в коде, как их создавать, какие сложности есть с ними и куда всё это движется.
В статье рассматриваются макросы на примере добавления метода copy для всех моделей UI-компонентов.
Читать (Ru)
😁6👍5❤4
Скрытая (на виду) сила KeyPath'ов
KeyPath'ы — важные строительные блоки современных API. Знание их особенностей и аспектов их использования позволит вам создавать удобные, приятные и простые API, которые при этом не допускают возможности ошибиться.
В статье как раз и рассказывается про то, как с их помощью проектировать лучшие API.
Читать (Ru)
KeyPath'ы — важные строительные блоки современных API. Знание их особенностей и аспектов их использования позволит вам создавать удобные, приятные и простые API, которые при этом не допускают возможности ошибиться.
В статье как раз и рассказывается про то, как с их помощью проектировать лучшие API.
Читать (Ru)
👍4❤3👎2🔥2🤔2
Typed throws in Swift explained with code examples
Небольшой, но полезный материал с примерами про типизированные ошибки в Swift.
Читать (En)
Небольшой, но полезный материал с примерами про типизированные ошибки в Swift.
Читать (En)
👍5🔥3❤2
What’s new in SwiftUI for iOS 18
Основное изменение во
Так же появился новый API для цветов и градиентов, ну и дополнительные улучшения в разных компонентах👇
• Custom text effects and animations
• Create zoom animations between views
• Access user contacts with ContactAccessButton
• Create new colors by blending two other SwiftUI colors
• Create a mesh gradient
• Control the size of presented views
• Detect when the size or position of a view changes
• Read the size and position of a scrollview
• Scroll to exact locations inside a scrollview
• Detect whether a scrollview is currently moving or is idle
• Position and style subviews from a different view
• @State inside SwiftUI previews using @Previewable
Читать (En)
Основное изменение во
View
– атрибут @MainActor
перенесен из тела в сам протокол, это означает, что свойство body
вместе со всеми другими свойствами и методами, которые мы создаем, запускается на главном акторе.Так же появился новый API для цветов и градиентов, ну и дополнительные улучшения в разных компонентах👇
• Custom text effects and animations
• Create zoom animations between views
• Access user contacts with ContactAccessButton
• Create new colors by blending two other SwiftUI colors
• Create a mesh gradient
• Control the size of presented views
• Detect when the size or position of a view changes
• Read the size and position of a scrollview
• Scroll to exact locations inside a scrollview
• Detect whether a scrollview is currently moving or is idle
• Position and style subviews from a different view
• @State inside SwiftUI previews using @Previewable
Читать (En)
🔥5👍4❤2
Удобная навигация в SwiftUI для iOS 16 и выше
Статья с примером реализации наиболее удобной(по мнению автора) навигации на NavigationStack, в концепции старого доброго MVVM.
Читать (Ru)
Статья с примером реализации наиболее удобной(по мнению автора) навигации на NavigationStack, в концепции старого доброго MVVM.
Читать (Ru)
👍6🔥3❤2👎1
Forwarded from Mobile Native ️️
Как публиковать библиотеку в Maven Central Portal в 2024 году
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.
Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.
Читать (Ru)
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.
Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.
Читать (Ru)
🔥3👍2❤1🤡1
SwiftUI Cookbook • Animations & Transitions in SwiftUI
Welcome to the Animations & Transitions in SwiftUI section. In this part of the guide, you’ll learn to incorporate animations and transitions into your SwiftUI views.
• Declare an Animation in SwiftUI
• Animate a View's Opacity in SwiftUI
• Animate a View's Position in SwiftUI
• Animate a View's Rotation in SwiftUI
• Animate a View's Size in SwiftUI
• Create a Spring Animation in SwiftUI
• Create a Delayed Animation in SwiftUI
• Create a Repeating Animation in SwiftUI
• Chain Multiple Animations in SwiftUI
• Animate Binding Values in SwiftUI
• Animate View Transitions in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
Welcome to the Animations & Transitions in SwiftUI section. In this part of the guide, you’ll learn to incorporate animations and transitions into your SwiftUI views.
• Declare an Animation in SwiftUI
• Animate a View's Opacity in SwiftUI
• Animate a View's Position in SwiftUI
• Animate a View's Rotation in SwiftUI
• Animate a View's Size in SwiftUI
• Create a Spring Animation in SwiftUI
• Create a Delayed Animation in SwiftUI
• Create a Repeating Animation in SwiftUI
• Chain Multiple Animations in SwiftUI
• Animate Binding Values in SwiftUI
• Animate View Transitions in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
👍4🔥3❤1
Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
Крутая статья от разработчика из Ozon, про то, как сделать кастомный онбординг с подсветкой элементов на SwiftUI для iOS15+.
👉 Определение подхода
👉 Реализация
👉 Технические особенности
👉 Заключение
Читать (Ru)
🔥7👍4❤3
Отрицание, гнев, торг: как дизайну и разработке найти общий язык
Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.
В статье размышляет над его результатами и заодно делится полезными практиками, которые помогут наладить взаимодействие дизайна и разработки: чек-лист для подготовки макетов, поиск корнер-кейсов, спецификация, груминг, саппорт, дизайн-ревью и прочие заклинания.
Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.
Читать (Ru)
Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.
В статье размышляет над его результатами и заодно делится полезными практиками, которые помогут наладить взаимодействие дизайна и разработки: чек-лист для подготовки макетов, поиск корнер-кейсов, спецификация, груминг, саппорт, дизайн-ревью и прочие заклинания.
Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.
Читать (Ru)
🔥6👍4❤2😁1