Разработка фреймворка для создания оптимизированной клиентской части веб-сайтов компаний

Ткачев, Михаил Отделение информационных технологий (ОИТ)
Бесплатно
В избранное
Работа доступна по лицензии Creative Commons:«Attribution» 4.0

В результате исследовательской работы спроектирован и разработан фреймворк для создания клиентской части веб-приложения. Фреймворк предоставляет функционал для компонентной реализации веб-приложения с применением парадигмы объектно-ориентированного программирования и представлении пользовательского интерфейса в виде JavaScript объекта.

Введение …………………………………………………………………………………………16
1. Анализ предметной области……………………………………………………………19

1.1 Базовые инструменты разработки клиентской части веб-приложений …..19
1.1.1 Развитие современного JavaScript ……………………………………………….21

1.1.2 Основы работы браузера …………………………………………………………..23
1.2 Обзор актуальных фреймворков для разработки клиентской части веб
приложений……………………………………………………………………………………..27

1.2.1 Обзор фреймворка Angular ………………………………………………………..28
1.2.2 Обзор фреймворка React …………………………………………………………..33

1.2.3 Обзор фреймворка Vue……………………………………………………………..36
1.3 Современные подходы фронтенд разработки …………………………………..38

1.3.1 Одностраничные приложения…………………………………………………….38

1.3.2 Прогрессивные веб приложения …………………………………………………40
1.3.3 Теневая и виртуальная объектная модель документа ………………………42

1.4 Формирование требований к разрабатываемому фреймворку по
результатам аналитического обзора ………………………………………………………45

2. Проектирование и разработка фреймворка ………………………………………..47
2.1 Проектирование и разработка класса компонента……………………………..47
2.2 Проектирование класса UserEventEmitter………………………………………..52

2.3 Проектирование и разработка класса страницы………………………………..52
2.4 Проектирование класса Router………………………………………………………53

2.5 Настройка прогрессивного веб-приложения и стратегии кеширования….54
2.6 Разбиение проекта на бандлы и оптимизация загрузки ………………………55

2.7 Вспомогательные утилиты …………………………………………………………..55
3. Разработка демонстрационного приложения ……………………………………..58
4. Исследование производительности демонстрационного веб приложения…61

5. Финансовый менеджмент, ресурсоэффективность и ресурсосбережение …64
5.1 Потенциальные потребители результатов исследования …………………….64

5.2 SWOT-анализ ……………………………………………………………………………64
5.3 Планирование управления научно-техническим проектом………………….65
5.4 Бюджет научно-технического исследования ……………………………………67

5.4.1 Материальные затраты……………………………………………………………..67
5.4.2 Основная заработная плата исполнителей темы …………………………….67

5.4.3 Дополнительная заработная плата исполнителей темы ……………………69
5.4.4 Отчисления во внебюджетные фонды ………………………………………….69

5.4.5 Накладные расходы …………………………………………………………………70
5.4.6 Формирование бюджета затрат научно-исследовательского проекта ….70

5.5 Определение ресурсной, финансовой, бюджетной, социальной и
экономической эффективности исследования …………………………………………71
6. Социальная ответственность…………………………………………………………..75

6.1 Правовые и организационные вопросы обеспечения безопасности …………75
6.2 Производственная безопасность ……………………………………………………78
6.2.1 Микроклимат рабочего места …………………………………………………….79

6.2.2 Шум ……………………………………………………………………………………..79
6.2.3 Освещенность рабочей зоны………………………………………………………81

6.2.4 Электромагнитное излучение …………………………………………………….83
6.2.5 Электробезопасность ……………………………………………………………….84

6.3 Экологическая безопасность ………………………………………………………..85
6.4 Безопасность в чрезвычайных ситуациях ………………………………………..86
6.5 Вывод по разделу ………………………………………………………………………88
Заключение ……………………………………………………………………………………..89

Список публикаций студента……………………………………………………………….90
Литература ………………………………………………………………………………………91

Приложение А. Раздел на иностранном языке …………………………………………95
Приложение Б. Алгоритм обновления пользовательского интерфейса……….. 105
Приложение В. Диаграмма классов демонстрационного приложения………… 106

Приложение Г. SWOT-анализ……………………………………………………………. 107

