Hologram projesi, web uygulamaları geliştirirken JavaScript yazma ihtiyacını ortadan kaldırmayı hedeflese de, web ekosisteminin genişliği (npm paketleri, Web API'leri, Web Components) bu yaklaşımın gerçek dünya uygulamaları için yetersiz kalmasına neden oluyordu. Hologram v0.8.0 sürümüyle birlikte gelen JavaScript birlikte çalışabilirlik özelliği, projenin başlangıcından bu yana en çok talep edilen özellik olarak bu boşluğu dolduruyor. Artık Elixir kodundan doğrudan JavaScript fonksiyonlarını çağırabilir, npm paketlerini kullanabilir, Web API'leriyle etkileşime geçebilir, sınıfları örnekleyebilir ve DOM olaylarını yönetebilirsiniz. Bu sayede geliştiriciler, Elixir'ın gücünü modern web teknolojileriyle birleştirme imkanına kavuşuyor.
Yeni birlikte çalışabilirlik API'si Hologram.JS modülü altında sunuluyor. Bu modül, js_import ile npm paketlerinden veya yerel JavaScript dosyalarından içe aktarım yapmayı, JS.call/2 ve JS.call/3 ile JavaScript fonksiyonlarını çağırmayı, JS.new/2 ile sınıfları örneklemeyi ve JS.dispatch_event/2-4 ile olayları göndermeyi sağlıyor. Elixir ve JavaScript arasındaki değerler otomatik olarak dönüştürülüyor; JavaScript'e özgü tipler (nesne referansları, fonksiyonlar gibi) Elixir tarafında Hologram.JS.NativeValue yapısı olarak ele alınıyor. Ayrıca, JavaScript tarafından Hologram.dispatchAction() kullanarak Elixir eylem işleyicilerini tetiklemek de mümkün, bu da üçüncü taraf JavaScript kütüphaneleriyle entegrasyonu kolaylaştırıyor. Hologram'ın istemci tarafı Elixir runtime'ında JavaScript Promise'leri Elixir Task'lerine dönüşerek asenkron işlemlerin Elixir'ın süreç modeliyle uyumlu bir şekilde yönetilmesini sağlıyor.
Bu güncelleme, Elixir geliştiricilerinin Hologram ile modern web ekosisteminin zengin JavaScript kütüphanelerine ve API'lerine doğrudan erişmesini sağlayarak uygulama geliştirme yeteneklerini önemli ölçüde genişletiyor.