Vibe.d عبارة عن مجموعة أدوات تطبيقات الويب عالية الأداء غير المتزامنة ، وتتزامها وتطبيقات الويب المكتوبة في D. أنها تحتوي بالفعل على العديد من الميزات التكميلية مثل دعم قاعدة البيانات لتكون قادرة على تقديم بيئة تطوير كاملة. للاطلاع على المزيد من الاحتياجات المتخصصة ، هناك أيضًا العديد من حزم Dub متوافقة.
تفضل بزيارة الموقع على 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/MongoDBvibe-http : تنفيذ عميل/خادم HTTP بما في ذلك WebSockets ، الوكيل ، الجلسات ، إلخ.vibe-stream : أنواع الدفق المتقدمة ودعم تيار TLSvibe-inet : وظيفة الإنترنت القياسية (URL ، تشفير النماذج ، تشفير HTML ، ...)vibe-core : I/O على أساس الألياف وتنفيذ التزامنvibe-serialization : تدعم تنسيق البيانات المسلسل وتنسيق البيانات المنظمvibe-container : تطبيقات الحاويات المستخدمة في جميع أنحاء المشروعvibe-sdl : دعم تسلسل Sdlang على أساس sdlitevibe-compat : الوظيفة القديمةobservable : تطبيقات الإشارة/الفتحة والقيمة التفاعليةdiet : PUG.JS مستوحى من نظام HTML Template Timpile مع تكامل vibe.webeventcore : التجريد منخفض المستوى على مرافق الإدخال/الإخراج غير المتزامن لنظام التشغيليمكنك العثور على نظرة عامة على 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 لبناء التطبيقات المستندة إلى Dibe.D. بمجرد تثبيت Dub ، يمكنك إنشاء مشروع جديد وتشغيله باستخدام أوامر Shell التالية:
dub init <name> -t vibe.d
cd <name>
dub
وبالمثل ، يمكنك تشغيل مثال من خلال استدعاء dub من أي من أدلة المشروع.
لاحظ أنه على أنظمة التشغيل غير Windows ، تحتاج أيضًا إلى تثبيت OpenSSL - وبالطبع برنامج التحويل البرمجي D. انظر أدناه للحصول على التعليمات.
إذا لم يكن لديك تثبيت Brew ، فقم بتثبيته وفقًا لتعليمات التثبيت الخاصة بهم.
يمكنك أيضًا تثبيت Dub باستخدام Brew:
brew install dub
(ملاحظة: قم بتثبيت المشروب فقط إذا لم يكن لديك 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
اختياريا ، قم بتشغيل ./setup-linux.sh لإنشاء زوج مستخدم/مجموعة لخفض الامتياز.
تحتاج إلى تثبيت التبعيات التالية:
اختياريا ، قم بتشغيل ./setup-linux.sh لإنشاء زوج مستخدم/مجموعة لخفض الامتياز.
قم بتثبيت مترجم DMD وتبعيات Vibe.D باستخدام Portupgrade أو آلية مماثلة:
sudo portupgrade -PN devel/pkgconf
اختياريا ، قم بتشغيل ./setup-freebsd.sh لإنشاء زوج مستخدم/مجموعة لخفض الامتياز.
بشكل افتراضي ، تم تصميم Vibe.d مقابل OpenSSL 1.1.x. على الأنظمة التي تستخدم فرع 1.0.x الأقدم ، يمكن تجاوز هذا على سطر الأوامر DUB باستخدام- --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"
}
}
أخيرًا ، يوجد تكوين "Botan" لاستخدام منفذ D في مكتبة Botan.