Vibe.d is een webframework geschreven in D, voor D-programmeurs om web- en netwerktoepassingen te ontwikkelen. Een ding waar Vibe.d bekend om staat, is de mogelijkheid om servers te ontwikkelen en te implementeren. In dit artikel laten we u zien hoe u Vibe.d instelt op Ubuntu 14.04 x64. Dit zou ook moeten werken op Ubuntu 12.04 en 14.10, maar de resultaten kunnen variëren.
Vereisten
- Vultr VPS met Ubuntu 14.04 x64.
- Basiskennis van D.
- Laat DMD , LDC of GDC installeren (DMD wordt aanbevolen).
- Laat DUB installeren.
Installeer bibliotheken
Voordat u aan de slag gaat, moet u enkele afhankelijkheden installeren, zodat uw project kan worden opgebouwd:
apt-get install libssl-dev libevent-dev
Project maken
dub
Maak met behulp van een project door de volgende opdracht in een map uit te voeren:
dub init server vibe.d
Wat dit zal doen, is een nieuw project maken met de ingebouwde Vibe.d-sjabloon dub
.
Bijwerken dub.json
Net als package.json
voor NPM (Node.js), dub.json
slaat informatie over uw applicatie op die zal worden gebruikt voor het bouwen of implementeren. In uw dub.json
bestand ziet u mogelijk iets dat lijkt op:
{
"name": "server",
"description": "A simple vibe.d server application.",
"copyright": "Copyright © 2014, root",
"authors": ["root"],
"dependencies": {
"vibe-d": "~>0.7.19"
},
"versions": ["VibeDefaultMain"]
}
Als je wilt, kun je de naam, beschrijving, copyright, auteur, enzovoort wijzigen. Voor nu gaan we ons concentreren op de gegevens in de dependencies
sectie. Wijzig de huidige versie van 0.7.19
naar 0.7.21
. Dit zorgt ervoor dat u de nieuwste versie van Vibe gebruikt. D. Nadat u de versie heeft gewijzigd en het bestand heeft opgeslagen, kunt u doorgaan naar de volgende stap.
Bron / app bijwerken. D
In uw source/app.d
bestand zou u een regel moeten zien die toont:
settings.bindAddresses = ["::1", "127.0.0.1"];
Dit stelt het adres in waar de server naar zal luisteren. In dit geval worden de loopback-adressen ::1
(IPv6) en 127.0.0.1
(IPv4) gebruikt. Je hebt hier een aantal opties. Je kunt de adressen wijzigen in een openbaar IP-adres dat beschikbaar is op je Vultr VPS, of je kunt op die regel reageren om naar elk beschikbaar adres te luisteren. Het is puur uw keuze, maar voor nu veranderen 127.0.0.1
om 0.0.0.0
om verwarring te voorkomen. Hierdoor luistert uw toepassing naar elk IP-adres dat aan de server is toegewezen.
Bouw Project
Voer de volgende opdracht uit om uw applicatie te bouwen:
dub build
Dit doorloopt het proces van het ophalen van uw afhankelijkheden, het bouwen ervan en vervolgens het bouwen van uw applicatie. Eenmaal voltooid (ervan uitgaande dat er geen fouten zijn), zou u een bestand server
in de root van uw directory moeten hebben. Voer het uit door het te doen ./server
en het zal het volgende tonen:
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.
Als u geen foutbericht ziet, ga dan verder naar uw webbrowser en voer zowel het IP-adres als de poort in. Bijvoorbeeld: http://0.0.0.0:8080
met 0.0.0.0
dienovereenkomstig gewijzigd.
Als u Hello, World!
in uw browser ziet, heeft u Vibe.d met succes op uw server ingesteld.
Vibe begrijpen. D
Server ontwikkeling
Vibe.d heeft een lange weg afgelegd, wat ontwikkelaars een manier bood om servergebaseerde applicaties te ontwikkelen. Dit omvat webservertoepassingen, die Vibe.d native ondersteunt.
Dieet sjablonen
Als het gaat om webontwikkeling, zijn voedingssjablonen volledig rond Jade gebaseerd, behalve dat voedingssjablonen rechtstreeks in uw applicatie worden gecompileerd. Dit gebruikt D in uw project (net zoals hoe u ingebed Javascript in Jade kunt gebruiken). Het gebruik van voedingssjablonen voegt flexibiliteit toe aan de inhoud die uw toepassing in de webbrowser weergeeft.
Prestatie
Als het gaat om prestaties, heeft Vibe.d laten zien dat ze naar een zeer hoog niveau kunnen opschalen. Met zijn asynchrone I / O creëert het een geheugenoverhead die veel lager is dan wat u normaal zou vinden bij toepassingen die zijn gemaakt met Node.js, Java en Python. Er is slechts één hardware-thread nodig om het aantal gelijktijdige bewerkingen af te handelen.