Что лучше: UIKit и SwiftUI?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Hello, World! Меня зовут Денис. Я IOS разработчик, пишу приложения для App Store. Хочу поделиться своим небольшим опытом на UIKit и SwiftUI.

Первый запуск

На WWDC19 Apple предоставила декоративный фреймворк SwiftUI. Новый фреймворк позволяет уменьшать времени на написание UI-составляющей своих приложений.

Пробежимся по

  • UIKit

  • SwiftUI

  • Отличия между фреймворками

  • Возможно использовать UIKit в SwiftUI?

Что такое фреймворк UIKit?

UIKit - это фреймворк, позволяющий создавать пользовательские интерфейсы (UI), которые могут обрабатывать события касания и входные данные, управляя взаимодействиями между пользователем, системой и вашим приложением. UIKit разработан и выпущен на основе языка Objective-C. У него есть архитектуры MVC/MVVM/ MVP

UIKit можно создавать несколькими способами

  • Использовать конструктор интерфейса. Interface Builder интегрирован в Xcode и позволяет редактировать .storyboard.xib

  • Подход, ориентированный на код, при котором представления и ограничения компоновки определяются в Swift

Плюсы/минусы

+ Привычен и стабилен

+ Свобода действий над UI элементами

- Сложные UI элементы

 Что такое фреймворк SwiftUI?

SwiftUI - фреймворк, который позволяет вам проектировать и разрабатывать пользовательские интерфейсы декларативно, с меньшим количеством кода. Был впервые выпущен в 2019 году с версией 13 iOS SDK.

Создание

  • Xcode отображает визуальный редактор с любым файлом, содержащим представление SwiftUI, отображая живое представление создаваемого вами представления.

Плюсы/минусы

+ Прост в освоении

+ Можно смешивать с UIKit через UIHostingController

+ SwiftUI больше не нуждается в Interface Builder, был заменен Canvas

+ HStack, VStack, ZStack

- Еще молодой фреймворк

- Поддержка с

1.   iOS 13.0+

2.   iPadOS 13.0+

3.   macOS 10.15+

4.   Mac Catalyst 13.0+

5.   tvOS 13.0+

6.   watchOS 6.0+

Отличия между фреймворками

  • SwiftUI - поддержка собственной иерархии представлений, а затем платформа заботиться/обновляет данные на экране (canvas)

  • UIkit - поддерживает собственное состояние, код - синхронизацию этого состояния

Возможно использовать UIKit в SwiftUI?

UIViewRepresentable - это протокол, предоставляемый фреймворком SwiftUI. Используя этот протокол, можно обернуть экземпляр представления UIKit, чтобы его можно было отображать с помощью SwiftUI. Пример:

Будущее

На рынке РФ пока мало проектов/компаний, которые перешли с UIKit на SUI.

Новое поколение iOS-разработчиков все чаще начинает свой путь именно со SwiftUI, а бывшие дизайнеры, благодаря данной технологии Apple, становятся еще и разработчиками.

Мой первый проект написан на SUI. Для разнообразия изучаю UIKit.  

Источник: https://habr.com/ru/post/710632/


Интересные статьи

Интересные статьи

SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накоп...
Многие компании в определенный момент приходят к тому, что ряд процессов в бизнесе нужно автоматизировать, чтобы не потерять свое место под солнцем и своих заказчиков. Поэтому все...
Один из ключевых сценариев работы в CRM это общение с клиентом в удобном для него канале. По почте, по телефону, по SMS или в мессенджере. Особенно выделяется WhatsApp — интеграцию с ...
Как обновить ядро 1С-Битрикс без единой секунды простоя и с гарантией работоспособности платформы? Если вы не можете закрыть сайт на техобслуживание, и не хотите экстренно разворачивать сайт из бэкапа...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.