Python Workers ve JavaScript/TypeScript Workers artık RPC (Remote Procedure Call) üzerinden doğrudan birbirlerinin metotlarını çağırabiliyor. Böylece geliştiriciler, farklı dillerde çalışan servisler arasında iletişim kurmak için özel API’ler, serialization çözümleri veya ek bağımlılıklar oluşturmak zorunda kalmıyor.
Yeni yapıda geliştiricilerin yalnızca Service Binding tanımlaması yeterli. Örneğin TypeScript ile geliştirilen bir Worker’daki fonksiyon Python tarafından normal bir fonksiyon çağrısına benzer şekilde kullanılabiliyor; aynı işlem ters yönde de gerçekleştirilebiliyor. Sistem ayrıca fonksiyonların, nesnelerin ve Structured Clone destekli veri tiplerinin diller arasında aktarılmasına olanak sağlıyor. JavaScript Date nesnesinin Python datetime tipine dönüştürülmesi gibi işlemler otomatik gerçekleştiriliyor.
Bu iletişimin temelinde, Python Workers’a güç veren WebAssembly tabanlı CPython ortamı Pyodide ve onun FFI(Foreign Function Interface) katmanı bulunuyor. Cloudflare ayrıca Workers’a özgü Request, Response, Blob ve File gibi nesneler için özel bir dönüşüm katmanı kullanıyor. Böylece geliştiriciler, dil farklılıklarını yönetmek yerine kendi dillerinin doğal veri yapılarıyla çalışabiliyor.
Geliştiriciler açısından yeniliğin en dikkat çekici taraflarından biri de mimari esneklik. Örneğin JavaScript tabanlı bir uygulama, Python Worker üzerinden Python ekosistemindeki bir kütüphaneden yararlanabiliyor. Cloudflare’a göre Worker’lar arası RPC çağrıları genellikle ağ üzerinden gerçekleşmiyor; servisler çoğunlukla aynı thread üzerinde çalıştığı için aynı Worker içinde kod çalıştırmaya kıyasla performans yükü sıfıra yakın seviyede kalıyor. Bu özellik, Cloudflare Workers üzerinde çok dilli serverless ve dağıtık uygulamalar geliştirmeyi önemli ölçüde kolaylaştırıyor.
🔗 Haberin kaynağına bağlantıdan ulaşabilir , ilgili dokumantasyonu ise bağlantıdan inceleyebilirsiniz.
