CheerpJ 5.0: جاوا ۲۱ و ۲۵ حالا تو مرورگر اجرا میشه
خلاصهٔ کاملتر
شرکت Leaning Technologies نسخه ۵ از CheerpJ رو منتشر کرده. CheerpJ یه JVM کامل هست که با WebAssembly تو مرورگر اجرا میشه. مهمترین خبر این نسخه پشتیبانی از جاوا ۲۱ و ۲۵ هست. با جاوا ۸، ۱۱ و ۱۷ که از قبل پشتیبانی میشدن، نقشهراهی که تیم فوریه ۲۰۲۵ اعلام کرده بود سر وقت تموم شد.
فرق CheerpJ با راهحلهای مشابه اینه که روی bytecode جاوا کار میکنه، پس به سورسکد نیازی نداره. برنامههای قدیمی، فایلهای JAR مبهمسازیشده و حتی زبانهایی مثل Kotlin و Scala هم بدون تغییر اجرا میشن. reflection، ساخت کلاس در زمان اجرا، class loaderهای سفارشی و multithreading هم کامل پشتیبانی میشن. یه لایه مجازی هم فایلسیستم، شبکه، کلیپبورد، چاپ و مدیریت پنجره رو شبیهسازی میکنه.
تا حالا CheerpJ فقط JRE رو ارائه میداد تا حجم دانلود کم بمونه. حالا بعد از بهینهسازی بخش I/O، JDK کامل رو ارائه میده. یعنی javac و jshell هم تو مرورگر اجرا میشن و میشه جاوا رو سمت کلاینت کامپایل کرد. تیم سازنده میگه این مخصوصاً برای آموزش کاربرد زیادی داره.
از نظر فنی، به گفته تیم، مهمترین بخش این نسخه یه موتور اجرایی جدید روی WasmGC هست، یعنی افزونه استاندارد WebAssembly که اجازه میده garbage collector مرورگر حافظه آبجکتهای Wasm رو مدیریت کنه. تو موتور فعلی، کدهای پرتکرار به JavaScript کامپایل میشن ولی تو موتور جدید مستقیم به WebAssembly تبدیل میشن. انتظار تیم اینه که هم شروع برنامه و هم اجرا سریعتر بشه.
WasmGC کار با کتابخونههای native مثل LWJGL 3 رو هم راحتتر میکنه. LWJGL پایه Minecraft و خیلی از بازیهای جاوایی هست. ولی این موتور فعلاً آزمایشی و ناپایداره و حتی fallback خودکار هم نداره، پس نباید تو production فعالش کرد. نسخه پایدارش برای CheerpJ 6.0 اوایل ۲۰۲۷ برنامهریزی شده.
برای آینده هم تیم میخواد CheerpJ رو به شکل پکیج NPM عرضه کنه و از این به بعد حداکثر شش ماه از نسخههای LTS جاوا عقب باشه. جاوا ۲۵ فعلاً در حالت preview حساب میشه. JavaFX و SWT هم هنوز پشتیبانی نمیشن.
نکات کلیدی:
- پشتیبانی از جاوا ۸، ۱۱، ۱۷، ۲۱ و ۲۵، و جاوا ۲۵ فعلاً preview هست
- JDK کامل ارائه میشه و javac و jshell تو مرورگر اجرا میشن
- موتور WasmGC آزمایشیه و نیاز به Chrome/Edge 137، Firefox 153 یا Safari 27 به بالا داره
- نسخه پایدار WasmGC برای CheerpJ 6.0 اوایل ۲۰۲۷ برنامهریزی شده
- JavaFX و SWT هنوز پشتیبانی نمیشن
- برای استفاده شخصی و آموزشی لایسنس رایگان Community داره




