Тип работы:
Предмет:
Язык работы:


КОДОГЕНЕРАЦИЯ ПРИ ПРОЕКТИРОВАНИИ ИНТЕРФЕЙСОВ: РЕАЛИЗАЦИЯ ПЛАГИНА ДЛЯ ПРИЛОЖЕНИЯ FIGMA

Работа №32067

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы63
Год сдачи2019
Стоимость6500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
252
Не подходит работа?

Узнай цену на написание


ГЛОССАРИЙ 3
ВВЕДЕНИЕ
1. ПОСТАНОВКА ЗАДАЧИ 8
1.1 Концепция программного инструмента 8
1.2 Обзор альтернативных решений 8
2 ВЫБОР ТЕХНОЛОГИИ РЕАЛИЗАЦИИ 13
3. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ИНСТРУМЕНТА 14
3.1 Проектирование программного обеспечения 14
3.2 Принцип работы алгоритма 17
3.3 Чтение файлов исходного Figma-макета 20
3.4 Ограничения для динамического изменения элементов 22
3.5 Повторное использование кода 24
3.6 Переменные. Динамическое изменение данных 26
3.7 Загрузка пользовательских данных 28
4. ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ 31
ЗАКЛЮЧЕНИЕ 36
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 38
ПРИЛОЖЕНИЕ А 40
ПРИЛОЖЕНИЕ Б


Жизненный цикл разработки веб-приложений существенной влияет на сроки и стоимость конечного продукта. Есть ряд видов работ, которые требуют наибольшего вклада по времени [1]:
• Анализ требований;
• Написание технического задания;
• Проектирование и дизайн пользовательского интерфейса;
• Верстка макетов пользовательского интерфейса;
• Написание кода и тестирование.
На этапе передачи макетов пользовательского интерфейса дизайнером фронтенд разработчику часто возникают разночтения технического задания: не удается донести должным образом требования, технические особенности реализации, тонкости работы интерфейса. Автоматизация часто повторяющихся процессов или процессов не зависящих от нюансов конкретного проекта позволит сократить необходимые трудозатраты.
Рассмотрим каждый процесс с точки зрения автоматизации.
Процесс анализа требований и написания технического задания не может быть автоматизирован, так как требует обсуждения многих вопросов связанных с проектом. Прототипирование и дизайн макетов пользовательского интерфейса не поддаются полной автоматизации, так как в процессе работы макеты сопровождаются правками со стороны клиента и действиями такими как:
• Понимание правил UX [15];
• Творческая составляющая;
• Глубокое понимание сути проекта.
Но есть этап, который может быть автоматизирован должным образом — генерация кода по реализованным макетам пользовательского интерфейса. Процесс реализации макетов пользовательского интерфейса сопровождается написанием кода для элементов интерфейса. Часто интерфейсы содержат элементы, которые повторяются, но требуют незначительного изменения в коде.
Существуют множество программных решений данной задачи. Каждое из которых имеет свои преимущества и недостатки. Одни программы используют метод распознавания изображений нарисованных скетчей с помощью обученной нейронной сети [2]. Но такой подход требует большого количества тестовых данных, так как результат на выходе имеет недостаточно высокий процент совпадения с оригиналом [6]. Другие программы использую подход генерации кода по нарисованным элементам, которые должны быть реализованы в их программе, что сильно ограничивают дизайнеров в выборе рабочего инструмента.
В ходе работы над продуктом дизайнеры используют различные инструменты для отрисовки пользовательского интерфейса. Согласно проведенному опросу среди дизайнеров самым популярным инструментов является Sketch [5] (Рис. 1). Следом HfleTFigma [12], которая работает в облаке. Оба инструмента умеют выдавать json-файлы, в которых содержится вся информация о требуемых экранах дизайн-макета. Выбор графического инструмента Figma был обусловлен такими факторами:
• Работа в облаке;
• Кроссплатформенность. Программа Sketch доступна только пользователям операционной системы Mac OS;
• Наличие стабильного API, которое не меняется от обновления приложения.
В рамках данной выпускной квалификационной работы была поставленная цель разработки плагина для автоматической генерации кода при проектировании пользовательских интерфейсов Web-приложений. Для достижения этой цели были поставлены следующие задачи:
• проанализировать популярные продукты, имеющиеся на рынке, которые обладают функциями автоматической генерации кода и выявить их сильные и слабые стороны;
• разработка алгоритма для генерации кода, на основе данных figma;
• разработка графического интерфейса для взаимодействия пользователя с программой;


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения данной дипломной работы было разработано программное решение для генерации кода пользовательского интерфейса для web-приложений. Задачи, выполненные в рамках работы:
• проанализированы популярные на рынке продукты, которые обладают функциями автоматической генерации кода и составлено техническое задание на разработку собственного решения;
• разработан алгоритм для генерации кода, на основе данных figma;
• разработан графический интерфейс для взаимодействия пользователя с программой;
Разработанный программный продукт позволит front-end разработчикам сократить время на верстку шаблонных решений в пользовательском интерфейсе. Дизайнерам даст возможность тестировать продукт на раннем этапе на реальных данных и различных устройствах благодаря адаптивности.
В качестве дальнейших улучшений плагина можно рассмотреть следующие идеи:
• реализация наличия различных состояний элемента, когда пользователь наводит курсор на элемент;
• реализация каскадных таблиц стилей CSS, которая позволяет веб-разработчикам создавать сложные адаптивные макеты веб-дизайна более легко и согласованно в разных браузерах;
• интеграция плагина с платформами для совместной разработки IT-проектов: GitHub, GitLab, BitBucket.
Данная работа размещена в системе управления репозиториями кода для Git —GitLab [19].



