Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CXXXIX Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 04 июля 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Пеленицына П.А., Урванова Е.С. ВЫБОР ИНСТРУМЕНТОВ ДЛЯ ВЕРСТКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ НА ANDROID // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. CXXXIX междунар. студ. науч.-практ. конф. № 7(137). URL: https://sibac.info/archive/technic/7(137).pdf (дата обращения: 25.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ВЫБОР ИНСТРУМЕНТОВ ДЛЯ ВЕРСТКИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ НА ANDROID

Пеленицына Полина Александровна

студент, программной инженерии кафедры МОСИТ, МИРЭА - Российский технологический университет,

РФ, г. Москва

Урванова Елизавета Сергеевна

студент, программной инженерии кафедры МОСИТ, МИРЭА - Российский технологический университет,

РФ, г. Москва

Петросян Лусине Эдуардовна

научный руководитель,

канд. экон. наук, доц., МИРЭА - Российский технологический университет,

РФ, г. Москва

SELECTION OF TOOLS FOR THE LAYOUT OF A MOBILE APPLICATION ON ANDROID

 

Elizaveta Urvanova

student, Software engineering Department of MOSIT, MIREA - Russian Technological University,

Russia, Moscow

Polina Pelenitsyna

student, Software engineering Department of MOSIT, MIREA - Russian Technological University,

Russia, Moscow

Lusine Petrosyan

scientific supervisor, candidate of Sciences in Economics, MIREA - Russian Technological University,

Russia, Moscow

 

АННОТАЦИЯ

В этой статье мы подробно рассмотрим Jetpack Compose и XML, которые используются для создания верстки приложений для Android. Поскольку разработка всех видов приложений постоянно развивается и растет, разработка современного пользовательского интерфейса стала его неотъемлемой частью. Jetpack Compose и XML играют важную роль в постоянно меняющемся мире разработки приложений.

ABSTRACT

In this article, we will distinguish in detail between Jetpack Compose and XML, which are used to create the layout of Android applications. As the development of all kinds of applications is constantly evolving and growing, the development of a modern user interface has become an integral part. Jetpack Compose and XML play an important role in the ever-changing world of application development.

 

Ключевые слова: Jetpack Compose, XML, MVC, MVVM, MVP, верстка.

Keywords: Jetpack Compose, XML, MVC, MVVM, MVP, layout.

 

Jetpack Compose — это современный набор инструментов пользовательского интерфейса, предназначенный для упрощения разработки пользовательского интерфейса в Android [1]. Вместо написания сложного XML-кода вы можете использовать функции Kotlin для создания компонентов пользовательского интерфейса в краткой и понятной форме. Кроме того, вы можете мгновенно увидеть свои изменения с помощью предварительного просмотра в реальном времени, а есть встроенные функции для управления перемещением и изменением объектов на экране [2].

XML (eXtensible Markup Language — расширяемый язык разметки) — это язык программирования для создания логической структуры данных, их хранения и передачи в виде, удобном и для компьютера, и для человека. Отличается простотой синтаксиса и универсальностью. XML позволяет описывать документы с помощью тегов, которые можно задавать самостоятельно [3]. Однако даже при широком использовании XML сталкивается с некоторыми ограничениями. Приложения для Android со временем стали сложнее, а их возможности также расширились. Это приводит к тому, что XML-код становится громоздким и обширным, что приводит к пропорциональному увеличению усилий по обслуживанию. Управление сложными взаимодействиями пользовательского интерфейса и анимацией также становится сложным и требует ручных усилий [2].

Jetpack Compose включает в себя сравнительно более современную, декларативную и компонуемую архитектуру, которая обеспечивает определение компонентов пользовательского интерфейса во время разработки с использованием простых и кратких функций Kotlin. Фреймворк в основном основан на идее построения элементов пользовательского интерфейса как многоразовых и независимых строительных блоков [2].

Пользовательский интерфейс определяется как функция состояния приложения в Jetpack Compose. Это означает, что пользовательский интерфейс автоматически обновляет свои функции пропорционально любым изменениям состояния. Важно отметить, что обновляются только затронутые части, а не вся структура. Такая способность быстро реагировать на изменения в платформе разработки пользовательского интерфейса делает управление состоянием пользовательского интерфейса удобным и гарантирует, что платформа пользовательского интерфейса всегда отображает текущее состояние приложения [2].

Архитектура XML используется вместе с традиционным XML. Он во многом отличается от Jetpack Compose, поскольку следует императивному и иерархическому подходу к определению макетов пользовательского интерфейса. Файлы XML служат структурой пользовательского интерфейса и определяют структуру и свойства отдельных компонентов пользовательского интерфейса. Подход на основе XML в основном зависит от иерархий представлений, в которых представления располагаются близко друг к другу для создания общей структуры пользовательского интерфейса [2].

Архитектура XML требует ручных усилий для управления состоянием пользовательского интерфейса и обработки взаимодействия. Это увеличивает сложность и длину кода, особенно в крупных приложениях со сложным пользовательским интерфейсом. Разработчикам необходимо придерживаться четкого подхода к управлению изменениями и обновлениями состояния представления, поскольку они более подвержены ошибкам и усложняют поддержку кода [2].

Общие различия представлены в Таблице 1.

Таблица 1.

Отличия Jetpack Compose от XML

Аспект

Jetpack Compose

XML

Подход к дизайну и структуре пользовательского интерфейса

Современный, декларативный и составной

Императивный и иерархический

Язык программирования

Kotlin

Kotlin/Java

Разработка пользовательского интерфейса

Создает компоненты в виде функций

Написание XML-файлов и использование отдельного кода Java/Kotlin для обработки логики и взаимодействий

Предварительный просмотр в реальном времени

Можно увидеть все вносимые изменения в моменте

Можно увидеть вносимые изменения, но необходимо запустить приложение

Программирование

Принципы реактивного программирования

Ручное управление состоянием представления и обработки событий.

Анимация и переходы

Встроенная поддержка стандартной анимации

Требует дополнительных атрибутов XML и отдельных файлов анимации

 

Jetpack Compose представил себя миру только в мае 2019, но уже завоевал пользовательскую симпатию. Однако несмотря на подавляющее преимущество Jetpack Compose, все-таки можно выделить некоторые его недостатки:

  1. Унаследованные проекты будет сложно или даже непрактично полностью реорганизовать под новый framework;
  2. Некоторые варианты поведения и анимации пользовательского интерфейса проще реализовать с помощью XML;
  3. Не все стандартные компоненты Material Design переписаны на Jetpack Compose;
  4. Ухудшенная производительность на debug сборке проекта;
  5. Для xml больше документации, чем для Jetpack Compose.

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

 

Список литературы:

  1. Basics of Jetpack Compose in Android [Электронный ресурс]. – URL: https://www.geeksforgeeks.org/basics-of-jetpack-compose-in-android/ (дата обращения 05.06.2024).
  2. Jetpack Compose vs XML: A comprehensive comparison for Android UI development [Электронный ресурс]. – URL: https://www.auberginesolutions.com/blog/jetpack-compose-vs-xml-a-comprehensive-comparison-for-android-ui-development/ (дата обращения 05.06.2024).
  3. XML [Электронный ресурс]. – URL: https://blog.skillfactory.ru/glossary/xml/ (дата обращения 05.06.2024).
Удалить статью(вывести сообщение вместо статьи): 
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий