Vibe.d est un framework web écrit en D, pour que les programmeurs D développent des applications web et réseau. Vibe.d est connu pour sa capacité à développer et déployer des serveurs. Dans cet article, nous vous montrerons comment configurer Vibe.d sur Ubuntu 14.04 x64. Cela devrait également fonctionner sur Ubuntu 12.04 et 14.10, mais les résultats peuvent varier.
Exigences
- Vultr VPS avec Ubuntu 14.04 x64.
- Connaissance de base de D.
- Faites installer DMD , LDC ou GDC (DMD est recommandé).
- Faites installer DUB .
Installer des bibliothèques
Avant de commencer, vous devrez installer quelques dépendances pour que votre projet se construit:
apt-get install libssl-dev libevent-dev
Créer un projet
À l'aide de dub
, créez un projet en exécutant la commande suivante dans un répertoire:
dub init server vibe.d
Cela va créer un nouveau projet avec le modèle Vibe.d intégré à dub
.
Mettre à jour dub.json
Comme package.json
pour NPM (Node.js), dub.json
stocke des informations sur votre application qui seront utilisées pour la construction ou le déploiement. Dans votre dub.json
fichier, vous pouvez voir quelque chose de similaire à:
{
"name": "server",
"description": "A simple vibe.d server application.",
"copyright": "Copyright © 2014, root",
"authors": ["root"],
"dependencies": {
"vibe-d": "~>0.7.19"
},
"versions": ["VibeDefaultMain"]
}
Si vous le souhaitez, vous pouvez modifier le nom, la description, les droits d'auteur, l'auteur, etc. Pour l'instant, nous allons nous concentrer sur les données de la dependencies
section. Modifiez la version actuelle de 0.7.19
à 0.7.21
. Cela garantira que vous utilisez la dernière version de Vibe.d. Une fois que vous avez modifié la version et enregistré le fichier, vous pouvez passer à l'étape suivante.
Mettre à jour la source / app.d
À l'intérieur de votre source/app.d
fichier, vous devriez voir une ligne qui montre:
settings.bindAddresses = ["::1", "127.0.0.1"];
Ceci définit l'adresse que le serveur écoutera. Dans ce cas, les adresses de bouclage ::1
(IPv6) et 127.0.0.1
(IPv4) sont utilisées. Vous avez ici quelques options. Vous pouvez changer les adresses en une IP publique disponible sur votre VPS Vultr, ou vous pouvez commenter cette ligne pour écouter n'importe quelle adresse disponible. Il est purement votre choix, mais pour changer maintenant 127.0.0.1
à 0.0.0.0
pour éviter toute confusion. Cela fera écouter votre application sur n'importe quelle adresse IP attribuée au serveur.
Projet de construction
Exécutez la commande suivante pour créer votre application:
dub build
Cela passera par le processus de récupération de vos dépendances, leur construction, puis la construction de votre application. Une fois terminé (en supposant qu'il n'y a pas d'erreurs), vous devriez avoir un fichier appelé server
à la racine de votre répertoire. Exécutez-le en faisant ./server
et il montrera ce qui suit:
Listening for HTTP requests on ::1:8080
Listening for HTTP requests on 0.0.0.0:8080
Please open http://127.0.0.1:8080/ in your browser.
Si vous ne voyez pas de message d'échec, accédez à votre navigateur Web et entrez l'adresse IP ainsi que le port. Par exemple: http://0.0.0.0:8080
avec 0.0.0.0
changé en conséquence.
Si vous voyez Hello, World!
dans votre navigateur, cela signifie que vous avez correctement configuré Vibe.d sur votre serveur.
Comprendre Vibe.d
Développement de serveur
Vibe.d a parcouru un long chemin, ce qui a permis aux développeurs de développer des applications sur serveur. Cela inclut les applications de serveur Web, que Vibe.d prend en charge de manière native.
Modèles de régime
En ce qui concerne le développement Web, les modèles de régime sont entièrement basés sur Jade, sauf que les modèles de régime se compilent directement dans votre application. Cela utilise D à l'intérieur de votre projet (tout comme la façon dont vous pouvez utiliser du Javascript intégré dans Jade). L'utilisation de modèles de régime ajoute de la flexibilité au contenu que votre application affiche sur le navigateur Web.
Performance
En ce qui concerne les performances, Vibe.d a montré une évolutivité à un niveau très élevé. Avec ses E / S asynchrones, il crée une surcharge mémoire bien inférieure à ce que vous trouveriez normalement sur des applications faites avec Node.js, Java et Python. Un seul thread matériel est nécessaire pour gérer le nombre d'opérations simultanées.