dmdとvibe.dのインストールは非常に簡単です。 Windowsでフレームワークをインストールする場合、必要なパスをPATHに書き込むことを忘れないでください
まず、プロジェクトを作成します。
vibe init project_name
フレームワーク自体が目的の構造(3つのフォルダーとマニフェスト)を作成します
./views-テンプレート
./public-静的ファイル、ala * .css、*。js
./src-アプリケーションのソースコード
//app.d import vibe.d; import std.stdio; import std.string; import std.file; import std.array; // void image (HTTPServerRequest req, HTTPServerResponse res) { auto file = format("./public/images/%s", req.params["f"]); if(exists(file)) { auto image = cast(ubyte[]) read(file); res.writeBody(image,"image"); } else { res.writeBody("Not Found","text/plain"); } } // , void style (HTTPServerRequest req, HTTPServerResponse res) { auto css = readText(format("./public/styles/%s", req.params["f"])); res.writeBody(css,"text/css"); } // , CSS void error(HTTPServerRequest req, HTTPServerResponse res, HTTPServerErrorInfo error) { res.writeBody("Some error, man","text/plain"); } // void index_req(HTTPServerRequest req, HTTPServerResponse res) { auto request = req.params["r"]; // res.renderCompat!("index.dt", HTTPServerRequest, "req",string,"title")(req,request); // . } void index(HTTPServerRequest req, HTTPServerResponse res) { res.renderCompat!("index.dt", HTTPServerRequest, "req",string,"title")(req,"Main page"); // . } // , . shared static this() { auto settings = new HttpServerSettings; settings.port = 8080; // http 8080 //settings.errorPageHandler = toDelegate(&error); // // ( ) auto router = new URLRouter; router.get("/:r",&index_req); router.get("/",&index); router.get("/style/:f",&style); router.get("/images/:f",&image); // listenHTTP(settings,router); // }
Vibeには優れたテンプレートエンジンがあり、少し物議をかもしますが、悪くはありません。 JADEテンプレートエンジンに基づいています。 CSSはハンドラーに応じて接続されますが、スタイルをパブリックフォルダーに保持することをお勧めします。テンプレートファイルはビューに保持する必要があります。
!!! 5 html head title Hi world meta(charset="utf-8") link(rel="stylesheet",href="/style/main.css") body div#menu a#logo(href="/") div.links a(href="/main")Main page a(href="/about")About a(href="/some")Some div#content div.article h3 #{title} p Sorry,not founded
議論の余地のないプラスのvibedは、プロジェクトでの作業です。 コンソールから作業し、プロジェクトを作成、コンパイル、およびデバッグすると非常に便利です。 彼はメモ帳++用のスクリプトをいくつか作成しました。
vibe build
プロジェクトのアセンブリ(もちろんプロジェクトフォルダー内)。
コンパイル後、実行可能ファイルが作成され、必要なライブラリが接続されます。 このフレームワークのもう1つの利点は、付属のバッテリーです。 すべてに本当に十分なライブラリがあります。 さらに、これはcgiアプリケーションを記述するだけでなく、本格的な非同期サーバーです。 プロジェクトの開発に伴い、ロードバランサーの開発が期待されます(正しく理解されている場合)。
長所:速度、相対的な単純さ、低エントリーしきい値、大型機器、柔軟性(httpだけでなく、tcpでも直接動作します)
短所:生のプロジェクトと言語、小さなコミュニティ
一般的に、このフレームワークは非常に便利で便利です。 便利な言語と組み合わせて、新しいGOライバルであるnode.jsが登場すると思います。