Читаем Crystal Programming. Введение на основе проекта в создание эффективных, безопасных и читаемых веб-приложений и приложений CLI полностью

Знание того, как устанавливать внешние библиотеки и управлять ими, является невероятно полезным инструментом при разработке любого приложения, над которым вы, возможно, будете работать в будущем. Обнаружение существующего шарда может значительно ускорить время разработки ваших проектов, устраняя необходимость самостоятельной реализации этого кода. Это также облегчит поддержку вашего проекта, поскольку вам не придется поддерживать код самостоятельно. Обязательно следите за списками и базами данных, о которых мы говорили, для осколков, которые могут быть полезны в ваших проектах!

В следующей главе мы собираемся использовать некоторые внешние библиотеки для создания веб-приложения с использованием Athena.

<p>9. Создание веб-приложения с помощью Athena</p>

Сходство Crystal с Ruby сделало его весьма популярным как веб-язык в надежде побудить некоторых пользователей Ruby on Rails, а также других фреймворков, перейти на Crystal. Crystal может похвастаться довольно большим количеством популярных фреймворков: от простых маршрутизаторов до полнофункционального стека и всего, что между ними. В этой главе мы рассмотрим, как создать приложение с использованием одной из этих платформ в экосистеме Crystal под названием Athena Framework. Хотя мы будем активно использовать эту структуру, мы также рассмотрим более общие темы, которые можно использовать независимо от того, какую структуру вы в конечном итоге выберете. К концу главы мы рассмотрим следующие темы:

• Понимание архитектуры Athena.

• Начало работы с Athena

• Реализация взаимодействия с базой данных.

• Использование согласования содержания

<p>Технические требования</p>

Требования к этой главе следующие:

• Рабочая установка Crystal.

• Возможность запуска сервера PostgreSQL, например, через Docker.

• Способ отправки HTTP-запросов, например cURL или Postman.

• Установленная и работающая версия https://www.pcre.org/ (libpcre2).

Инструкции по настройке Crystal можно найти в Главе 1 «Введение в Crystal». Есть несколько способов запустить сервер, но я буду использовать Docker Compose и включу используемый мной файл в папку главы.

Все примеры кода, использованные в этой главе, можно найти на GitHub: https://github.com/PacktPublishing/Crystal-Programming/tree/main/ Chapter09.

<p>Понимание архитектуры Афины</p>

В отличие от других платформ Crystal, Athena Framework в первую очередь черпает вдохновение из не-Ruby-фреймворков, таких как Symfony PHP или Spring Java. Из-за этого он обладает некоторыми уникальными функциями/концепциями, которых нет больше нигде в экосистеме. Со временем он постоянно совершенствовался и имеет прочную основу для поддержки будущих функций/концепций.

Athena Framework — это результат интеграции различных компонентов более крупной экосистемы Athena в единую связную структуру. Каждый компонент предоставляет различные функции платформы, такие как сериализация, проверка, обработка событий и т. д. Эти компоненты также можно использовать независимо, например, если вы хотите использовать их функции в другой платформе или даже использовать их для создания своей собственной платформы. Однако их использование в Athena Framework обеспечивает наилучшие возможности/интеграцию. Некоторые из основных моментов включают следующее:

• На основе аннотаций

• Соблюдает принципы проектирования SOLID:

    • S – принцип единой ответственности

    • O – принцип открыт-закрыт.

    • L - принцип замены Лискова

    • I – принцип разделения интерфейса.

    • D – принцип инверсии зависимостей

• На основе событий

• Гибкая основа

Аннотации являются основной частью Athena, поскольку они, помимо прочего, являются основным способом определения и настройки маршрутов. Например, они используются для указания того, какой HTTP-метод и путь обрабатывает действие контроллера, какие параметры запроса следует читать и любую пользовательскую логику, которую вы хотите, с помощью определяемых пользователем аннотаций. При таком подходе вся логика, связанная с действием, централизована в самом действии, а не в одном файле, а логика маршрутизации — в другом. Хотя Athena широко использует аннотации, мы не собираемся углубляться в них, поскольку они будут рассмотрены более подробно в Главе 11 «Введение в аннотации».

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных