Обновить
5.38

Swift *

Открытый объектно-ориентированный язык

Сначала показывать
Порог рейтинга
Уровень сложности

Result builders in Swift

Время на прочтение3 мин
Охват и читатели2.8K

Конструктор результатов можно рассматривать как встроенный предметно-ориентированный язык (DSL) для сбора деталей, которые объединяются в конечный результат. Конструкторы результатов в Swift позволяют создавать результат, используя "блоки сборки", расположенные в ряд друг за другом.

Примеры.

Вот функция, которая возвращает одну строку.

Читать далее

SwiftUI уроки (часть 11)

Время на прочтение12 мин
Охват и читатели4.6K

Ссылка на 10-ю часть

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

Читать далее

SwiftUI уроки (часть 10)

Время на прочтение13 мин
Охват и читатели5.5K

В этой главе мы изучим реализацию и настройку навигационных интерфейсов в SwiftUI, с особым вниманием к компоненту NavigationStack, представленному в iOS 16. Работая над демонстрационными проектами, вы получите практический опыт работы с NavigationStack и узнаете, как создавать интуитивно понятные навигационные решения для ваших приложений.

Читать далее

Оплата аккаунта Apple Developer в 2025 году

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели20K

В этой статье я приведу примеры по оплате аккаунта разработчика Apple которые я сам лично попробовал. Информация приведенная ниже достаточно актуальная и затрагивает период конца 2023 и начала 2024 года.

Читать далее

Android и iOS, Flutter и Kotlin: что обо всём этом расскажут на Mobius

Время на прочтение13 мин
Охват и читатели2.5K

До конференции Mobius остался месяц, мы представляем Хабру её программу. И её вечно непросто поделить на блоки.

Понятно, что доклады «про iOS» и «про Android» интересны разным разработчикам, поэтому хабрапост хочется разделить пополам. Но как правильнее поступить с докладами по Flutter? А про Kotlin, когда есть KMP? А с теми, которые не привязаны к платформе?

В общем, не уделяйте слишком много внимания тому, как всё разделено на части — лучше смотрите, о чём будут сами доклады.

Программа Mobius 2024 Spring

SwiftUI уроки (часть 9)

Время на прочтение11 мин
Охват и читатели5.9K

Разбираемся с List, ForEach and Identifiable 

В UIKit для iOS один из наиболее часто используемых элементов управления пользовательским интерфейсом - это UITableView. Если вы имеете опыт разработки приложений с использованием UIKit, то знаете, что table view предназначен для отображения списков данных. Этот элемент управления пользовательским интерфейсом широко используется в приложениях ориентированных на контент, например, в новостных приложениях или в принципе в любых популярных приложениях, таких как Instagram, Twitter, Reddit и другие.

Читать далее

Импортирование картинок и звуков в Swift Package

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели1K

В качестве курсовой работы мне необходимо было разработать библиотеку с «успокаивающим» элементами на языке Swift. Ну знаете, это такие залипательные штуки, по типу спиннера или пузырчатой плёнки, которую лопаешь.

Читать далее

Clean architecture и MVVM в iOS разработке

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели16K

В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении.

Читать далее

О, вы из Англии? Локализация Ozon Seller на iOS

Время на прочтение10 мин
Охват и читатели5.9K

Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.

Нашим приложением активно пользуются юзеры из разных стран, и поэтому день Х, когда мы решим добавить поддержку разных языков, был неизбежен. В этой статье я расскажу про стандартный процесс локализации iOS-приложения, про то, с какими трудностями мы столкнулись и как их решили. Разберём системный алгоритм определения языка и объясню, почему он нам не подошёл. Сделаем перевод приложения «на лету», а также посмотрим, как изменился наш флоу работы со строками.

Читать далее

Reflection в iOS: как посмотреть содержимое любой сущности

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.2K

В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.

Меня зовут Светлана Гладышева, я iOS-разработчик в Тинькофф. Расскажу, какие возможности есть у Reflection в Swift, в чем ограничения и подводные камни. Рассмотрим его применение на примерах и узнаем, для чего его можно использовать в повседневной работе. А еще поговорим о том, как можно отключить Reflection в проекте и на что это может повлиять.

Читать далее

SwiftUI уроки (часть 8)

Время на прочтение17 мин
Охват и читатели5.4K

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

Читать далее

Как передавать данные между вью контроллерами в Swift

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели2.2K

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

Читать далее

SwiftUI уроки (часть 7)

Время на прочтение13 мин
Охват и читатели5.4K

В этом разделе вы узнаете, как рисовать линии, дуги и диаграммы  с помощью Path и встроенных форм, таких как Circle и RoundedRectangle, в SwiftUI. Вот что мы изучим:

* Понимание Path и рисование линий

* Что такое протокол Shape и как нарисовать настраиваемую форму путем соответствия протоколу

* Рисование диаграммы

* Создание индикатора прогресса с помощью открытого круга

* Рисование «pie chart» диаграммы

Читать далее

Ближайшие события

Apple Vision Pro: обзор платформы и создание первого мобильного приложения

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели3.1K

Привет! Меня зовут Андрей Груненков, я iOS - разработчик в агентстве InstaDev. Делаем мобильные приложения, которые помогают бизнесу расти. В этой статье я расскажу о том, как разработать первое мобильное приложение для платформы Apple Vision Pro.

Для начала надо сказать пару слов о самой платформе. Apple Vision Pro это компьютер Apple, который предоставляет пользователю новый опыт пространственного взаимодействия с интерфейсом. По сути представляет из себя гарнитуру смешанной реальности (AR/VR).

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

Гарнитура отслеживает движение  глаз пользователя, передает изображение с внешних камер на дисплеи перед глазами и показывает 3D-контент. При нажатии на одну кнопку можно погрузиться в виртуальный мир, в остальное время окна и приложения перемещаются в воздухе перед пользователем и дают возможность с ними взаимодействовать.

Apple Vision Pro помогает решать следующие задачи:

Читать далее

SwiftUI: архитектура State-Model-View

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.1K

В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.

В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала разобраться почему. Далее рассмотрим логичные и простые решения для построения как отдельных компонентов, так и уровень приложения с использованием состояний и property wrappers; подход, который логично обозначить как State-Model-View.

Читать далее

SwiftUI уроки (часть 6)

Время на прочтение6 мин
Охват и читатели5.8K

Мы наконец-то добрались до одних из самых важных тем связанных с управлением данными, включая их модификацию, слежение за ними и передачу. Мы начнем с самых простых вещей таких как State и Binding.

Читать далее

SwiftUI уроки (часть 5)

Время на прочтение14 мин
Охват и читатели7.8K

ссылка на 4ю часть

Buttons, Labels, Gradients

В этой части мы рассмотрим основы создания кнопок в SwiftUI. Кнопки играют ключевую роль в любом пользовательском интерфейсе приложения. Хорошо спроектированные кнопки не только делают ваш интерфейс более привлекательным, но и повышают пользовательский опыт от вашего приложения.

Читать далее

YandexMapKit и SwiftUI: обратный геокодинг

Время на прочтение4 мин
Охват и читатели1.3K

Обратное геокодирование (получение адреса по географическим координатам) на стороне клиента в рамках разработка мобильного приложения под IOS для мониторинга автотранспорта

IOS - 15.5, SwiftUI, YandexMapKit

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

Однако хочу "пожаловаться", что исключительно из-за картографии Яндекса в проекте начали использовать CocoaPods, потому что вендор (по состоянию на март 2024 года) не снизошел до разработки пакета, который можно подключить к проекту минуя Pods.

Читать далее

Интерактивные виджет-подборки в Иви (iOS)

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели1.9K

И снова здравствуйте! В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.

В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.

Читать далее

Быстрый старт, или Как ускорить запуск iOS-приложений

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели4.3K

Всем привет! Меня зовут Фируза, я iOS-разработчик в компании SimbirSoft. В этой статье мы попробуем разобраться, как ускорить запуск приложения, а именно:

что происходит от момента нажатия на иконку приложения до представления возможности пользователю взаимодействовать с UI;

как собрать актуальные метрики скорости запуска и отзывчивости приложения; 

какие тактики применить, чтобы ускорить старт и отзывчивость запуска.

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

Ускориться ?