Быстрый старт с web-фреймворком Vapor

Swift — один из самых быстро развивающихся и популярных языков программирования. Изначально он был ориентирован на разработку под Apple-экосистему, но после выхода в Open Source стал доступен и под Linux.

И все же основная задача Swift была заключена в разработке приложений для iOS/macOS, но благодаря новому фреймворку Vapor мы можем разрабатывать полноценные сайты без каких-либо ограничений. Vapor позволяет разрабатывать веб-приложения и API используя HTTP либо WebSockets, а на официальном сайте разработчик утверждает, что Vapor до 100 раз быстрее других популярных фреймворков.

Установка

Установку будем производить на MacOS, хотя для Ubuntu она не сильно отличается по сложности. Вам потребуется скачать и установить Xcode 8. После установки Xcode — открываем терминал.

1) Для начала устанавливаем инструмент Vapor Toolbox, который позволяет работать напрямую с фреймворком из терминала (создавать новые проекты, обновляться и так далее).

curl -sL toolbox.vapor.sh | bash

2) После успешной установки вводим команду, которая выведет список доступных команд.

vapor — help

3) Теперь обновляем библиотеку до последней версии и будем приступать к созданию первого проекта.

vapor self update

4) После всех установок и обновлений можно создать свой первый проект и запустить его.

vapor new ProjectName

Где ProjectName произвольное имя проекта. После ввода данной команды будет создана директория с именем проекта. Переходим в эту директорию.

cd ProjectName

5) Теперь мы можем проиницилизировать Xcode в проекте и работать напрямую из этой среды разработки. Достаточно ввести команду, находясь в директории ProjectName

vapor xcode -y

После всех настроек должен запуститься Xcode с нашим проектом. Можно попробовать собрать и проверить его жизнеспособность.

Основные моменты

Структура проекта проста и интуитивно понятна. В директории «/Sources/App» содержится наш кастомный код проекта. Сейчас есть все необходимое для запуска «Hello World» примера.

В директории «/Public» хранятся все статичные ресурсы, такие как стили, скрипты, изображения и другие файлы.

А вот с версткой все куда интереснее. Она хранится в «/Resources/Views» и представляет из себя «*.leaf» файлы с привычным нам HTML + некоторые удобства встроенного шаблонизатора. Как работает шаблонизатор можно понять уже по тестовым файлам. В «base.leaf» мы можем заметить такую строчку:

#import(“head”)

Которая подгружает содержимое из файла «welcome.leaf», обозначенное тэгом «#export» с уникальным индетификатором.

#export(“head”) {
<title>My App</title>
}

Заключение

В официальной документации еще много интересного, что невозможно втиснуть в данную статью. Выводы просты — данный Фреймворк позволяет писать быстрые и качественные веб-приложения на одном из лучших языков программирования, а это уже большой плюс в карму его разработчика. От себя могу добавить, что я уже активно использую Vapor в своих проектах и полностью доволен его возможностями.