JavaFX, OpenJDK'nin bir parçasıdır
JavaFX projesinin kendisi açık kaynaklıdır ve OpenJDK projesinin bir parçasıdır .
Aralık 2019 Güncellemesi
Açık Kaynak JavaFX'in nasıl kullanılacağına ilişkin güncel bilgiler için https://openjfx.io adresini ziyaret edin . Bu, JavaFX'i mevcut bir JDK'dan ( Open JDK kurulumu gibi ) erişilen modüler bir kitaplık olarak kullanma talimatlarını içerir .
JavaFX için açık kaynak kod deposu https://github.com/openjdk/jfx adresindedir .
Bağlantılı kaynak yerde, sen (şu anda bu açık JavaFX için lisans dosyaları bulabilirsiniz lisans : GPL + sınıf yolu istisna OpenJDK için lisans eşleşir).
Proje için wiki şu adreste bulunur: https://wiki.openjdk.java.net/display/OpenJFX/Main
Açık JavaFX kullanmaya hızlı bir başlangıç yapmak istiyorsanız, Belsoft Liberica JDK dağıtımları, çeşitli platformlar için (şu anda) açık JavaFX içeren önceden oluşturulmuş OpenJDK ikili dosyaları sağlar.
Bağımsız uygulamalar olarak dağıtım için Java 14'ün, "Son kullanıcılara doğal bir yükleme deneyimi sunmak için yerel paketleme biçimlerini destekleyen" JEP 343: Packaging Tool'u uygulaması planlanmıştır . Bu biçimler, Windows'ta msi ve exe, macOS'ta pkg ve dmg'yi içerir. ve Linux'ta deb ve rpm. ", OpenJFX tabanlı uygulamaların yerel yükleyicilerle ve ek platform bağımlılıkları (önceden yüklenmiş JDK gibi) dağıtımı için.
Zaman içinde geçerliliğini yitirebilecek eski bilgiler
OpenJDK deposundan JavaFX oluşturma
Bir inşa edebilirsiniz (JavaFX dahil) OpenJDK açık versiyonunu tamamen Oracle JDK veya kapalı kaynak kodu bağımlılıkları yoktur kaynaktan.
Güncelleme: OpenJDK kaynaklarından önceden oluşturulmuş bir JavaFX dağıtımı kullanma
Bu soruya yapılan yorumlarda ve başka bir yanıtta belirtildiği gibi, Debian Linux dağıtımları OpenJDK'ye dayalı bir JavaFX ikili dağıtımı sunar:
(şu anda bu yalnızca bildiğim kadarıyla Java 8 için çalışıyor).
JavaFX'e göre Open JDK ve Oracle JDK arasındaki farklar
Aşağıdaki bilgiler Java 8 için sağlanmıştır. Java 9 itibarıyla, VP6 kodlaması JavaFX için kullanımdan kaldırılmıştır ve Oracle WebStart / Browser gömülü uygulama konuşlandırma teknolojisi de kullanımdan kaldırılmıştır . Dolayısıyla, JavaFX'in gelecekteki sürümleri, Oracle tarafından dağıtılsalar bile, muhtemelen açık kaynak olmayan herhangi bir teknolojiyi içermeyecektir.
Oracle JDK, OpenJDK'den kullanılamayan bazı yazılımlar içerir. JavaFX ile ilgili iki ana bileşen vardır.
- Google'ın ve Google'ın sahip olduğu ON2 VP6 video codec'i açık kaynaklı değildir.
- Oracle WebStart / Browser Embedded uygulama dağıtım teknolojisi.
Bu, JavaFX'in açık bir sürümünün VP6 FLV dosyalarını oynatamayacağı anlamına gelir. VP6 kodlayıcıları veya VP6'da kodlanmış ortamları bulmak zor olduğundan bu büyük bir kayıp değildir.
H.264 gibi diğer daha yaygın video formatları, JavaFX'in açık bir sürümüyle iyi oynatılır (hedef makineye önceden yüklenmiş uygun kodeklere sahip olduğunuz sürece).
WebStart / Browser Embedded dağıtım teknolojisinin eksikliği, özellikle JavaFX'ten ziyade OpenJDK'nın kendisiyle ilgili bir şeydir. Bu teknoloji, JavaFX dışı uygulamaları dağıtmak için kullanılabilir.
OpenSource topluluğu Java (ve diğer yazılımlar) için WebStart ve Browser Embedded dağıtım yöntemlerinin yerini alan ve uygulama dağıtımı için hoş, hafif, düşük etkili bir kullanıcı deneyimine izin veren bir dağıtım teknolojisi geliştirirse harika olurdu. Böyle bir amaca hizmet etmeye başlayan bazı projeler olduğuna inanıyorum, ancak henüz yüksek bir olgunluk ve benimseme düzeyine ulaşmadılar.
Kişisel olarak, WebStart / Browser Embedded dağıtımlarının eski teknoloji olduğunu ve şu anda birçok JavaFX uygulamasını (kendi kendine yeten uygulamalar gibi) dağıtmanın daha iyi yolları olduğunu düşünüyorum.
Aralık 2019 güncellemesi:
JDK 11+ için WebStart'ın açık kaynaklı bir sürümü geliştirilmiştir ve https://openwebstart.com adresinde mevcuttur .
JavaFX içeren Linux OpenJDK Dağıtımlarını kimin oluşturması gerekir?
JavaFX içeren JDK ve JRE için RPM'ler oluşturmak, OpenJDK'ye (örneğin Redhat, Ubuntu vb.) Dayalı Linux dağıtımları için paketler oluşturan kişilere kalmıştır. Bu yazılım dağıtıcılarının, daha sonra üretilen paketleri standart dağıtım kodu depolarına (örneğin, fedora / red hat ağı yum depolarına) yerleştirmeleri gerekir. Şu anda bu yapılmıyor, ancak Mart 2014'te Java 8 piyasaya sürüldüğünde Java 8 Linux paketleri JavaFX içermeseydi oldukça şaşırırdım.
Güncelleme, Aralık 2019 :
Artık JavaFX, çoğu ikili JDK ve JRE dağıtımından (Oracle'ın dağıtımı dahil) ayrıldığından ve bunun yerine, bağımsız bir SDK, jmod kümesi olarak veya merkezi Maven deposundan erişilebilen bir kitaplık bağımlılıkları olarak kullanılabilir (şu şekilde özetlenmiştir) https://openjfx.io ), standart Linux OpenJDK dağıtımlarının JavaFX'i içermesine daha az ihtiyaç vardır.
JavaFX içeren önceden oluşturulmuş bir JDK istiyorsanız , çeşitli platformlar için sağlanan Liberica JDK dağıtımlarını düşünün .
Önemli Uygulamalar için Dağıtım Önerileri
Java'nın kendi kendine yeten uygulama dağıtım modunu kullanmanızı öneririm .
Bu dağıtım modunun açıklaması şöyledir:
Uygulama yerel sürücüye yüklenir ve Java ve JavaFX çalışma zamanlarının özel bir kopyasını kullanan bağımsız bir program olarak çalışır. Uygulama, bu işletim sistemi için diğer yerel uygulamalarla aynı şekilde başlatılabilir, örneğin bir masaüstü kısayolu veya menü girişi kullanılarak.
Oracle JDK dağıtımından veya JavaFX içeren bir OpenJDK yapısından bağımsız bir uygulama oluşturabilirsiniz. Şu anda Oracle JDK ile bunu yapmak daha kolay.
Java'nın bir sürümü uygulamanızla birlikte paketlendiğinden, makineye önceden yüklenmiş Java sürümünün, hangi yeteneklere sahip olduğunun ve programınızla uyumlu olup olmadığı konusunda endişelenmenize gerek yoktur. Bunun yerine, uygulamanızı tam bir Java çalışma zamanı sürümüne karşı test edebilir ve bunu uygulamanızla dağıtabilirsiniz. Uygulamanızı dağıtmak için kullanıcı deneyimi, makinelerine yerel bir uygulama yüklemekle aynı olacaktır (örneğin, bir windows .exe veya .msi, bir OS X .dmg, bir linux .rpm veya .deb).
Not: Bağımsız uygulama özelliği yalnızca Java 8 ve 9 için mevcuttu, Java 10-13 için mevcut değildi. Java 14, JEP 343 aracılığıyla : Paketleme Aracı , OpenJDK dağıtımlarından bu özellik için yeniden destek sağlamak üzere planlanmıştır.
Güncelleme, Nisan 2018: Oracle'ın gelecekteki gelişmelere yönelik mevcut politikası hakkında bilgiler