Документация Vibe.d на русском языке. Первые шаги

Перевод документации к Vibe.d. Часть 1.

Сначала установите диспетчер пакетов DUB, чтобы он обрабатывал загрузку и создание vibe.d и производных приложений. В системах, отличных от Windows, необходимо установить ряд дополнительных зависимостей. Подробную информацию см. в описании проекта на GitHub.

Ручная сборка (например, с использованием RDMD) является альтернативой, но вы должны убедиться, что внешние библиотеки прилинкованы (например, libevent) и что идентификатор версии для используемого драйвера передается компилятору (например, -version=VibeLibeventDriver). Посмотрите dub.sdl vibe.d, чтобы определить, как осуществлять сборку на определенной платформе, или, как вариант, запустите DUB с ключом –v, чтобы увидеть фактическую командную строку компилятора.

Самый простой способ начать — запустить следующую команду из каталога проектов:

cd/path/to/my/projects
dub init <имя-проекта> -t vibe.d

Эта команда создаст новый каталог с заданным именем и базовую структуру каталогов, которая рекомендуется для проектов vibe.d. Запустив его, вы запустите HTTP-сервер на порту 8080, служащий простой текстовой страницей. В качестве следующего шага вы можете продолжить редактирование файла source/app.d. Если вы хотите опубликовать свой проект, вы также должны отредактировать файл dub.json / dub.sdl и правильно заполнить все поля, включая поле «license».

После того, как у вас есть проект, просто запустите DUB из корневого каталога проекта, он получит все зависимости, скомпилирует приложение и запустит его:

cd path/to/project
dub
Performing «debug» build using dmd for x86_64.
vibe-d 0.7.26: target for configuration «libevent» is up to date.
vibedtest ~master: building configuration «application»…
Linking…
To force a rebuild of up-to-date targets, run again with —force.
Running ./vibedtest
Listening for requests on http://::1:8080
Listening for requests on http://127.0.0.1:8080
Please open http://127.0.0.1:8080/ in your browser.

Рекомендуемая структура проекта

Рекомендуемая структура каталогов для проекта, которую устанавливает команда «dub init», разделяется на три базы:

appname/
source/
app.d
public/
images/
styles/
style.css
views/
layout.dt
index.dt
dub.json

Для простого веб-приложения файл app.d может выглядеть примерно так:

import vibe.d;

void index(HTTPServerRequest req, HTTPServerResponse res)
{
	res.render!("index.dt", req);
}

shared static this()
{
	auto router = new URLRouter;
	router.get("/", &index);
	auto settings = new HTTPServerSettings;
	settings.port = 8080;
	listenHTTP(settings, router);
}

Простой файл app.d с минимальной маршрутизацией

В поддиректории «views» автоматически ищутся шаблоны, созданные с помощью render. Два шаблона в структуре, к примеру, могут выглядеть так:

Пример layout.dt:

doctype html
html
	head
		title Example page
	body
		block body

Пример index.dt:

extends layout
block body
	h1 Example page - Home
	p Hello, World! 

Эта структура использует функцию блоков/расширений шаблонизатора Diet. Дополнительные возможности шаблонизатора см. в документации к шаблонизатору Diet. Наконец, «dub.json» позволяет диспетчеру пакетов vibe.d автоматически загружать и компилировать библиотеки зависимостей. Этот файл также предоставит описание, которое необходимо для последующей установки вашей собственной библиотеки в реестр общедоступных расширений.

Пример dub.json:

{
	"name": "appname",
	"description": "My fabulous new app",
	"copyright": "Copyright (C) 2000 Me. All rights reserved.",
	"license": "AGPL-3.0",
	"homepage": "http://appname.org",
	"authors": ["Hans Wurst"],
	"dependencies": {
		"vibe-d": "~>0.7.23"
	},
	"versions": ["VibeDefaultMain"]
}

DUB также обеспечивает поддержку нового альтернативного синтаксиса с использованием SDLang, который поддерживает комментарии и значительно более компактен. В этом случае используемое имя файла — «dub.sdl».

Пример dub.sdl

name "appname"
description "My fabulous new app"
copyright "Copyright (C) 2000 Me. All rights reserved."
license "AGPL-3.0"
homepage "http://appname.org"
authors "Hans Wurst"
dependency "vibe-d" version="~>0.7.23"
versions "VibeDefaultMain" 

Примеры проектов

В репозитории Git хранится библиотека примеров проектов. Большинство вещей, не охваченных в этом документе, можно найти там в виде кода: Примеры проектов.

Чтобы запустить примеры локально, вы можете загрузить репозиторий в виде zip-файла или использовать Git для получения примеров:

git clone https://github.com/vibe-d/vibe.d.git

Чтобы запустить пример «http_server», введите:

dub run —root = vibe.d/examples/http_server

Добавить комментарий