GraalVM عبارة عن توزيعة JDK عالية الأداء تقوم بتجميع تطبيقات Java الخاصة بك مسبقًا في ثنائيات مستقلة. تبدأ هذه الثنائيات على الفور، وتوفر أعلى أداء بدون أي إحماء، وتستخدم موارد أقل. يمكنك استخدام GraalVM تمامًا مثل أي مجموعة تطوير Java أخرى في IDE الخاص بك.
يصف موقع المشروع على https://www.graalvm.org/ كيفية البدء، وكيفية البقاء على اتصال، وكيفية المساهمة.
يرجى الرجوع إلى موقع GraalVM للحصول على الوثائق. يمكنك العثور على معظم مصادر التوثيق في الدليل docs/ بنفس التسلسل الهرمي المعروض على الموقع. يمكن العثور على وثائق إضافية بما في ذلك تعليمات المطور للمكونات الفردية في المستندات/ الدلائل الفرعية المقابلة. التوثيق الخاص بإطار عمل Truffle، على سبيل المثال، موجود في truffle/docs/ . وينطبق هذا أيضًا على اللغات والأدوات والمكونات الأخرى المحفوظة في المستودعات ذات الصلة.
مستودع المصدر هذا هو المستودع الرئيسي لـ GraalVM ويتضمن المكونات التالية:
دليل | وصف |
---|---|
.devcontainer/ | ملفات التكوين لحاويات GitHub dev. |
.github/ | ملفات التكوين لقضايا GitHub، وسير العمل، .... |
compiler/ | مترجم Graal، مترجم حديث ومتعدد الاستخدامات مكتوب بلغة Java. |
espresso/ | Espresso، مترجم Java bytecode الفوقي الدائري لـ GraalVM. |
regex/ | TRegex، محرك تعبير عادي للغات GraalVM الأخرى. |
sdk/ | GraalVM SDK، واجهات برمجة التطبيقات المدعومة على المدى الطويل لـ GraalVM. |
substratevm/ | إطار عمل للتجميع المسبق (AOT) باستخدام الصورة الأصلية. |
sulong/ | Sulong، محرك لتشغيل كود LLVM على GraalVM. |
tools/ | أدوات لغات GraalVM التي تم تنفيذها باستخدام إطار عمل الأجهزة. |
truffle/ | إطار تنفيذ لغة GraalVM لإنشاء اللغات والأدوات. |
visualizer/ | مصور الرسم البياني المثالي (IGV)، أداة لتحليل الرسوم البيانية لمترجم Graal. |
vm/ | مكونات لبناء توزيعات GraalVM. |
wasm/ | GraalWasm، محرك لتشغيل برامج WebAssembly على GraalVM. |
يوفر GraalVM لغات وأدوات ومكونات أخرى إضافية تم تطويرها في المستودعات ذات الصلة. هذه هي:
اسم | وصف |
---|---|
فاست آر | تنفيذ لغة R. |
GraalJS | تنفيذ JavaScript وNode.js. |
GraalPy | تنفيذ لغة بايثون. |
عروض GraalVM التجريبية | العديد من الأمثلة على التطبيقات التي توضح قدرات GraalVM. |
أدوات البناء الأصلية | إنشاء مكونات إضافية لأداة GraalVM Native Image. |
لغة بسيطة | مثال بسيط للغة تم إنشاؤه باستخدام إطار عمل Truffle. |
أداة بسيطة | أداة نموذجية بسيطة تم إنشاؤها باستخدام إطار عمل Truffle. |
TruffleRuby | تنفيذ لغة روبي. |
GraalVM Community Edition هو برنامج مفتوح المصدر ويتم توزيعه بموجب الإصدار 2 من رخصة GNU العامة مع استثناء "Classpath"، وهي نفس الشروط الخاصة بـ Java. تكون تراخيص مكونات GraalVM الفردية بشكل عام مشتقة من ترخيص لغة معينة (انظر الجدول أدناه).
عناصر) | رخصة |
---|---|
إسبرسو، متخيل الرسم البياني المثالي | جي بي إل 2 |
مترجم GraalVM، SubstrateVM، الأدوات، VM | GPL 2 مع استثناء Classpath |
GraalVM SDK، GraalWasm، إطار الكمأة، TRegex | الترخيص العالمي المسموح به |
سولونج | 3-فقرة BSD |