Основной причиной существования клиентских фреймворков в сфере
веб-разработки является проблема синхронизации внутреннего состояния
приложения с пользовательским интерфейсом [1]. Это происходит по причине
того, что веб-приложения становятся на один уровень с нативными
приложениями по степени интерактивности [2].
Регулярным алгоритмом обновления пользовательского интерфейса
является цепочка действий, которая состоит из того, чтобы отреагировать на
пользовательские действия, затем получить доступ к элементу объектной модели
документа (DOM), который следует обновить и изменить его значение.
Аналогичные действия требуются на любой пользовательский ввод [2]. Однако
частое обращение к программному интерфейсу (API) DOM делают код менее
читабельным и понятным, а также требует особой внимательности к
оптимизации работы с данным API, так как обращение к DOM-дереву
ресурсоемкий процесс. Поэтому в последнее время набрали популярность
клиентские веб-фреймворки которые позволяют облегчить, оптимизировать и
ускорить разработку веб-приложений [2].
Однако актуальные клиентские веб-фреймворки в лице Angular, React и
Vue, которые занимают основную часть сферы, не лишены своих недостатков
[1]. Наиболее важный из недостатков следует выделить то, что наиболее
популярные решения, то есть фреймворки Angular и React, изначально созданы
для собственных нужд компаний Google и Facebook, а не для сообщества веб-
разработчиков, и их развитие направлено на покрытие необходимости компаний
и полностью ими контролируется [3]. Открытость и доступность данных
решений помогают данным компаниям за счет привлечения свободных
разработчиков, создающих вспомогательные инструменты и развивать
экосистему своего продукта. Однако у данных продуктов не стоит цель решения
проблем сторонних разработчиков. Из чего вытекают риски изменения условий
использования, несоответствия задач у компаний и сообщества, монополизация
рынка ведущая, к извлечению выгоды и т.п [4]. Также следует отметить риски,
несущие в себе большой размер кодовой базы самих фреймворков в случае
использовании их сторонними компаниями. В данном случае особо важным
является вопрос надежности, безопасности и конфиденциальности. Риски в
сфере безопасности связаны c большим числом зависимостей от сторонних
проектов, как прямых, так и косвенных. Так согласно информации, изложенной
в исследовании «State of Open Source Security— 2020», занимающейся
сканированием исходного кода на уязвимости компании Snyk, более 75%
уязвимостей безопасности для клиентских веб-приложений находятся в
огромном числе непрямых зависимостей проекта [5]. Помимо этого, данный
факт создает проблемы и в сфере надежности, так как надежность проекта
начинает зависеть от огромного числа сторонних библиотек и действий
большого числа разработчиков. Также, большую кодовую базу актуальных
клиентских веб-фреймворков невозможно исследовать на уязвимости, несмотря
на открытость исходного кода. Вместе с этим большие проекты невозможно
тонко настроить под специфические нужды и невозможно самостоятельно
поддерживать актуальность фреймворка. Большая кодовая база фреймворков не
позволяет самому фреймворку быстро реагировать на изменение технологий и
стандартов. Особо отметить следует сложность, а иногда невозможность
обновления кодовой базы приложения при выходе новых версий фреймворков
[6].
В следствии вышеуказанных проблем, а также отсутствия в данной сфере
разработки отечественных аналогов целью данной работы является создание
клиентского веб-фреймворка, который обеспечит базовый необходимый
функционал для синхронизации пользовательского интерфейса и состояния веб-
приложения. Разрабатываемый фреймворк создается без большого числа
сторонних зависимостей, а также с применением объектно-ориентированного
подхода (ООП) к разработке с использованием языка TypeScript. Данное
решение позволит абстрагироваться от задач обновления пользовательского
интерфейса и особенностей клиентской разработки, что сделает клиентскую
разработку доступнее для разработчиков со знаниями ООП языков, позволит
оптимизировать бюджет компаний, не привлекая специалистов со
специфичными знаниями. Для выполнения цели были поставлены задачи:
• Изучение архитектуры существующих фреймворков.
• Изучение проблем современных клиентских веб-фреймворков.
• Выбор методологий и паттернов проектирования для отдельных
модулей.
• Создание фреймворка для веб-приложений.
• Создание демонстрационного приложения
• Исследование производительности созданного фреймворка
1. Анализ предметной области.

Заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 5 000 ₽

Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям

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

    Хочешь уникальную работу?

    Больше 3 000 экспертов уже готовы начать работу над твоим проектом!

    Татьяна М. кандидат наук
    5 (285 отзывов)
    Специализируюсь на правовых дипломных работах, магистерских и кандидатских диссертациях
    Специализируюсь на правовых дипломных работах, магистерских и кандидатских диссертациях
    #Кандидатские #Магистерские
    495 Выполненных работ
    Глеб С. преподаватель, кандидат наук, доцент
    5 (158 отзывов)
    Стаж педагогической деятельности в вузах Москвы 15 лет, автор свыше 140 публикаций (РИНЦ, ВАК). Большой опыт в подготовке дипломных проектов и диссертаций по научной с... Читать все
    Стаж педагогической деятельности в вузах Москвы 15 лет, автор свыше 140 публикаций (РИНЦ, ВАК). Большой опыт в подготовке дипломных проектов и диссертаций по научной специальности 12.00.14 административное право, административный процесс.
    #Кандидатские #Магистерские
    216 Выполненных работ
    Анна Н. Государственный университет управления 2021, Экономика и ...
    0 (13 отзывов)
    Закончила ГУУ с отличием "Бухгалтерский учет, анализ и аудит". Выполнить разные работы: от рефератов до диссертаций. Также пишу доклады, делаю презентации, повышаю уни... Читать все
    Закончила ГУУ с отличием "Бухгалтерский учет, анализ и аудит". Выполнить разные работы: от рефератов до диссертаций. Также пишу доклады, делаю презентации, повышаю уникальности с нуля. Все работы оформляю в соответствии с ГОСТ.
    #Кандидатские #Магистерские
    0 Выполненных работ
    Анна В. Инжэкон, студент, кандидат наук
    5 (21 отзыв)
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссе... Читать все
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссертаций. Работала в маркетинге. Практикующий бизнес-консультант.
    #Кандидатские #Магистерские
    31 Выполненная работа
    Катерина В. преподаватель, кандидат наук
    4.6 (30 отзывов)
    Преподаватель одного из лучших ВУЗов страны, научный работник, редактор научного журнала, общественный деятель. Пишу все виды работ - от эссе до докторской диссертации... Читать все
    Преподаватель одного из лучших ВУЗов страны, научный работник, редактор научного журнала, общественный деятель. Пишу все виды работ - от эссе до докторской диссертации. Опыт работы 7 лет. Всегда на связи и готова прийти на помощь. Вместе удовлетворим самого требовательного научного руководителя. Возможно полное сопровождение: от статуса студента до получения научной степени.
    #Кандидатские #Магистерские
    47 Выполненных работ
    Юлия К. ЮУрГУ (НИУ), г. Челябинск 2017, Институт естественных и т...
    5 (49 отзывов)
    Образование: ЮУрГУ (НИУ), Лингвистический центр, 2016 г. - диплом переводчика с английского языка (дополнительное образование); ЮУрГУ (НИУ), г. Челябинск, 2017 г. - ин... Читать все
    Образование: ЮУрГУ (НИУ), Лингвистический центр, 2016 г. - диплом переводчика с английского языка (дополнительное образование); ЮУрГУ (НИУ), г. Челябинск, 2017 г. - институт естественных и точных наук, защита диплома бакалавра по направлению элементоорганической химии; СПХФУ (СПХФА), 2020 г. - кафедра химической технологии, регулирование обращения лекарственных средств на фармацевтическом рынке, защита магистерской диссертации. При выполнении заказов на связи, отвечаю на все вопросы. Индивидуальный подход к каждому. Напишите - и мы договоримся!
    #Кандидатские #Магистерские
    55 Выполненных работ
    Анастасия Л. аспирант
    5 (8 отзывов)
    Работаю в сфере метрологического обеспечения. Защищаю кандидатскую диссертацию. Основной профиль: Метрология, стандартизация и сертификация. Оптико-электронное прибост... Читать все
    Работаю в сфере метрологического обеспечения. Защищаю кандидатскую диссертацию. Основной профиль: Метрология, стандартизация и сертификация. Оптико-электронное прибостроение, управление качеством
    #Кандидатские #Магистерские
    10 Выполненных работ
    Логик Ф. кандидат наук, доцент
    4.9 (826 отзывов)
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские дисс... Читать все
    Я - кандидат философских наук, доцент кафедры философии СГЮА. Занимаюсь написанием различного рода работ (научные статьи, курсовые, дипломные работы, магистерские диссертации, рефераты, контрольные) уже много лет. Качество работ гарантирую.
    #Кандидатские #Магистерские
    1486 Выполненных работ
    Мария М. УГНТУ 2017, ТФ, преподаватель
    5 (14 отзывов)
    Имею 3 высших образования в сфере Экологии и техносферной безопасности (бакалавриат, магистратура, аспирантура), работаю на кафедре экологии одного из опорных ВУЗов РФ... Читать все
    Имею 3 высших образования в сфере Экологии и техносферной безопасности (бакалавриат, магистратура, аспирантура), работаю на кафедре экологии одного из опорных ВУЗов РФ. Большой опыт в написании курсовых, дипломов, диссертаций.
    #Кандидатские #Магистерские
    27 Выполненных работ

    Другие учебные работы по предмету

    Модернизация системы автоматизации АСУ ТП АО «Farg’onaazot»
    📅 2020год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)
    Интеграционный сервис передачи данных между АСУ ТП и MES
    📅 2018год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)
    Методы сегментации новообразований головного мозга
    📅 2020год
    🏢 Национальный исследовательский Томский политехнический университет (ТПУ)