В третьей части этой книги мы узнаем, как использовать внешние библиотеки в виде Crystal Shards. Затем мы воспользуемся этими знаниями, пройдя процесс создания веб-приложения с использованием Athena Framework.
Четвертая часть книги посвящена одной из самых мощных возможностей Crystal: метапрограммированию. Здесь мы научимся использовать макросы, аннотации и самоанализ типов во время компиляции. Затем мы узнаем, как их можно объединить для реализации некоторых довольно мощных функций.
В завершение мы представим некоторые вспомогательные функции Crystal, например способы документирования, тестирования и развертывания программ Crystal, а также способы автоматизации этих процессов путем внедрения CI в ваш рабочий процесс.
Важная заметка:Эта книга предназначена для Crystal версии 1.4.x. Будущие версии также должны работать, но не будут охватывать новые добавленные функции.
Для кого эта книга
Эта книга будет полезна разработчикам, желающим изучить программирование Crystal, а также всем, кто хочет улучшить свои способности решать реальные проблемы с помощью языка. Ожидается опыт разработки приложений на любом другом языке программирования. Однако предварительные знания Crystal не требуются.
О чем эта книга
Глава 1 «Введение в Crystal» содержит краткое введение в Crystal, включая его историю, ключевые концепции и цели. Эта глава также будет включать информацию о настройке Crystal, а также информацию об соглашениях, которые будут использоваться на протяжении всей книги.
Глава 2 «Основы семантики и особенности Crystal» знакомит вас с написанием кода Crystal, начиная с самых основ и заканчивая наиболее распространенными методами. Он также исследует распространенные типы и операции из стандартной библиотеки.
Глава 3 «Объектно-ориентированное программирование» углубляет использование объектно-ориентированных функций языка, обучая вас созданию новых типов с настраиваемыми функциями — основного инструмента каждой нетривиальной программы.
Глава 4 «Изучение Crystal посредством написания интерфейса командной строки» описывает настройку проекта CLI и пошаговую реализацию первоначальной реализации.
Глава 5 «Операции ввода-вывода» развивает предыдущую главу и представляет операции ввода-вывода как средство обработки ввода и вывода вместо жестко закодированных строк.
Глава 6 «Параллелизм» начинается с рассмотрения функций параллелизма Crystal, а затем используется то, что было изучено ранее, для обеспечения параллельности программы CLI.
Глава 7, «Взаимодействие C», демонстрирует, как можно использовать библиотеки C в программе Crystal путем привязки libnotify для уведомления программы CLI.
Глава 8 «Использование внешних библиотек» знакомит с командой shards и способами ее поиска.
Глава 9 «Создание веб-приложения с помощью Athena» описывает создание простого веб-приложения для блога с использованием Athena Framework, используя многие из его функций.
Глава 10 «Работа с макросами» представляет собой введение в мир метапрограммирования путем изучения макросов Crystal.
Глава 11 «Введение в аннотации» рассказывает о том, как определять, включать в себя данные и читать аннотации.
Глава 12 «Использование интроспекции типов во время компиляции» демонстрирует, как перебирать переменные, типы и методы экземпляра во время компиляции.
Глава 13 «Продвинутое использование макросов» демонстрирует некоторые мощные возможности, которые можно создать с помощью макросов и аннотаций, а также немного творчества.
Глава 14 «Тестирование» знакомит с модулем Spec и знакомит вас с модульным и интеграционным тестированием в контексте CLI и веб-приложений.
Глава 15 «Документирование кода» показывает, как лучше всего документировать, генерировать, размещать и версионировать документацию по коду Crystal.
Глава 16 «Развертывание кода» рассказывает о том, как выпускать новые версии сегмента, а также о том, как лучше всего создавать и распространять рабочую версию приложения.
Глава 17 «Автоматизация» содержит примеры рабочих процессов и комментарии по включению непрерывной интеграции для проектов Crystal.
Приложение A «Настройка инструментов» содержит практическое объяснение того, как настроить Visual Studio Code для программирования Crystal с помощью официального плагина.