Многие современные программисты предпочитают в своей работе пользоваться Java. Несмотря на то, что спросом пользуется Си-семейство, Джава тоже не уступает. Связано это с тем, что данный язык является универсальным. Он удобен, понятен и практичен.
С самого своего возникновения (в 1995 году) стал активно развиваться и совершенствоваться. Сейчас Java удобно использовать как для компьютерных программ, так и для мобильных платформ. Это – полноценный язык, поддерживающий объектно-ориентированное программирование. Ключевая особенность Java – возможность создавать веб-приложения и расширения.
Java в программировании – сильные стороны языка
Перед тем, как садиться за написание первых приложений на Джаве, нужно знать, какими особенностями обладает соответствующий язык. Далеко не все «способы общения» с софтом и «железом» подходят для написания конкретного контента.
У Java следующие особенности:
- наличие функционала для ООП;
- понятный и относительно простой синтаксис – освоить его может даже начинающий программист-любитель;
- хорошая пользовательская поддержка – она дружелюбна к новичкам;
- достаточное количество документации на всех языках, включая русский;
- движок и библиотеки для написания игр и всевозможных веб утилит.
Java великолепно «работает» с Сетью. Именно для этой цели изначально планировалось создание оного. Также стоит отметить – упомянутый язык является кроссплатформенным. Перенести программу из одной ОС в другую удается в кратчайшие сроки и без потери качества исходной кодификации.
😲КАК СДЕЛАТЬ МОБИЛЬНЫЙ ИНТЕРНЕТ БЕСПЛАТНЫМ ?
Понятие веб-приложения
Веб-приложение в Java – это специальная программа, основанная на принципе работы по типу клиент-сервис. Давайте рассмотри соответствующие понятия позже. Сначала стоит разобраться, что собой представляет тип утилиты, которую хочется написать на Джаве на этот раз.
В веб-приложении клиент будет взаимодействовать с веб-сервером посредством вспомогательных утилит. Их называют браузерами. Логика распределяется между сервером и клиентом. Хранение информации производится в основном на servers. Обмен данными обеспечивается Сетью.
Основное преимущество подобного контента – это то, что клиенты не будут зависеть от той или иной операционной системы. Не важно, какая ОС установлена на задействованном устройстве. Web-приложения будут работать везде. Это – кроссплатформенный вариант.
Техособенности
Веб приложения имеют ряд особенностей, которые делают соответствующий контент удобным и продуктивным. Важно учитывать следующие моменты:
- Функции выполняются независимо от ОС пользователя.
- Приложение будет создаваться всего один раз для произвольно выбранной платформе. Именно на ней осуществляется дальнейшее развертывание.
- Иногда пользовательские права на редактирование настроек интернет-обозревателя способны доставить немало хлопот. Приложения для работы с сетью будут отображаться некорректно.
- Не исключены проблемы при разработке и поддержке утилит из-за разной реализации CSS и DOM.
- Возможно использование Java-апплетов и Adobe Flash. Со вторым типом приложений сегодня возникают затруднения. Связано это с тем, что Flash-технологии с 2015 года перестали поддерживаться.
В каком-то смысле веб приложения можно отнести к «толстым» клиентам. Связано это с особенностями архитектуры рассматриваемого контента.
Как создать приложение магазина Android + IOS + Сайт. Бесплатный урок!
Архитектурный вопрос
Для начала рекомендуется разобраться, какова архитектура у приложений типа «веб». Она включает в себя клиентскую и серверную части. За счет этого в жизнь воплощается технология под названием «клиент-сервер».
Клиент отвечает за реализацию пользовательского interface. Также он формирует серверные запросы и обрабатывает ответы, получаемые от соответствующих «команд».
- получает заданный клиентом (юзером) запрос;
- производит необходимые вычисления;
- формирует веб-страничку для дальнейших манипуляций;
- производит отправку полученной страницы пользователю по Сети, используя протоколы HTTP.
Веб приложение может являться клиентом иных служб.: баз данных или иных утилит, хранящихся на тех или иных серверах. Пока удается привести один узнаваемый пример – Википедия и ее система управления. Здесь n-количество участников способны принимать участие в разработке сетевой энциклопедии. Работа ведется посредством браузеров. Дополнительные исполняемые модули не загружаются.
Веб-сервер – это…
Перед тем, как писать собственный контент, надо хорошо разбираться в том, какие процессы будут происходить внутри программы. Особенно тогда, когда речь заходит о создании утилит для работы с Сетью.
Web Applications работают по принципу «клиент-сервер». Но не совсем понятно, что такое server, как он реализован. Даже сложные и глобальные проекты будут функционировать по примерно одному и тому же принципу.
Веб-сервер – своеобразный сервер, который принимает HTTP-запросы от клиента, а затем выдает соответствующие ответы. Специальное программное обеспечение, которое выполняет функции веб-server. Может быть выражен «железом» с ПО для взаимодействия с Сетью.
Web Servers, как сказано в Google, обладают дополнительным функционалом. Примеры:
- автоматизация работы страничек в Сети;
- авторизация и аутентификация пользователей;
- поддержка страниц, которые генерируются динамически;
- возможность поддержки HTTPS для защищенных соединений;
- ведение журнала пользовательских обращений к тем или иным ресурсам.
Вариантов веб-серверов очень много. Это говорит о том, что данное направление является весьма перспективным. Вот примеры самых популярных веб-серверов:
- Apache;
- Nginx;
- Microsoft IIS.
Выбрать можно вариант, который пользователю кажется наиболее удобным.
Сервер приложений
Java, как и любой другой язык программирования, непрестанно совершенствуется. Для того, чтобы написать любое приложение, сначала необходимо изучить максимум информации о процессах и ресурсах, которые могут потребоваться в процессе реализации задачи.
В случае с веб утилитами (не только на Java) важно разграничивать сервера и сервера приложений. Это два разных элемента.
Application Server – утилита, представленная сервером. Последний занимается системной поддержкой программ, а также отвечает за обеспечение жизненных циклов в соответствие с установленными принципами работы. Функционирует или самостоятельно, или выступает в качестве поставщика страниц для иных web-servers. Отвечает за обмен информации между софтом и клиентами. Создает программную среду для итогового приложения, помогает авторизовывать и идентифицировать клиентов, организовывает сессии для каждого «подключившегося».
Вот несколько распространенных серверов утилит на Java:
- Tomcat Apache;
- JBoss;
- IBM WebSphere;
- Oracle WebLogic.
Веб-сервер имеет отношение преимущественно к способу передачи данных. Если говорить об Application Server, можно сделать вывод о том, что это – более узкое понятие. Относится к способу исполнения программ (удаленная обработка клиентских команд). В одном ряду соответствующие термины не размещаются. Они отвечают за совершенно разные признаки софта.
Серверные технологии
Java, как и любой другой язык программирования, позволяет создавать уникальный контент. Если он относится к типу «веб», предстоит сначала разобраться в технологиях, используемых для запуска софта и обработки информации. У Джавы их несколько. Выбирать стоит в зависимости от того, для чего конкретно пишется программа.
Технология AJAX
AJAX – это асинхронный JavaScript и XML. Технология, которую можно считать относительно новой. При ней утилита не будет перезагружаться полностью. Для обновления информации осуществляется подгрузка недостающих/новых сведений. Это значительно ускоряет работу и упрощает ее.
AJAX в основном используется при интерактивных пользовательских интерфейсах. Обмен данными «браузер-сервер» протекает в фоновом режиме. Описать данный процесс можно так:
- Юзер открывает страничку в интернете.
- Происходит взаимодействие с тем или иным элементом.
- Скрипт JS определяет, какие данные нужны для обновления.
- Браузер отправляет соответствующий запрос на веб-сервер.
- Последний отвечает за возврат документа, на которую посылался запрос.
- Скрипт корректирует страницу с учетом полученных данных.
Вообще, принцип работы базируется на двух вариантах. Каждый обладает своими нюансами.
Динамическое обращение
Первый вариант развития событий – это технология динамического обращения к серверам «на лету» посредством динамического создания:
- фреймов дочернего характера;
- тегов ;
- тегов
.
После применения данных технологий происходит функционирование без перезагрузки всей страницы целиком. Это – относительно быстрое решение поставленной задачи.
Второй подход – задействование DHTML для динамического корректирования информации на страничке.
Что включает в себя AJAX
При составлении кода утилиты и изучении материалов о принципах работы веб-софта нужно уяснить – AJAX не является самостоятельной технологией. Она включает в себя следующие методы реализации:
- HTML и CSS – для того, чтобы подавать и стилизировать электронные материалы;
- DOM-модели – в ответе за динамическое отображение и взаимодействие с соответствующими сведениями через JS;
- XMLHttpRequest или иные транспорты (Iframe, SCRIPT-теги и так далее) – асинхронизированый обмен материалами с web server;
- JSON или иной формат соответствующего характера (форматированные HTML, тестовые «вариации», XML) – обмен информацией.
Фактически AJAX – это концепция применения сразу нескольких технологий серверного характера.
Технологии WebSocket
WebSoket – еще один популярный нынче вариант. Стараясь разобраться в теме веб-приложений перед написанием оного, важно осознавать, какие технологии будут применяться в том или ином случае.
WebSoket – протокол полнодуплексной связи, накладываемый поверх TCP-соединения. Он предназначается для того, чтобы сервер обменивался данными с интернет-обозревателем в режиме реального времени, «здесь и сейчас». Комментарии тут излишни.
Достаточно запомнить, что данный вариант предусматривает две URI схема:
- ws: – нешифрованное соединение;
- wss: — шифрованный «коннектинг».
Технология не требует постоянных запросов клиент-сервер. В процессе реализации всегда создается двунаправленное соединение. Данные с server могут отправляться к client без запроса от оного.
А что о CGI?
Создавая приложение на Джаве, программист должен предварительно изучить возможные технологии работы веб-утилит. Есть вариант CGI. Это – низкоуровневый вариант. Стандарт, который использует интерфейс. Последний задействуется для связи внешней программы с сервером.
CGI обладает хорошей реализацией. Там можно использовать практически любой язык программирования, а не просто Java или JavaScript. Соответствующий вариант имеет следующие плюсы и минусы:
- универсален за счет отсутствия требований к платформам;
- позволяет использовать тот язык программирования, который хотим;
- CGI – это готовый к запуску файл, что делает затрудненным расширение системы.
Все это заставило программистов развиваться в технологиях работы с серверными каналами. Теперь существуют более совершенные «версии» технологий.
Java Servlet
Сервлет относится к «методикам» Java. Сочетает в себе особенности API и CGI. Помогает разобраться с производительностью, так как все запросы будут выполняться в едином потоке в одном и том же процессе. Сервлеты не имеют никакой зависимости от платформы.
Servlet – это класс Java, который выполняется внутри Джава VM:
- Контейнер веб-утилиты вида Tomcat начинает загрузку сервлета. Это происходит при первом обращении или в процессе запуска сервера согласно установленным конфигурационным параметрам.
- Servlet загружается и остается в подобном состоянии до тех пор, пока не будет произведена явная выгрузка.
- Возможно отключение посредством остановки контейнера.
Java Servlets имеет программный интерфейс, позволяющий вести обработку запросов на низком уровне. Обработка ведется в едином процессе посредством создания потоков внутри. Код предстоит составлять так, чтобы он был безопасным.
JSP – нюансы
Еще один вариант, применяемый для приложений, написанных на Джаве – это JSP. Разработка здесь больше не требует особых временных затрат. Связано это с тем, что программисту предстоит работать с шаблонами.
JSP – шаблоны страничек, похожих на ASP и PHP. Привязки к ПО и аппаратным платформам нет. Производительность ограничена:
- странички нужно компилировать в сервлеты, но только при первом обращении;
- servlets обрабатываются в JVM.
Основная нагрузка при реализации за счет кластеризации переходит на аппаратное обеспечение.
PHP – что такое?
PHP – распространенный «формат», который используют многие сервисы и приложения. Обладает высоким уровнем безопасности. Основывается на принципе построения страничек по шаблонам.
PHP-страницы – это обычные HTML, включающие в себя особые тэги. Каждый такой элемент виден сразу. Он имеет форму .
Источник: otus.ru
начало работы разработки PWA или гибридного веб-приложения для Android
Это руководство поможет вам приступить к созданию гибридного веб-приложения или прогрессивного веб-приложения (PWA) на Windows с помощью одной базы кода HTML/CSS/JavaScript, которая может использоваться в Интернете и на разных платформах устройств (Android, iOS, Windows).
Используя правильные платформы и компоненты, веб-приложения могут работать на Android устройстве таким образом, чтобы пользователи выглядели очень похожими на собственное приложение.
Функции PWA или гибридного веб-приложения
Существует два основных типа веб-приложений, которые можно установить на Android устройствах. Основное различие заключается в том, внедрен ли код приложения в пакет приложения (гибридный) или размещен на веб-сервере (pwa).
- Гибридные веб-приложения: код (HTML, JS, CSS) упакована в APK и может распространяться через Google Play Маркет. Модуль просмотра изолирован от браузера пользователей, без общего доступа к сеансам или кэшу.
- Прогрессивные веб-приложения (PWA): код (HTML, JS, CSS) находится в Интернете и не должен упаковываться в виде APK. Ресурсы загружаются и обновляются по мере необходимости с помощью рабочей роли службы. Браузер Chrome отрисовывает и отображает ваше приложение, но будет выглядеть в собственном коде и не будет включать обычную адресную строку браузера и т. д. Вы можете предоставить общий доступ к хранилищу, кэшу и сеансам в браузере. В основном это похоже на установку ярлыка в браузере Chrome в специальном режиме. PVA также можно указать в Google Play Маркет с помощью доверенного веб-действия.
PWA и гибридные веб-приложения очень похожи на собственное приложение Android в том, что они:
- Можно установить с помощью App Store (Google Play Маркет или Microsoft Store)
- Доступ к функциям собственного устройства, таким как камера, GPS, Bluetooth, уведомления и список контактов
- Работа в автономном режиме (без подключения к Интернету)
PVA также имеют несколько уникальных функций:
- Можно установить на начальном экране Android непосредственно из Интернета (без App Store)
- Можно также установить через Google Play Маркет с помощью доверенного веб-действия
- Его можно обнаружить с помощью поиска в Интернете или по ссылке URL-адреса
- Используйте рабочую роль службы , чтобы избежать необходимости упаковать машинный код
Вам не нужна платформа для создания гибридного приложения или PWA, но есть несколько популярных платформ, которые будут рассмотрены в этом руководстве, включая PhoneGap (с Cordova) и Ionic (с Cordova или Capacitor с использованием Angular или React).
Apache Cordova.
Apache Cordova — это платформа с открытым кодом, которая позволяет упростить взаимодействие между кодом JavaScript, живущим в собственном Веб-представлении, и собственной платформой Android с помощью подключаемых модулей. Эти подключаемые модули предоставляют конечные точки JavaScript, которые можно вызывать из кода и использовать для вызова собственных API устройств Android. Некоторые примеры подключаемых модулей Cordova включают доступ к службам устройств, таким как состояние батареи, доступ к файлам, вибрация / кольцевая тонура и т. д. Эти функции обычно недоступны для веб-приложений или браузеров.
Существует два популярных дистрибутива Cordova:
- PhoneGap: Поддержка прекращена компанией Adobe.
- Ionic
Ionic
Ionic — это платформа, которая настраивает пользовательский интерфейс приложения в соответствии с языком разработки каждой платформы (Android, iOS, Windows). Ionic позволяет использовать либо Angular, либоReact.
Существует новая версия Ionic, которая использует альтернативу Cordova, называется Capacitor. В этом варианте используются контейнеры, чтобы сделать приложение более удобным для интернета.
начало работы с Ionic путем установки необходимых средств
Чтобы приступить к созданию PWA или гибридного веб-приложения с помощью Ionic, сначала установите следующие средства:
- Node.js для взаимодействия с Ионичной экосистемой. Скачайте NodeJS для Windows или следуйте указаниям по установке NodeJS с помощью подсистема Windows для Linux (WSL). Если вы будете работать с несколькими проектами и версией NodeJS, может потребоваться использовать диспетчер версий узлов (nvm ).
- VS Code для написания кода. Скачайте VS Code для Windows. Вы также можете установить удаленное расширение WSL , если вы предпочитаете создавать приложение с помощью командной строки Linux.
- Терминал Windows для работы с предпочитаемым интерфейсом командной строки (CLI). Установите Терминал Windows из Microsoft Store.
- Git для управления версиями. Скачайте Git.
Создание проекта с помощью Ionic Cordova и Angular
Установите Ionic и Cordova, введя следующую команду в командной строке:
Создайте приложение Ionic Angular с помощью шаблона приложения Tabs, введя следующую команду:
ionic start photo-gallery tabs
Перейдите в папку приложения:
cd photo-gallery
Запустите приложение в веб-браузере:
ionic serve
Дополнительные сведения см. в документации по Ionic Cordova Angular. Перейдите в раздел «Создание Angular приложения» PWA документации по Ionic, чтобы узнать, как перенести приложение из гибридной среды в PWA.
Создание проекта с помощью Ionic Capacitor и Angular
Установите Ionic и Cordova-Res, введя следующую команду в командной строке:
Создайте приложение Ionic Angular с помощью шаблона приложения Tabs и добавьте Capacitor, введя команду:
ionic start photo-gallery tabs —type=angular —capacitor
Перейдите в папку приложения:
cd photo-gallery
Добавьте компоненты, чтобы сделать приложение PWA:
Запустите приложение в веб-браузере:
ionic serve
Дополнительные сведения см. в документации по Ionic Capacitor Angular. Перейдите в раздел «Создание Angular приложения» PWA документации по Ionic, чтобы узнать, как перенести приложение из гибридной среды в PWA.
Создание проекта с помощью Ionic и React
Установите Ionic CLI, введя следующую команду в командной строке:
Создайте проект с React, введя команду:
ionic start myApp blank —type=react
Перейдите в папку приложения:
cd myApp
Запустите приложение в веб-браузере:
ionic serve
Дополнительные сведения см. в документации по Ионическому React. Перейдите в раздел «Создание React приложения» PWA документации по Ionic, чтобы узнать, как перенести приложение из гибридной среды в PWA.
Тестирование приложения Ionic на устройстве или эмуляторе
Чтобы протестировать приложение Ionic на устройстве Android, подключите устройство (убедитесь, что оно впервые включено для разработки), а затем в командной строке введите:
ionic cordova run android
Чтобы протестировать приложение Ionic на эмуляторе устройства Android, необходимо:
- Установите необходимые компоненты — Пакет средств разработки Java (JDK), Gradle и пакет SDK для Android.
- Создание виртуального устройства Android (AVD): см. [руководство разработчика Android](https://developer.android.com/studio/run/managing-avds.html).
- Введите команду для Ionic для сборки и развертывания приложения в эмуляторе: ionic cordova emulate [] [options] В этом случае команда должна быть следующей:
ionic cordova emulate android —list
Дополнительные сведения см. в Emulator Cordova в документации по Ионике.
Дополнительные ресурсы
- Разработка приложений для двойного экрана для Android и получение пакета SDK для устройства Surface Duo
- Добавление исключений Защитника Windows для повышения производительности
- Включение поддержки виртуализации для повышения производительности эмулятора
Источник: learn.microsoft.com
Создание бессерверного веб-приложения
Этот материал входит в серию технических статей, написанных командой архитекторов программных решений AWS для стартапов с целью помочь создателям стартапов заложить основу для быстрого развития их бизнеса. Эта серия является общим обзором технических решений, которые необходимо принять на этапе создания стартапа, а также сервисов AWS, наиболее подходящих для их реализации.
Приложение можно рассматривать как две отдельные части: интерфейсную часть, то есть часть приложения, в которой пользователи взаимодействуют с ресурсами приложения, и серверную часть, в которой существуют все созданные вами ресурсы.
Можно создать разные интерфейсные части для своего приложения, чтобы предоставить пользователям наилучший опыт взаимодействия, а также использовать преимущества уникальных функций каждой платформы. Например, вы можете создать разные макеты для веб-браузеров на большом экране настольного ПК и для мобильных приложений, в которых можно использовать функции камеры и GPS мобильного телефона.
Серверная часть приложения содержит уровни бизнес-логики и хранения данных приложения, и именно там вы определяете правила, которые управляют вашим приложением на основе сценариев использования, связанных с вашим бизнесом. Например, вы можете разрешить покупку книги только авторизованным пользователям и запретить доступ неавторизованным пользователям.
Чтобы рассмотреть основные аспекты типичного веб-приложения, мы будем использовать пример вымышленного онлайн-магазина комиксов. Цель этого веб-приложения – позволить пользователям покупать и продавать свои любимые комиксы, получать уведомления о выходе новых комиксов и создавать сообщества с другими пользователями со схожими интересами. Мы не будем вдаваться в подробности разработки всех этих функций, но создадим связь между бизнес-потребностью, сценарием использования и технологиями, которые можно применить для их воплощения в жизнь. Чтобы облегчить свою задачу, мы будем использовать AWS Amplify, набор инструментов и сервисов, которые позволяют разработчикам мобильных и веб-приложений быстро и легко создавать безопасные и масштабируемые облачные приложения.
Каждый современный веб-сайт в основном состоит из файлов HTML, Javascript и CSS. Это фундаментальные компоненты, которые позволяют взаимодействовать с API и обеспечивать пользователям яркие впечатления с помощью текста, изображений и видео.
В нашем примере типичные ресурсы включают изображения обложек комиксов, аватары пользователей и отзывы пользователей, а также общий стиль и дизайн самого веб-приложения. Чаще всего файлы HTML, Javascript, CSS, изображения и видео называют статическими ресурсами. Они обслуживаются веб-сервером, а в некоторых случаях – сетью доставки контента (CDN). Динамические элементы каждой страницы, такие как обзоры комиксов и профили пользователей, хранятся в базе данных и доступны через API, который мы обсудим позже.
Разработка и развертывание
Важным фактором при разработке приложения является скорость итерации и выпуска версий приложения. Наличие слаженного и непрерывного рабочего процесса от разработки до развертывания позволяет намного быстрее выполнять итерации и сокращать время между выпусками, что гарантирует пользователям наилучшие впечатления от использовании приложения. Непрерывная интеграция и непрерывное развертывание (или CI/CD) – это набор принципов, инструментов и рекомендаций, которые позволяют командам более эффективно доставлять изменения кода по каналам передачи CI/CD.
На следующей диаграмме показан типичный рабочий процесс разработки, переходящий от разработки к тестированию и, наконец, к производству с использованием Amplify для простого управления различными средами и этапами разработки с сохранением хода выполнения за счет контроля исходного кода.
Чтобы эффективно доставлять приложение мировой аудитории и заложить правильную основу и принципы на будущее, мы пользуемся преимуществами сервиса веб-хостинга Amplify, доступного через консоль AWS или через интерфейс командной строки Amplify. Он легко интегрируется с системой управления версиями (например, GitHub или AWS CodeCommit), обеспечивая более быстрое и плавное развертывание, поскольку код приложения меняется с выпуском каждой новой версии.
Аутентификация пользователей
Аутентификация пользователей – это механизм, с помощью которого мы предоставляем пользователям, зарегистрированным в нашей системе, доступ к ресурсам и функциям веб-приложения. Для входа в приложение магазина комиксов пользователи должны ввести имя пользователя и пароль, и мы разрешаем пользователям настраивать многофакторную аутентификацию. Это усиленная мера безопасности, предпринимаемая для предотвращения несанкционированного доступа к их аккаунтам. В Amplify имеется компонент аутентификации, который можно использовать в проекте для обработки всех этих вариантов использования.
Так выглядит готовый к использованию компонент аутентификации Amplify.
Используя этот предварительно созданный компонент, мы можем взаимодействовать с Amazon Cognito – полностью управляемым сервисом пользовательских каталогов, настраиваемым через интерфейс командной строки Amplify. В Cognito также можно разрешить пользователям входить в систему через аккаунты в других социальных сетях, таких как Twitter, Facebook или Google, и безопасно получать доступ к своему аккаунту, что упрощает процесс адаптации пользователей.
Теперь давайте рассмотрим еще одну область функциональности – передачу данных из базы данных пользователю и наоборот.
Программный интерфейс приложения, или API, – это способ взаимодействия веб-приложения с ресурсами (например, базами данных) в серверной среде. Веб-API обычно бывают двух видов: REST и GraphQL. REST (от англ. Representational State Transfer – «передача состояния представления») представляет собой полноценный и надежный способ создания API.
Ресурсы распределены по нескольким адресам API, которые по большей части напоминают модель приложения. В случае с нашим магазином комиксов у нас есть адреса пользователей и адреса комиксов, которые соответствуют информации о пользователях и комиксах.
GraphQL – это новый тип API, который позволяет объединять данные из нескольких источников, к которым можно получить доступ с помощью одного вызова API. В отличие от REST, GraphQL предоставляет единый адрес API и позволяет веб-приложению выбирать все необходимые фрагменты информации, в результате чего оптимизируется размер запросов и обеспечивается множество других преимуществ. Amplify позволяет настраивать оба типа API. Можно настроить REST API с помощью API Gateway – полностью управляемого сервиса для разработчиков, предназначенного для создания, публикации, обслуживания, мониторинга и обеспечения безопасности API. Или же можно настроить GraphQL API с помощью AppSync, полностью управляемого сервиса GraphQL, который позволяет разработчикам объединять данные из разных источников и предоставлять их через единый адрес.
Для настройки GraphQL API для нашего магазина комиксов мы используем Amplify.
Мониторинг и веб-аналитика
Последняя область функциональности, которую мы рассмотрим, – это мониторинг и веб-аналитика. Как говорится, нельзя изменить то, что нельзя измерить, и это верно и в нашем случае. Мы должны научиться понимать, как пользователи взаимодействуют с нашим магазином и как мы можем улучшить опыт их взаимодействия.
Мы также хотим иметь полное представление о том, кто наши пользователи и какие продукты им интересны. Чтобы получить эту функциональность, мы используем Amplify для настройки Amazon Pinpoint, полностью управляемого сервиса, который позволяет нам агрегировать, визуализировать и настраивать данные, связанные с клиентами и взаимодействиями с ними. Мы можем использовать эти данные, чтобы лучше понимать наших клиентов: как они используют наше веб-приложение, насколько эффективны наши усилия по взаимодействию с ними и т. п. Мы также можем оценить, как наши усилия по взаимодействию с клиентами влияют на бизнес-результат.