如何使用JavaFX和GraalVM建立移動App?
本文介紹了 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
詳細點選標題
相關文章
- Windows下使用Graalvm將Javafx應用編譯成exeWindowsLVMJava編譯
- TODO: JavaFX appJavaAPP
- javafx 和swing_整合JavaFX和SwingJava
- 在Linux中,如何建立、移動和刪除檔案和資料夾?Linux
- javafx和swing巢狀使用的方法Java巢狀
- JavaFx 建立快捷方式及設定開機啟動Java
- CAD移動命令如何使用
- 使用 .NET MAUI 建立移動應用——Get StartUI
- 如何建立適合移動裝置的文件
- 如何使用IPFS和Filecoin建立NFT
- JavaFx WebView使用研究JavaWebView
- 整合JavaFX和SwingJava
- 如何使用 WebRTC 與 Kurento 建立視訊會議 AppWebAPP
- JavaFX 如何使用內建的對話方塊Java
- showdoc 推出移動版 AppAPP
- 小談移動APP安全APP
- 如何使用網紅營銷推廣移動App產品:從入門到上手APP
- Three.js開發指南(9):建立動畫和移動相機JS動畫
- GraalVM快速參考指南 - graalvmLVM
- 使用Spring GraalVM Native外掛提高SpringBoot啟動時間94%LVMSpring Boot
- 使用Spring Boot和GraalVM在Knative上構建微服務 - piotrSpring BootLVM微服務
- App Annie:COVID-19如何影響消費者使用移動裝置的習慣APP
- 全球12大移動支付AppAPP
- win10移動熱點未建立乙太網怎麼辦_win10移動熱點如何建立乙太網Win10
- 移動CRM系統使用起來如何
- JavaFx ObservableList的使用詳解Java
- 巨好用的移動app安全測試工具分享,移動app測試需要多少費用?APP
- 如何實現婚戀app原始碼移動端網頁特效?APP原始碼網頁特效
- 動態連結庫(DLL)的建立和使用
- 移動APP啟動慢解決實踐APP
- App Annie:2020年移動報告APP
- NAS上如何建立和使用加密資料夾?加密
- 移動APP開發框架盤點2:Web移動前端框架大全APP框架Web前端
- jvm GraalVMJVMLVM
- 『言善信』Fiddler工具 — 16、使用Fiddler抓取移動端App請求APP
- App Annie:2019 年餐廳和外賣領域移動現狀APP
- 區塊鏈社交APP如何在移動社交時代脫穎而出區塊鏈APP
- 移動app測試存在著哪些挑戰?專業移動app測試報告在哪申請?APP測試報告