Vert.x
Eclipse Vert.x هو إطار عمل لتطبيقات متعددة اللغات تعتمد على الأحداث، ويعمل على آلة جافا الافتراضية. [ 2 ] [ 3 ]
تتضمن البيئات المماثلة المكتوبة بلغات برمجة أخرى Node.js للغة JavaScript ، وTwisted للغة Python ، وPerl Object Environment للغة Perl ، وlibevent للغة C ، وreactPHP وamphp للغة PHP ، و EventMachine للغة Ruby .
تاريخ
تم تأسيس Vert.x بواسطة تيم فوكس في عام 2011 عندما كان يعمل لدى VMware .
أطلق فوكس في البداية على المشروع اسم "Node.x"، وهو تلاعب لفظي باسم Node.js ، حيث يرمز الحرف "x" إلى أن المشروع الجديد متعدد اللغات بطبيعته، ولا يقتصر على دعم جافا سكريبت فقط. لاحقًا، أُعيد تسمية المشروع إلى "Vert.x" لتجنب أي مشاكل قانونية محتملة، لأن "Node" علامة تجارية مملوكة لشركة Joyent Inc. [ 4 ]. كما أن الاسم الجديد هو تلاعب لفظي بكلمة "node"، حيث أن "vertex" مرادف لكلمة "node" في الرياضيات.
في ديسمبر 2012، وبعد أن ترك تيم فوكس وظيفته لديهم، رفعت شركة VMware دعوى قضائية ضده للاستحواذ على العلامة التجارية Vert.x، واسم النطاق، والمدونة، وحساب GitHub، ومجموعة Google من مجتمع Vert.x. [ 5 ] [ 6 ]
بعد مناقشات مطولة مع أطراف أخرى، اقتنعت شركة VMware في يناير 2013 بأن نقل المشروع وحقوق الملكية الفكرية المرتبطة به إلى مؤسسة Eclipse، وهي كيان قانوني محايد، سيكون في مصلحة مجتمع Vert.x. [ 7 ]
في أغسطس 2013، انتقل مشروع Vert.x الأساسي إلى مؤسسة Eclipse. أما المشاريع الأخرى التي تُشكّل بنية Vert.x فلم تنتقل إلى Eclipse، بل استمرت في استخدام العلامة التجارية "Vert.x" بموافقة ضمنية من مؤسسة Eclipse.
في مايو 2014، فازت Vert.x بجائزة "أكثر تقنيات جافا ابتكارًا" في جوائز JAX للابتكار. [ 8 ]
في 12 يناير 2016، تنحى تيم فوكس عن منصبه كقائد لمشروع Vert.x. [ 9 ] وتولى جوليان فييت، وهو مساهم قديم، مكانه.
الدعم اللغوي
- اعتبارًا من الإصدار 2.1.4 (2014)، يعرض Vert.x واجهة برمجة التطبيقات الخاصة به في Java و JavaScript و Groovy و Ruby و Python و Scala و Clojure و Ceylon .
- اعتبارًا من الإصدار 3.7.0 (2019)، يعرض Vert.x واجهة برمجة التطبيقات الخاصة به في Java و JavaScript و Groovy و Ruby و Scala و Kotlin و Ceylon.
- اعتبارًا من الإصدار 3.9.1 (2020)، يعرض Vert.x واجهة برمجة التطبيقات الخاصة به في Java و JavaScript و Groovy و Ruby و Scala و Kotlin.
- اعتبارًا من الإصدار 4.0.0 (2020)، يعرض Vert.x واجهة برمجة التطبيقات الخاصة به بلغات Java و Groovy و Kotlin.
بنيان
يستخدم Vert.x مكتبة الإدخال والإخراج منخفضة المستوى Netty . [ 10 ]
يتضمن إطار عمل التطبيق هذه الميزات:
- متعدد اللغات. يمكن كتابة مكونات التطبيق بلغات Java و JavaScript و Groovy و Ruby و Scala و Kotlin و Ceylon.
- نموذج تزامن بسيط. جميع التعليمات البرمجية أحادية الخيوط، مما يحرر من متاعب البرمجة متعددة الخيوط.
- نموذج برمجة بسيط وغير متزامن لكتابة تطبيقات قابلة للتوسع وغير محظورة حقًا.
- ناقل أحداث موزع يمتد بين جانب العميل والخادم. ويتغلغل ناقل الأحداث حتى في جافا سكريبت داخل المتصفح، مما يسمح بإنشاء ما يُسمى بتطبيقات الويب الآنية.
- نموذج الممثل والمستودع العام، لإعادة استخدام المكونات ومشاركتها.
أمثلة
يمكن كتابة خادم ويب يعرض عبارة "مرحباً من Vert.x!" بلغة جافا:
استيراد io.vertx.core.AbstractVerticle ;public class Server extends AbstractVerticle { public void start () { vertx . createHttpServer (). requestHandler ( req -> { req . response () . putHeader ( "content-type" , "text/plain" ) . end ( "Hello from Vert.x!" ); }). listen ( 8080 ); } }وفي جافا سكريبت :
vertx.createHttpServer () . requestHandler ( function ( req ) { req.response () . putHeader ( " content-type" , " text/plain" ) . end ( "Hello from Vert.x!" ) ; }). listen ( 8080 ) ;ستؤدي كلتا الحالتين إلى قيام خادم الويب بتقديم المحتوى بطريقة قابلة للتوسع بشكل كبير.
مراجع
- ↑ "تم إصدار Eclipse Vert.x 5! "
- ↑ انتظر، vert.x – بديل متعدد اللغات لـ Node.js على JVM ، بقلم ديو سينودينوس، 4 مايو 2012، infoq
- ↑ Vert.x – إطار عمل ويب جافا غير متزامن وقائم على الأحداث ، بقلم إيبرهارد وولف، 20 يونيو 2012، hDeveloper
- ↑ "تغيير الاسم" .
- ↑ آساي، مات (14 يناير 2013). "يا مطوري البرمجيات مفتوحة المصدر: من هو صاحب الكود الخاص بكم؟" . ذا ريجستر . تم الاطلاع عليه بتاريخ 13 يوليو 2026 .
- ↑ "من يسيطر على Vert.x: ريد هات، في إم وير، أم لا أحد؟" . إنفوورلد . مؤرشف من الأصل بتاريخ 25 أبريل 2014. تم الاطلاع عليه بتاريخ 13 يوليو 2026 .
- ↑ "انضمام Vert.x إلى مؤسسة Eclipse"
- ↑ "Vert.x تفوز بجائزة JAX للابتكار"
- ↑ "إعادة التوجيه إلى مجموعات جوجل" .
- ↑ vert.x – بديل متعدد اللغات لـ Node.js على JVM ، بقلم ديو سينودينوس، 4 مايو 2012، InfoQ
روابط خارجية
- مكتبات البرمجة المتزامنة
- برامج متعددة المنصات
- الأحداث (الحوسبة)
- مكتبات حاسوب مجانية
- آلة جافا الافتراضية
