CheerpJ 5.0: Java 21'yi tarayıcıda çalıştırmanın yeni yolu

CheerpJ 5.0: Java 21'yi tarayıcıda çalıştırmanın yeni yolu
audio-thumbnail
CheerpJ 5.0: Java 21'yi tarayıcıda çalıştırmanın yeni yolu
0:00
/0

CheerpJ 5.0: Java 21'yi tarayıcıda çalıştırmanın yeni yolu

Tarayıcıda Java uygulamaları çalıştırmak artık daha güçlü, daha esnek ve daha modern hale geldi. CheerpJ 5.0, yeni bir dönüm noktası olarak geliyor: tam OpenJDK desteğiyle birlikte, Java 21'e kadar olan sürümlerle birlikte, kullanıcıların tarayıcısında hem derleme hem de çalıştırma yapabilmesini sağlıyor. Bu sürüm, sadece bir güncelleme değil, bir dönüşüm.

CheerpJ 5.0: Tarayıcıda Java'nın yeni evresi

CheerpJ 5.0, Kasım 2026'da yayınlanan yeni büyük bir güncelleme ile birlikte, Java uygulamalarının tarayıcılar içinde çalıştırılmasının yollarını yeniden tanımlıyor. Bu sürümle birlikte, CheerpJ artık sadece Java 8, 11 ve 17 gibi önceki sürümleri desteklemiyor; aynı zamanda Java 21'e kadar olan modern sürümleri tam destekliyor. Bu, 2025'te duyurulan ve 2026 sonuna kadar tamamlanması hedeflenen yol haritasını başarıyla tamamlıyor.

Ancak en dikkat çeken gelişme, CheerpJ 5.0'ın artık tam OpenJDK dağıtımını sunması. Daha önce sadece JRE (Java Runtime Environment) paketleri ile sınırlı kalmıştı. Artık tüm JDK (Java Development Kit) bileşenleri de tarayıcıya taşınıyor. Bu sayede kullanıcılar hem Java uygulamalarını çalıştırmak hem de tarayıcı içinde javac ve jshell gibi araçlarla derleme yapmak mümkün hale geliyor.

Bu gelişmeler, özellikle eğitim alanındaki uygulamalar için büyük bir potansiyel sunuyor. Öğrenciler, geliştiriciler ve akademik kurumlar artık bir tarayıcı penceresi içinde Java öğrenme, derleme ve çalışma sürecini tamamen gerçekleştirebilir.

Tarayıcıda Java'nın teknik tabanı: CheerpJ mimarisi

CheerpJ, 2017'den beri geliştirilen ve 2024'te 3.0 sürümüyle tamamen yeniden yapılandırılan bir proje. Hedefi, Java uygulamalarının tarayıcılarda değişmeden çalıştırılmasını sağlamaktı. Bunu sağlamak için CheerpJ, tamamıyla WebAssembly üzerine kurulmuş bir JVM (Java Virtual Machine) geliştiriyor.

CheerpJ'nin temelinde üç ana bileşen yer alıyor:

  1. JVM ve JIT derleyici: C++ ile yazılmış ve WebAssembly'e derlenen bir JVM. İlk başta interpretör ile başlar, sıcak kodlar (hot code) JavaScript'e derlenir. Yeni sürümde, bu kısmın yanında WasmGC tabanlı ikinci bir JIT engine da geliştirildi.
  2. Tam OpenJDK derlemesi: Her desteklenen Java sürümü için, kaynak kodları değiştirilmeden derlenmiş tam OpenJDK yapıtları sunuluyor. Bu, JNI katmanının da WebAssembly'e derlenmesini sağlıyor.
  3. Sanal sistem katmanı: Tarayıcıların doğrudan sunamadığı sistem özelliklerini emüle ediyor: dosya sistemleri (IndexedDB, HTTP), ağ bağlantısı, klavye ve fare etkileşimi, ses, yazdırma ve pencere yönetimi gibi.

CheerpJ, sadece Java kodlarını değil, tüm JVM dilleri (Kotlin, Scala vb.) de destekliyor. Ayrıca, eski ve gizli kaynak kodu olan uygulamaların bile, hiçbir değişiklik yapılmadan çalıştırılmasını sağlıyor.

WasmGC: Geleceğin Java motoru

CheerpJ 5.0'ın en büyük yeniliklerinden biri, WasmGC (WebAssembly Garbage Collection) motoruyla birlikte geliştirilen yeni bir yorumlayıcı ve JIT (Just-In-Time) derleyicidir. Bu, CheerpJ 3.0'dan bu yana yapılan en büyük mimari yenilik.

Geleneksel motorlarda, Java nesneleri JavaScript nesneleri olarak işlenir ve sıcak kodlar JavaScript'e derlenir. Ancak WasmGC motoru, WebAssembly bellek yönetimi ile tam uyumlu bir yapı sunuyor. Burada Java nesneleri, doğrudan WasmGC nesnelerine dönüştürülür ve sıcak kodlar WebAssembly'e derlenir.

Bu değişiklik, başlangıç süresi ve çalışma zamanı performansında önemli kazançlar sağlıyor. Ayrıca, karmaşık JNI kütüphanelerine (örneğin LWJGL) daha etkili şekilde erişim imkânı sunuyor. LWJGL, Minecraft gibi oyunlar için temel bir kütüphane. Daha önce LWJGL 3'ü CheerpJ ile çalıştırmak büyük bir performans ödülü gerektiriyordu; bu sürümle birlikte bu zorluklar daha da azalıyor.

CheerpJ ekibi, WasmGC motorunun stabilizasyonu için önümüzdeki ayların odak noktasını belirlediğini ve bu motorun CheerpJ 6.0 ile üretim ortamına hazır hale gelmesini beklediğini belirtiyor.

Gelecek: Büyük ölçekli uygulamalar tarayıcıda

CheerpJ 5.0, yalnızca teknik bir başarı değil, aynı zamanda tarayıcıların yeni bir geliştirme platformu olmasına yol açan bir adım. Daha önce sadece küçük uygulamaları, eski sistemleri veya eğitim amaçlı projeleri çalıştırabilen CheerpJ, artık büyük ölçekli modern uygulamaların da çalıştırılmasını mümkün kılıyor.

Bu gelişmeler, özellikle Minecraft gibi büyük Java tabanlı oyunların tarayıcıda çalıştırılmasını, hatta IntelliJ IDEA gibi gelişmiş bir geliştirme ortamının bile bir web sürümünün oluşturulmasını mümkün kılıyor.

CheerpJ, artık sadece bir emülasyon değil, bir web tabanlı JVM olarak kabul ediliyor. Tarayıcılar artık sadece web sayfalarını değil, aynı zamanda karmaşık, güçlü ve modern Java uygulamalarını da barındırabiliyor.

Sonuç: Java'nın yeni evresi

CheerpJ 5.0, Java'nın tarihi boyunca tarayıcılarla birleşen ilk gerçek dönüm noktası olabilir. Artık bir tarayıcı penceresi içinde Java öğrenmek, geliştirme yapmak ve çalıştırmak aynı anda mümkün. OpenJDK tam desteğiyle, modern Java sürümleriyle birlikte, CheerpJ artık sadece bir geçiş teknolojisi değil, bir gelecek platformu.

Tarayıcılar artık sadece web uygulamaları değil, aynı zamanda tam performanslı, modern Java uygulamaları barındırabiliyor. CheerpJ 5.0, bu yolculuğun birinci adımı. Ve bu yol, sadece başlamak üzere.