Инструкции по установке можно найти по адресу https://github.com/elbywan/crystal#pre-built-binaries. По ссылке показана команда для загрузки и установки на macOS и Linux. Если вы используете Windows, следуйте инструкциям Linux внутри WSL.
Чтобы включить некоторые дополнительные функции, перейдите в настройки кода Visual Studio (Файл | Настройки | Settings) и найдите
1. Первые параметры включают завершение кода, наведение курсора мыши и функцию перехода к определению; включите их.
Рисунок 18.7 - Дополнительные функции расширения
2. Далее вы можете выбрать, о каких проблемах будет сообщаться. Это полезно, поскольку позволяет вам обнаружить ошибки перед попыткой запуска кода. Параметр синтаксиса используется по умолчанию и проверяет наиболее распространенные ошибки. Вы также можете использовать сборку для проверки всех ошибок времени компиляции (более дорого) или ни одной, чтобы полностью отключить эту функцию.
Рисунок 18.8 - Уровень обнаружения проблем
3. Наконец, вы можете дополнительно настроить языковой сервер. Это позволит более полный анализ завершения кода и информации о символах на основе предполагаемого типа переменных. Здесь добавьте путь к исполняемому файлу Crystalline, который вы установили ранее. Имейте в виду, что языковой сервер является экспериментальным и может не предоставлять точную информацию во всех случаях.
Рисунок 18.9 - Настройка языкового сервера
Crystal недавно стал стабильным и готовым к выпуску версией 1.0.0 в марте 2021 года. По состоянию на апрель 2022 года последней версией является 1.4.1, которая содержит множество усовершенствований. Тем не менее, впереди еще много работы, и многие области языка будут улучшены в следующих выпусках. Все обсуждения разработки и дизайна происходят открыто в официальном репозитории GitHub, и существует множество возможностей для внесения вклада со стороны посторонних.
Сегодня Кристалл уже используется в производстве несколькими компаниями. Вы можете найти общедоступный список некоторых из них на Wiki Crystal здесь: https://github.com/crystal-lang/crystal/wiki/Used-in-production. Ожидается, что теперь, когда введена надлежащая политика,
Crystal поддерживает Linux
, macOS
и FreeBSD
, но сегодня он не может работать в Windows
. Все остальные платформы Unix-подобны и достаточно похожи. С другой стороны, Windows — это совсем другое дело, и для ее правильной поддержки требуются значительные усилия. Это одна из наиболее востребованных функций, и ведется работа по обеспечению надлежащей поддержки Windows. Запуск Crystal внутри подсистемы Windows для Linux (WSL) поддерживается, но в основном предназначен для разработчиков.
Crystal 1.0.0 был выпущен с очень ранней поддержкой для создания простых программ, скомпилированных в Windows, но это не значит, что вы уже можете использовать его для всего: для функций одновременного ввода-вывода (файлы, сокеты, консоль и т. д.), для например, до сих пор отсутствуют. К счастью, реализации каждого из этих примитивов вносятся сообществом и должны быть доступны в одной из следующих версий
Вы можете проверить текущий прогресс в выпуске GitHub #5430. Если эта проблема уже закрыта, когда вы читаете эту книгу, значит, в текущей версии поддерживается Windows. Ура!
WebAssembly — это новый стандарт для целей компиляции, популярность которого быстро растет, и не только в Интернете. Он предлагает портативность для работы где угодно со скоростью, близкой к исходной: веб-браузеры, облачные серверы, встроенные устройства, плагины, блокчейны и многое другое. Кроме того, он позволяет различным языкам взаимодействовать в удобном формате, а также является безопасным и проверяемым перед выполнением.
Продолжается работа по добавлению поддержки таргетинга в компилятор и стандартную библиотеку, что упростит написание программы Crystal, которая может работать где угодно и принимает WebAssembly. Версия Crystal 1.4.0 поставляется с первоначальной экспериментальной реализацией, в которой большая часть стандартной библиотеки уже работает.
Пожалуйста, обратитесь к выпуску #12002 для получения актуальной информации о ходе выполнения.