Научная статья на тему 'ВОЗМОЖНОСТИ ФРЕЙМВОРКА SWIFTUI ПРИ СОЗДАНИИ ПРИЛОЖЕНИЙ ПОД УСТРОЙСТВА КОМПАНИИ APPLE'

ВОЗМОЖНОСТИ ФРЕЙМВОРКА SWIFTUI ПРИ СОЗДАНИИ ПРИЛОЖЕНИЙ ПОД УСТРОЙСТВА КОМПАНИИ APPLE Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
17
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SwiftUI / Swift / кроссплатформенность / iOS / UIKit / macOS / iPadOS / tvOS / SwiftUI / Swift / cross-platform / iOS / UIKit / macOS / iPadOS / tvOS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А.О. Камышев, К.В. Богданов

Выполнен обзор основных возможностей фреймворка SwiftUI при разработке кроссплатформенных приложений. Выделены основные достоинства и недостатки данного подхода.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А.О. Камышев, К.В. Богданов

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

POSSIBILITIES OF THE SWIFTUI FRAMEWORK FOR CREATING APPLICATIONS FOR APPLE’S DEVICES

An overview of the main features of the SwiftUI framework in the development of cross-platform applications is made. The main advantages and disadvantages of this approach in production apps.

Текст научной работы на тему «ВОЗМОЖНОСТИ ФРЕЙМВОРКА SWIFTUI ПРИ СОЗДАНИИ ПРИЛОЖЕНИЙ ПОД УСТРОЙСТВА КОМПАНИИ APPLE»

УДК 004.9

ВОЗМОЖНОСТИ ФРЕЙМВОРКА SWIFTUI ПРИ СОЗДАНИИ ПРИЛОЖЕНИЙ ПОД УСТРОЙСТВА КОМПАНИИ APPLE

А. О. Камышев Научный руководитель - К.В. Богданов

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail автора: pocharua@mail.ru

Выполнен обзор основных возможностей фреймворка SwiftUI при разработке кроссплатформенных приложений. Выделены основные достоинства и недостатки данного подхода.

Ключевые слова: SwiftUI, Swift, кроссплатформенность, iOS, UIKit, macOS, iPadOS, tvOS.

POSSIBILITIES OF THE SWIFTUI FRAMEWORK FOR CREATING APPLICATIONS

FOR APPLE'S DEVICES

A.O. Kamyshev Scientific Supervisor - K.V. Bogdanov

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation Е-mail автора: pocharua@mail.ru

An overview of the main features of the SwiftUI framework in the development of cross-platform applications is made. The main advantages and disadvantages of this approach in production apps.

Ключевые слова на английском языке: SwiftUI, Swift, cross-platform, iOS, UIKit, macOS, iPadOS, tvOS.

В настоящее время, разработка мобильных приложений становится с каждым годом популярнее. Объем рынка мобильных приложений в 2020 составил приблизительно 170 млрд. долларов и эта цифра растет каждый год [1]. Так как рынок растет достаточно быстро, нужны технологии, которые будут упрощать разработку одного и того же приложения под разные платформы.

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

Использование кроссплатформенных фреймворков позволяет разработчикам писать меньше кода за счет единой кодовой базы, которую можно использовать на различных платформах. Одним из таких фреймворков является SwiftUI, который представляет собой инструментарий для создания пользовательских интерфейсов для macOS, iOS, iPadOS и tvOS.

SwiftUI является разработкой корпорации Apple [2]. Данный фреймворк был показан на конференции WWDC в 2019 году. Главные особенности фреймворка заключаются в следующем:

- использование preview и live preview для быстрой разработки UI-компонентов;

Актуальные проблемы авиации и космонавтики - 2021. Том 2

- написание меньшего количества кода за счет декларативного подхода при разработке UI-компонентов;

- использование фреймворка для создания виджетов, начиная с версии iOS 14;

- для всех платформ используются единые инструментарии и APIs;

- возможность использовать UIKit через UIHostingController;

- наличие механизма для реактивного программирования через Combine;

- нативность на всех платформах Apple;

- автоматическая поддержка Dynamic Type, Dark Mode и локализации.

Высокая скорость разработки с применением фреймворка SwiftUI достигается за счет использования технологии preview, live preview и декларативного подхода в построении пользовательского интерфейса. Технология preview позволяет экспериментировать и строить UI без развертывания приложения на устройстве. Работа технологии preview заключается в том, что данный механизм выполняет рендеринг view в статическое изображение, что позволяет сразу же получить обновленное состояние разрабатываемого интерфейса. Live preview запускает симулятор, в котором запускается приложение в некотором контексте и в него внедряется PreviewProvider, что позволяет работать всем runtime-функциям [3]. Пример отображения live preview показан на рис. 1.

Рис 1. Live preview

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

К основным недостаткам фреймворка можно отнести следующие:

- минимальная версия ЮБ 13 и новее, поэтому пользователи на старых операционных системах не смогут использовать приложение;

- достаточно молодой фреймворк, из-за чего малое количество публикаций и обучающих курсов в сети интернет;

- лучшие практики еще не сформированы [4];

- есть некоторые функции, которые доступны только в UIKit.

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

References

1. Mobile Application Market Size [Electronic resource]. URL: https://www.grandviewresearch.com/industry-analysis/mobile-application-market (date of visit: 20.02.2021).

2. SwiftUI [Electronic resource]. URL: https://developer.apple.com/xcode/swiftui/ (date of visit: 20.02.2021).

3. What are the rules how SwiftUI preview works? [Electronic resource]. URL: https://stackoverflow.com/questions/61269767/what-are-the-rules-for-how-swiftui-preview-works (date of visit: 21.02.2021).

4. SwiftUI in Production? 6 Pros and Cons You Need to Consider [Electronic resource]. URL: https://medium.com/better-programming/swiftui-in-production-6-pros-and-cons-you-need-to-consider-69ace40a1b46 (date of visit: 22.02.2021).

© Kamyshev A.O., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.