Современные подходы к разработке web-приложений
Заказать уникальный реферат- 26 26 страниц
- 8 + 8 источников
- Добавлена 26.05.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Введение 3
Сущность web-приложения 4
Принципы работы web-приложения 5
Виды web-приложений 7
Разработка web-приложений 9
Программные подходы 11
Технология CGI 11
Технология FastCGI 13
Расширения web-серверов 13
Подходы на основе шаблонов 14
SSI 15
Cold Fusion 15
PHP 16
ASP 16
Объектные среды 17
Серверные фреймворки 21
Клиентские фреймворки 22
Заключение 25
Использованная литература 26
Разделение логики и представления также позволяет успешно разделять разработку приложения между разными членами команды разработчиков.Например, дизайнеры, не имеющие опыта программирования, могут использовать теги компонентов пользовательского интерфейса JavaServer Faces для ссылки на серверные объекты внутри веб-страницы без написания какого-либо кода.Кроме того, технология JavaServer Faces обеспечивает богатую архитектуру для управления состоянием компонентов, обработки данных компонентов, проверки пользовательских данных и обработки событий.JavaServer Faces придерживается парадигмы MVC(англ. Model-View-Controller – «Модель-Представление-Контроллер»).MVC – концепция программирования, разделяющая классы на три группы, широко применяющаяся при использовании фреймворков. Структура концепции представлена на рисунке 6.Рис. 6. Концепция MVCМоделью (Model)называют ту часть приложения, которая относится к работе с данными. Модельсодержит все данные и уровни бизнес-логики, ее правила и функции.Представление (View) или вид отвечает за визуальное отображение данных, например: диаграммы, графики и т. д. То есть под представлением подразумевается пользовательский интерфейс приложения.Контроллер (Controller) реализует задачи, связанные со взаимодействием между моделью и видом,то есть трансформирует данные для их команд. [1]Суть модели MVC состоит в разделении приложения на перечисленные выше три отдельных компонента таким образом, что модификация каждого из них оказывает минимальное воздействие на остальные. Это приводит к существенному облегчению процесса разработки и поддержки.Серверные фреймворкиАрхитектура и правиласерверных фреймворков не позволяют создавать веб-приложение с богатым интерфейсом. Их функционал ограничен, однако его хватает на разработку простых страниц и разных форм. Серверные фреймворки в основном отвечают за отдельные, но критически важные части приложения, без которых оно не сможет нормально работать, например, они могут формировать выходные данные и отвечать за безопасность в случае атак. Все это упрощает процесс разработки. Чаще всего используются Django (с языком Python), Zend (с языком PHP). Django – высокоуровневыйфреймворк, который сочетает удобство и скорость разработки с отличной платформой для работы с клиентами какого-либо бизнеса. В Django реализован принцип DRY (Don’t Repeat Yourself) – при использовании Django достаточно один раз написать код и использовать его везде в похожих ситуациях. Благодаря тому, что при разработке вDjango можно собирать приложение из компонентов, сокращается время создания сайтов. Фреймворк Django применяют для созданиясистем управления отношениями с клиентами– CRM, систем управления содержимым (контентом) – CMS, различных коммуникационных платформ, сервисов бронирования и платформ управления документооборотом.Zend Framework – это объектно-ориентированная среда разработкиweb-приложений с открытым исходным кодом, представляющая собой набор профессиональных пакетов на основе PHP, разработанная компанией Zend. Zend Framework реализует объектно-ориентированные концепции, такие как наследование и интерфейсы классов. Это делает большинство (если не все) компонентов Zend Framework расширяемыми до некоторой точки,разработчики могут реализовывать свои собственные вариации компонентов без изменения самого кода Zend Framework. Содержащийся в Zend Framework набор классов можно использовать как по частям в других проектах, так и полностью. Этот фреймворк, как правило, используют при разработке крупных коммерческих проектов. Zend Framework основан на программной архитектуре MVC, при этом среда разработки содержит большое количество пакетов, отвечающих за различный функционал. Всё это организовано в Zend Studio – интегрированную среду разработки приложений, которая включает функции, специально предназначенные для упрощения работы с фреймворком. Zend Apigility помогает разработчикам создавать и документировать APIС помощью служб удаленного вызова процедур (Remote Procedure Call, RPC) и REST;Zend Server улучшает производительность приложений, созданных в Zend Framework, за счет ускорения кода операции и нескольких возможностей кэширования, а также включает средства мониторинга и диагностики приложений. [1].Клиентские фреймворкиВ отличие от серверных, клиентские фреймворки никак не связаны с логикой приложения, они работают исключительно в браузере. С их помощью можно улучшить и внедрить новые пользовательские интерфейсы –клиентские фреймворки позволяют создавать разные анимации и одностраничные приложения. Все клиентские фреймворки отличаются по функциональности и использованию. Рассмотрим некоторые из них, использующие язык JavaScript. React – библиотека с открытым кодом для создания пользовательских интерфейсов. С помощью React разработчики создаютweb-приложения, которые изменяют отображение без перезагрузки страницы. Благодаря этому приложения быстро реагируют на действия пользователя, например, когда они заполняют формы, применяют фильтры, добавляют товары в корзину и так далее.Одна из ключевых особенностей React – универсальность. Эту библиотеку можно использовать на сервере и на мобильных платформах с помощью React Native.Ещё одна важная особенность библиотеки – декларативность. С помощью React разработчик описывает, как компоненты интерфейса выглядят в разных состояниях. Декларативный подход сокращает код и делает его понятным.React основан на компонентах. Каждый компонент возвращает часть пользовательского интерфейса со своим состоянием. Объединяя компоненты, программист создаёт завершённый интерфейсвеб-приложения.Angular – это фреймворк от компании Google. Прежде всего, он нацелен на разработку SPA-решений.В Angular любые изменения в пользовательском интерфейсе сразу же отражаются на объектах приложения и наоборот (так называемое двустороннее связывание). Фреймворк сам отслеживает события браузера, изменения модели и действия пользователя на странице, и сразу обновляетнеобходимые шаблоны. При этом в коде JavaScript просто описывается требуемый результат в терминах состояния модели, и нет нужды использовать низкоуровневые конструкции. Основные преимущества фреймворка Angular – это синтаксис шаблона и инструменты команднойстроки (CLI) для быстрого создания прототипов, повышающие скорость работы и производительность приложения. Angular отлично подходит для разработки одностраничных приложений, но его можно использовать и для разработки сложных корпоративных веб-приложений.[3]Эта среда разработки известна, прежде всего, потому, что она предоставляет разработчикам лучшие условия для объединения JavaScript с HTML и CSS. Кweb-приложениям на Angular.jsотносятся Google и Youtube.Vue – это прогрессивный фреймворк, ориентированный на создание пользовательских интерфейсов.Высокая степень адаптивности за счет ориентированности на уровень представления и простоте интеграции других библиотек или в существующие проекты – отличительная черта Vue. [1]Vue позволяет разрабатывать сложные одностраничные приложения (SPA) за счетрасширения HTML-атрибутов так называемыми директивами. Существуют как встроенные директивы, так и определяемые программистом. Vue очень похожна React. Оба фреймворка имеют высокую скорость работы, однако,в отличие от React, в котором изменение состояния компонента ведет к перерисовке всего поддерева этого компонента, Vue автоматически отслеживает зависимости компонентов. Такой подход позволяет системе точно знать, какие компоненты необходимо перерисовывать. Это устраняет необходимость целого класса оптимизаций. В React все построено на JavaScript, Vue же охватывает классические веб-технологии и основывается на них.Одним из самых популярных фреймворков для Java Enterprise Edition является Spring, который позволяет разрабатывать надежные и высококачественные приложениякак для больших серверных проектах, так и для автономных приложениях, которые не требуют наличия облака. Springимеет открытый исходный код, что позволило сформировать большое сообщество, которое непрерывно совершенствует возможности Spring и увеличивает сферу применения. Фреймворк разделен примерно на 20 модулей, сгруппированных по назначению. Основу составляют модули контейнеров ядра (Core Container), которые включают конфигурационную модель и механизм внедрения зависимостей. При разработке приложений необходимо выбрать требуемые модули.Помимо этого, Spring предоставляет поддержку различных архитектур приложений.ЗаключениеМы рассмотрели понятие web-приложения, его архитектуру и виды, а также сделали обзор существующих сегодня технологий разработки web-приложений.Современные web-платформы являются эффективным средствомдостижений целей, поставленных бизнесом.Поэтому становится важным правильно выбрать технологию, позволяющую решатьзадачи оптимальным способом.[5]Проведенные исследования позволяют сделать вывод о многообразии доступных инструментов для web-разработки. Среди современных технологий разработки web-приложений, помимо уже ставших классическими технологий на стороне клиентской части приложения (HTML, CSS, JavaScript), сейчас выделяются технологии, использующие фреймворки.Выбор технологии зависит от того, какую проблему необходимо решить. Например, для создания простого одностраничного приложения подойдёт Angular, для более сложных – React или Vue.[8]Существующие технологии разработки серверной части предполагают использование любого языка программирования, который имеет доступ к стандартным средствам ввода/вывода, однако, самыми популярными языками являются PHP, Python иJava.Среди серверных фреймворков самыми популярнымиявляются Django (Python) и Zend (PHP).Использованная литератураБайдыбеков, А. А. Современные фреймворки для разработки web-приложений / А. А. Байдыбеков, Р. Г. Гильванов, И. А. Молодкин // Интеллектуальные технологии на транспорте. – 2020. – № 4(24). – С. 23-29.Китова О. В., Брускин С. Н., Дьяконова Л. П., Горбенко А. О., Китов В. А., Китов В. В., Сафонова М. С., Старостина Л. А., Шихнабиева Т. Ш., Борцова Д. Э. Цифровой бизнес : учебник / Под науч. ред. О. В. Китовой. М., 2018. – 418 с.Обзор современных фреймворков и инструментов, используемых для разработки web-приложений / А. М. Байнов, А. Е. Кривоногова, А. С. Николаев, О. И. Богомолова // Наука без границ. – 2020. – № 1(41). – С. 19-23. Паршикова, С. Р. Анализ языков программирования для веб-разработки: PHP, Python и Ruby / С. Р. Паршикова, В. В. Кузина // Образование и наука в современном мире. Инновации. – 2016. – № 6-1. – С. 195-202. Толстых, М. А. Оценка перспективности фреймворков для создания современных web-приложений / М. А. Толстых // Научные исследования XXI века. – 2020. – № 1(3). – С. 79-82.Тузовский, А. Ф. Проектирование и разработка web-приложений: учебное пособие для среднего профессионального образования / А. Ф. Тузовский. – М.: Издательство Юрайт, 2020. – 218 с.Халилова З. Э. Современные технологии для разработки web-приложений. [Электронный ресурс] – URL: https://infourok.ru/statya-na-temu-sovremennye-tehnologii-dlya-razrabotki-web-prilozhenij-4074059.html (дата обращения: 25.04.2022)Эмирова, Л. Р. Обзор современных фреймворков и инструметов, используемых для разработки web-приложений / Л. Р. Эмирова, Д. С. Петровский // Форум молодых ученых. – 2020. – № 10(50). – С. 775-779.
1. Байдыбеков, А. А. Современные фреймворки для разработки web-приложений / А. А. Байдыбеков, Р. Г. Гильванов, И. А. Молодкин // Интеллектуальные технологии на транспорте. – 2020. – № 4(24). – С. 23-29.
2. Китова О. В., Брускин С. Н., Дьяконова Л. П., Горбенко А. О., Китов В. А., Китов В. В., Сафонова М. С., Старостина Л. А., Шихнабиева Т. Ш., Борцова Д. Э. Цифровой бизнес : учебник / Под науч. ред. О. В. Китовой. М., 2018. – 418 с.
3. Обзор современных фреймворков и инструментов, используемых для разработки web-приложений / А. М. Байнов, А. Е. Кривоногова, А. С. Николаев, О. И. Богомолова // Наука без границ. – 2020. – № 1(41). – С. 19-23.
4. Паршикова, С. Р. Анализ языков программирования для веб-разработки: PHP, Python и Ruby / С. Р. Паршикова, В. В. Кузина // Образование и наука в современном мире. Инновации. – 2016. – № 6-1. – С. 195-202.
5. Толстых, М. А. Оценка перспективности фреймворков для создания современных web-приложений / М. А. Толстых // Научные исследования XXI века. – 2020. – № 1(3). – С. 79-82.
6. Тузовский, А. Ф. Проектирование и разработка web-приложений: учебное пособие для среднего профессионального образования / А. Ф. Тузовский. – М.: Издательство Юрайт, 2020. – 218 с.
7. Халилова З. Э. Современные технологии для разработки web-приложений. [Электронный ресурс] – URL: https://infourok.ru/statya-na-temu-sovremennye-tehnologii-dlya-razrabotki-web-prilozhenij-4074059.html (дата обращения: 25.04.2022)
8. Эмирова, Л. Р. Обзор современных фреймворков и инструметов, используемых для разработки web-приложений / Л. Р. Эмирова, Д. С. Петровский // Форум молодых ученых. – 2020. – № 10(50). – С. 775-779.
Вопрос-ответ:
Какие есть современные подходы к разработке web приложений?
Современные подходы к разработке web приложений включают в себя использование различных технологий и фреймворков, таких как CGI, FastCGI, PHP, ASP и других. Также важным аспектом является разделение логики и представления приложения.
Что такое web приложение?
Web приложение - это программное обеспечение, которое разработано для использования через веб-браузер. Оно может выполнять различные функции, отобразить информацию или обрабатывать данные, взаимодействовать с базой данных и т.д.
Какие принципы работы у web приложений?
Web приложения работают на основе клиент-серверной архитектуры, где клиентом является веб-браузер, а сервером - веб-сервер. Приложение обрабатывает запросы от клиента, выполняет необходимую логику и отдает результат клиенту в виде HTML, CSS и JS файлов.
Какие виды web приложений существуют?
Существует несколько видов web приложений, таких как статические веб-сайты, динамические веб-приложения, интернет-магазины, социальные сети и другие. Каждый вид приложений имеет свои особенности и требует использования определенных технологий и инструментов в разработке.
Какие подходы используются при разработке web приложений?
При разработке web приложений применяются различные подходы, в том числе программные подходы на основе CGI, FastCGI, PHP, ASP и другие. Также широко распространены серверные и клиентские фреймворки, которые упрощают и ускоряют процесс разработки.
Какой подход используется при разработке web приложений?
При разработке web приложений используется подход разделения логики и представления. Это позволяет более эффективно организовывать код и делить задачи между разработчиками.
Какие принципы работы лежат в основе web приложений?
Основные принципы работы web приложений - это клиент-серверная модель, взаимодействие по протоколу HTTP, разделение логики и представления, а также возможность работы с базами данных и другими внешними ресурсами.
Какие виды web приложений существуют?
Существует несколько видов web приложений: статические, динамические и SPA (Single Page Applications). Статические приложения состоят из статичных HTML-страниц, динамические приложения используют серверный код для генерации HTML на лету, а SPA загружаются один раз и взаимодействуют с сервером через AJAX.
Какие программные подходы используются при разработке web приложений?
При разработке web приложений могут использоваться различные программные подходы. Некоторые из них: технология CGI, технология FastCGI, расширения web серверов, подходы на основе шаблонов и использование объектных сред.
Какие серверные и клиентские фреймворки могут быть использованы для разработки web приложений?
Для разработки web приложений можно использовать различные серверные и клиентские фреймворки. Некоторые из них: серверные - Django, Ruby on Rails, Laravel, клиентские - Angular, React, Vue.js.
Что представляет собой web приложение?
Web-приложение - это программное обеспечение, разработанное для работы в сети Интернет. Оно доступно для пользователей через веб-браузер и позволяет выполнять определенные функции или обеспечивать определенные сервисы.