1. Aaron М. French Web Development Life Cycle: A New Methodology for
Developing Web Applications [Электронный ресурс]. — режим доступа: http://www.icommercecentral.com/open-access/web-development-life-cycle-a- new-methodology-for-developing-web-applications.php?aid=38244 (дата
обращения: 24.02.2019).
2. Andrew S. Lee Generating Webpages from Screenshots [Электронный
ресурс]. режим доступа:
http://cs230.stanford.edu/files_winter_2018/projects/6939681.pdf (дата
обращения: 24.03.2019).
3. Jon Gold Painting with Code [Электронный ресурс]. — https://airbnb.design/painting-with-code/ (дата обращения: 10.12.2018).
4. Shaoqing Ren Faster R-CNN: Towards Real-Time Object Detection with
Region Proposal Networks / Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun [Электронный ресурс]. —
http://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detectio n-with-region-proposal-networks.pdf /дата обращения: 24.03.2019).
5. Taylor Palmer Design Tools Survey 2018 [Электронный ресурс]. — https://uxtools.co/survey-2018#ui-design /дата обращения: 24.03.2019).
6. Tony Beltramelli pix2code: Generating Code from a Graphical User Interface Screenshot [Электронный ресурс]. — https://arxiv.org/pdf/1705.07962.pdf? (дата обращения: 14.03.2019).
7. Официальный блог программы Figma Changes to Line Height Behavior
[Электронный ресурс]. —
https://help.figma.com/article/283-changes-to-line-height (дата обращения:
22.02.2019) .
8. Официальная документация программы Figma для разработчиков
[Электронный ресурс]. — https://www.figma.com/developers/docs (дата обращения 18.05.2019).
9. Официальная документация программы Sketch для разработчиков
[Электронный ресурс]. — https://developer.sketch.com/plugins/ (дата размещения: 13.01.2019).
10. Официальная документация к шаблону Redux для JavaScript [Электронный ресурс]. — https://github.com/rajdee/redux-in-russian (дата обращения: 22.03.2019).
11.Официальный сайт программы Axure RP [Электронный ресурс]. — https://www.axure.com/ /дата обращения: 12.10.2018).
12. Официальный сайт программы Figma [Электронный ресурс]. — https://www.figma.com/ (дата обращения: 24.03.2019).
13.Официальный сайт программы Pagedraw [Электронный ресурс]. — https://pagedraw.io/ /дата обращения: 12.10.2018).
14.Официальный сайт TOBIE Statistical language R falls out of the TIOBE index top 20 [Электронный ресурс]. — https://www.tiobe.com/tiobe-index/ (дата обращения: 10.01.2019).
15.Официальный сайт правил UX [Электронный ресурс]. — режим доступа: https://lawsofux.com (дата обращения: 24.03.2019).
16.Официальный сайт файлового архива студентов [Электронный ресурс]. — https://studfiles.net/preview/2910570/ (дата обращения: 24.03.2019).
17. Официальный сайт программы uizard [Электронный ресурс]. —
https://uizard.io/ (дата обращения: 24.01.2019).
18. Официальный сайт программы Zeplin [Электронный ресурс]. —
https://zeplin.io/ /дата обращения: 18.01.2019).
19. Исходный код работы [Электронный ресурс]. — http://gititis.kpfu.ru/ITYadgarov/figma-plugin


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