Elide + JVM
Elide هي سلسلة أدوات كاملة لـ Java وKotlin، يمكنها تجميع كود Java حتى JDK 25، وكود Kotlin حتى 2.3.x.
يمكن لـ Elide أيضاً تشغيل برامج JVM، على Hotspot، أو ككود ضيف.
نصيحة
يمكن استخدام Elide كـ JAVA_HOME مع أي أداة بناء أو مشروع.
لماذا سلسلة أدوات جديدة؟
JVM هو نموذج تشغيل قوي للغاية؛ Java وKotlin محبوبتان من ملايين المطورين. فما هي المشكلة إذن؟
Maven وGradle وBazel... هذه كلها أدوات بناء ممتازة، كل منها بطريقتها الخاصة، تستحق أن تكون في قاعة مشاهير أدوات البناء، لو كان هناك شيء كهذا.
ومع ذلك، كل منها يفرض تنازلات على مطوّري JVM:| أداة بناء JVM | العيوب الجوهرية |
|---|---|
| Maven | مخرجات مطوّلة، عليك كتابة XML |
| Gradle | بطيء، منحنى تعلّم حاد، مُحبِط للغاية |
| Bazel | منحنى تعلّم شبه مستحيل / نظام بيئي محدود |
| البُعد | كيف يتفوق Elide على البدائل |
|---|---|
| تجربة المطوّر | نموذج استدعاء شبيه بـ NPM، واجهة طرفية جميلة |
| السرعة | مدعوم بـ Native Image لبدء تشغيل سريع بشكل مذهل |
| الإعدادات | يعمل مباشرة، بدون إضافات أو إعدادات مطلوبة |
| لغة البناء | مزيج مريح من التصريحي والأمري (Pkl) |
نموذج ذهني مبسّط
يستعير Elide من تجربة تطوير أكثر رشاقة قد يجدها مطوّرو الواجهات الأمامية مألوفة.
shell
> cat elide.pklpkl
amends "elide:project.pkl"
import "elide:Sources.pkl" as Sources
name = "my-elide-project"
jvm {
main = "sample.MainKt"
}
sources {
["main"] = new Sources.SourceSetSpec {
paths {
"src/main/kotlin<<>>*.kt"
}
}
}
dependencies {
maven {
packages {
"com.google.guava:guava:33.5.0-jre"
}
}
}shell
> cat src/main/kotlin/sample/Hello.ktkotlin
package sample
fun main() {
println("Hello from Kotlin")
}shell
> elide install
✅ Installed 17 dependencies in 1.2sshell
> elide build
✅ Built 1 Kotlin source file in 24msshell
الفروقات عن التطوير التقليدي مع Gradle/Maven:
> elide run
Hello from Kotlin- يعمل افتراضياً لحالات الاستخدام الشائعة؛ بدون فوضى الإضافات لتشغيل Kotlin وJUnit.
- مُثبّت سريع للغاية؛ متوافق مع مشاريع Maven وGradle التقليدية، لكنه يوفر أوقات حل وتثبيت أسرع.
- بدء سريع، إنهاء سريع؛ بدلاً من العمليات طويلة التشغيل، عمليات البناء رشيقة وسريعة افتراضياً.
متوافق افتراضياً
يتضمن Elide سلسلة أدوات كاملة وبديلة مباشرة لـ JVM:
- مُجمّع Java، أسرع بما يصل إلى 20 ضعفاً من المعتاد
- مُجمّع Kotlin، أسرع بما يصل إلى 35 ضعفاً من المعتاد
- أداة JAR، لتجميع ملفات JAR من المخرجات المُجمّعة
- منشئ الحاويات، لتحزيم صور الحاويات من تطبيقات JVM
ميزات مريحة مدمجة
يتضمن Elide إضافات تجعل تطوير JVM ممتعاً مجدداً:
- Google Java Format
- ktfmt
- سلسلة أدوات JDK الكاملة، قابلة للاستخدام كـ
JAVA_HOME