Vibe.D เป็น I/O แบบอะซิงโครนัสที่มีประสิทธิภาพสูงและชุดเครื่องมือแอปพลิเคชันเว็บที่เขียนด้วย D. มันมีคุณสมบัติเสริมมากมายเช่นการสนับสนุนฐานข้อมูลเพื่อให้สามารถเสนอสภาพแวดล้อมการพัฒนาที่สมบูรณ์ สำหรับความต้องการที่เฉพาะเจาะจงมากขึ้นยังมีแพ็คเกจพากย์ที่เข้ากันได้มากมาย
เยี่ยมชมเว็บไซต์ได้ที่ https://vibed.org/ สำหรับข้อมูลเพิ่มเติมและเอกสารประกอบ
#!/usr/bin/env dub
/+ dub.sdl:
name "hello_vibed"
dependency "vibe-d" version="~>0.9.0"
+/
import vibe.vibe;
void main ()
{
listenHTTP( " 127.0.0.1:8080 " , (req, res) {
res.writeBody( " Hello Vibe.d: " ~ req.path);
});
runApplication();
} ดาวน์โหลดไฟล์นี้เป็น hello.d และเรียกใช้ด้วย Dub:
> dub hello.d
(หรือ chmod +x และดำเนินการ: ./hello.d )
หรือคุณสามารถเริ่มต้นอย่างรวดเร็วพร้อมตัวอย่างโดยตรง
โครงการ Vibe.D มีโครงสร้างเป็นที่เก็บหลายแห่ง:
vibe-d (ที่เก็บนี้): เว็บระดับสูงและกรอบการพักผ่อน, HTTP, STMP และ REDIS/MongoDB ฟังก์ชั่นvibe-http : การใช้งานไคลเอนต์/เซิร์ฟเวอร์ HTTP รวมถึง WebSockets, พร็อกซี, เซสชัน ฯลฯvibe-stream : ประเภทสตรีมขั้นสูงและการสนับสนุนสตรีม TLSvibe-inet : ฟังก์ชั่นมาตรฐานอินเทอร์เน็ต (URL, การเข้ารหัสแบบฟอร์ม, การเข้ารหัส HTML, ... )vibe-core : I/O ที่ใช้ไฟเบอร์และการใช้งานพร้อมกันvibe-serialization : การสนับสนุนแบบอนุกรมและรูปแบบข้อมูลที่มีโครงสร้างvibe-container : การใช้งานคอนเทนเนอร์ที่ใช้ตลอดทั้งโครงการvibe-sdl : การสนับสนุน serialization sdlang ตาม sdlitevibe-compat : ฟังก์ชั่นมรดกobservable : การใช้งานที่สังเกตได้สัญญาณ/สล็อตและการใช้งานแบบปฏิกิริยาdiet : PUG.JS ระบบแม่แบบคอมไพล์คอมไพล์เวลาที่ได้รับแรงบันดาลใจจากการรวม vibe.webeventcore : สิ่งที่เป็นนามธรรมระดับต่ำเหนือสิ่งอำนวยความสะดวก I/O แบบอะซิงโครนัสของระบบปฏิบัติการคุณสามารถค้นหาภาพรวม API ของโครงการทั้งหมดในเอกสาร API
Vibe.D รองรับ 10 รุ่นล่าสุดของ DMD ตัวอย่างเช่นหากเวอร์ชันปัจจุบันคือ v2.090.1 ดังนั้น v2.089.x, v2.088.x, ... v2.080.x รองรับ โปรดทราบว่าการสนับสนุนสำหรับการเปิดตัวแพตช์เป็นที่ต้องการ แต่การรองรับเฉพาะแพตช์สุดท้ายในผู้เยาว์เท่านั้นที่รับประกันได้
นอกจากนี้ Vibe.D ยังรองรับ LDC ทั้งหมดที่ใช้เวอร์ชันของส่วนหน้า (เช่นโดยกฎก่อนหน้า LDC v1.20.0 ใช้ v2.090.1 และจะได้รับการสนับสนุน)
แทนที่จะติดตั้ง Vibe.D อย่างชัดเจนขอแนะนำให้ใช้ DUB สำหรับการสร้างแอปพลิเคชันที่ใช้ Vibe.D เมื่อติดตั้งพากย์แล้วคุณสามารถสร้างและเรียกใช้โครงการใหม่โดยใช้คำสั่งเชลล์ต่อไปนี้:
dub init <name> -t vibe.d
cd <name>
dub
ในทำนองเดียวกันคุณสามารถเรียกใช้ตัวอย่างโดยเรียก dub จากไดเรกทอรีโครงการตัวอย่างใด ๆ
โปรดทราบว่าในระบบปฏิบัติการที่ไม่ใช่ Windows คุณจะต้องติดตั้ง OpenSSL - และแน่นอนว่าคอมไพเลอร์ D ดูคำแนะนำด้านล่าง
หากคุณไม่ได้ติดตั้งชงให้ติดตั้งตามคำแนะนำในการติดตั้ง
จากนั้นคุณสามารถติดตั้ง Dub โดยใช้ Brew:
brew install dub
(หมายเหตุ: ติดตั้ง BREW เฉพาะในกรณีที่คุณไม่มี MacPorts เพราะพวกเขาจะขัดแย้ง)
ติดตั้ง DMD โดยใช้ตัวติดตั้งบน https://dlang.org/download.html
เลือกเรียกใช้ ./setup-mac.sh เพื่อสร้างคู่ผู้ใช้/กลุ่มเพื่อลดสิทธิพิเศษ
ติดตั้ง Vibe.D การพึ่งพา:
sudo apt-get install libssl-dev
บน Linux 32 บิต: ติดตั้ง DMD-I386
sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.098.0/dmd_2.098.0-0_i386.deb"
sudo dpkg -i dmd_2.098.0-0_i386.deb
บน Linux 64 บิต: ติดตั้ง DMD-AMD64
sudo apt-get install g++ gcc-multilib xdg-utils
wget "http://downloads.dlang.org/releases/2.x/2.098.0/dmd_2.098.0-0_amd64.deb"
sudo dpkg -i dmd_2.098.0-0_amd64.deb
เป็นทางเลือก Run ./setup-linux.sh เพื่อสร้างคู่ผู้ใช้/กลุ่มเพื่อลดสิทธิพิเศษ
คุณต้องติดตั้งการพึ่งพาต่อไปนี้:
เป็นทางเลือก Run ./setup-linux.sh เพื่อสร้างคู่ผู้ใช้/กลุ่มเพื่อลดสิทธิพิเศษ
ติดตั้งคอมไพเลอร์ DMD และ Vibe.D การพึ่งพาโดยใช้ PortUpgrade หรือกลไกที่คล้ายกัน:
sudo portupgrade -PN devel/pkgconf
เลือกเรียกใช้ ./setup-freebsd.sh freebsd.sh เพื่อสร้างคู่ผู้ใช้/กลุ่มเพื่อลดสิทธิพิเศษ
โดยค่าเริ่มต้น Vibe.d ถูกสร้างขึ้นกับ OpenSSL 1.1.x ในระบบที่ใช้สาขา 1.0.x รุ่นเก่าสิ่งนี้สามารถแทนที่ได้ในบรรทัดคำสั่ง DUM โดยใช้ --override-config vibe-d:tls/openssl-1.0 อีกทางเลือกหนึ่งสามารถทำได้โดยใช้คำสั่งการกำหนดค่าย่อยในสูตรแพ็คเกจ:
ไวยากรณ์ SDL:
dependency "vibe-stream:tls" version="~>1.0"
subConfiguration "vibe-stream:tls" "openssl-1.0"
ไวยากรณ์ JSON:
{
...
"dependencies": {
...
"vibe-stream:tls": "~>1.0"
},
"subConfigurations": {
...
"vibe-stream:tls": "openssl-1.0"
}
}
ในที่สุดก็มีการกำหนดค่า "พฤกษศาสตร์" สำหรับการใช้พอร์ต D ของไลบรารี Botan