如何使用JavaFX和GraalVM建立移動App?

banq發表於2021-11-18

本文介紹了 JavaFX、Gluon Substrate 和 GraalVM 如何協同工作,幫助使用者建立強大、靈活的桌面應用程式,這些應用程式也可以在移動和嵌入式客戶端上執行。然後它展示瞭如何快速建立一個示例應用程式,併為您指出市場上已經利用這種成功組合的應用程式。

除了作為桌面應用程式的多功能平臺之外,具有Gluon Substrate 支援的 JavaFX 允許GraalVM Native Image將 Java 位元組碼轉換為可執行檔案,然後向目標檔案新增一些功能以將其與所需的一切捆綁在一起。這是一個絕佳的機會,因為終端使用者無需擔心繫統的 JDK 或類似問題。此時,JavaFX 應用程式與使用者系統上的任何其他應用程式一樣只是本機應用程式。

由於native-image實用程式執行的封閉世界分析,只有應用程式所需的程式碼才會被編譯並連結到最終的本地可執行檔案中。這減少了應用程式的佔用空間,還降低了安全風險,因為您的應用程式未使用的程式碼中的漏洞不會存在於最終映象中。

GraalVM 在與iOS 的互操作性方面具有巨大優勢: Apple 條款和條件不允許動態編譯的程式碼在 iOS 裝置上執行。為了克服這個限制,所有的位元組碼都需要提前編譯成 iOS 原生程式碼。這就是 GraalVM Native Image 正在做的事情。使用 GraalVM Native Image 進行提前編譯提供了更多機會:在進入目標裝置之前預編譯的程式碼不再需要在裝置上編譯。這也直接轉化為更快的啟動和更低的記憶體需求。

然後是 Native Image 中的LLVM後端,它允許您將 Java 位元組碼轉換為 LLVM 位碼,從而允許您使用任何 LLVM 後端編譯器來針對 iOS。在那之後,當然,它必須與所有所需的本機程式碼捆綁在一起:Java 類庫的本機程式碼、JavaFX 庫的本機程式碼、依賴於平臺的硬體探索等。

在此過程中,Gluon Substrate可幫助您完成所有這些任務:您的應用程式程式碼及其依賴項將由 Gluon Substrate 發現。它將引入包含靜態庫的所需 Java SDK,以及包含 JavaFX 靜態庫的 JavaFX SDK。之後,將應用 GraalVM Native Image 建立一個目標檔案,並捆綁所有內容。因此,您將獲得一個在桌面、移動或嵌入式客戶端上執行的應用程式。

  

有兩種方法可以開始使用 JavaFX:在本地下載 SDK,或者使用 Maven。如果您下載 SDK,除了 JavaFX 庫之外,您還需要下載本機庫。如果您從 Maven 下載,則本機庫是您為特定平臺下載的 JAR 檔案的一部分。

還有 IDE 外掛可以幫助開發人員在 NetBeans、IntelliJ IDEA 或 Eclipse 中儘快開始使用 JavaFX,您不必擔心 JavaFX 的“低階”部分。

最後,這可能是最簡單的方法,您可以在Gluon Start網站上生成一個 JavaFX 專案,您可以在其中選擇 Java 版本、cherrypick Gluon 功能、預覽pom.xml等。

 

案例:https : //github.com/gluonhq/gluon-samples

詳細點選標題

相關文章