cheerpj 3.0 標誌著在瀏覽器中使用 WebAssembly 部署應用程式的重大進展,尤其是 j**a 應用程式。
翻譯自 cheerpj 30:使用 WebAssembly 在瀏覽器中執行應用程式,作者:bCameron Gain是Revecom Media的創始人兼首席分析師。 在 20 世紀 80 年代初,他入侵了 Space Invaders 遊戲機,該遊戲機只需 25 美分就可以玩一整天遊戲,從那時起,他就對電腦著迷。 cheerpj3.0 展示了 WebAssembly 在瀏覽器中的乙個有趣的應用,展示了它在部署和執行用 J**A 編寫的複雜應用程式和執行時環境方面的潛力。 開發人員可以建立任何語言的應用程式,只需單擊一下即可打包它們,使它們可供終端使用者測試和使用。 雖然 cheerpj 30 的開發仍在繼續,但它代表了使用 WebAssembly 在瀏覽器中部署應用程式的重要一步,尤其是使用 j**a。 這補充了其他專注於加密的專案,以及將用 C++ 編寫的應用程式部署到瀏覽器中的能力。
帶啦啦隊 30,該公司聲稱 J**A 客戶端應用程式,例如 J**A 小程式、J**A Web Start 應用程式和獨立的 J**A 應用程式,無需修改即可在現代瀏覽器上執行,也無需本地 J**A 安裝。 這個想法是使執行時環境(在本例中為 j**a)執行得更好,就像使用者擁有端點伺服器的資源可以在瀏覽器中自由執行一樣。 “就像 docker 允許你在計算機上執行二進位容器一樣,你需要有一種技術,使你能夠在瀏覽器中執行二進位工作負載,就像在普通平台作業系統上一樣。 Leaning Technologies首席執行官兼創始人Stefano Marco Maria de Rossi向The New Stack透露。 設定 cheerpj 3該公司表示,0 相當簡單,在文件中清楚地概述了步驟,並且與絕大多數瀏覽器相容。 說到遊樂場,將 PDF 檔案與 cheerpj itext 合併非常簡單。 使用者只需在API中輸入PDF檔案,點選幾下滑鼠,檔案就會被合併到“瀏覽器”中。 您需要先訪問iText演示頁面:
上傳要合併的 PDF 檔案,然後按照提示合併文件:
按照提示合併 PDF 檔案:
如上例所示,這可以在 cheerpj 3 中找到0 webassembly 模組,以便跨瀏覽器分發和執行任何用 j**a 編寫的應用程式,至少在理論上是這樣。 在不久的將來,將有更多有趣的應用程式在瀏覽器中執行 cheerpj。 Leaning Technologies 提供了乙個更有趣的例子,展示了它如何通過 Cheerpj 在瀏覽器中啟用 J**A 是 BrowserCraft,它允許在瀏覽器中執行 Minecraft 遊戲,以便使用者可以直接(免費)玩遊戲:
文件將歡呼pj 30 被描述為乙個 WebAssembly JVM(如上所述),它在瀏覽器中將 j**a 位元組碼編譯為 j**ascript,其元件包括:用於 j**a 位元組碼的 WebAssembly JVM 和乙個實時編譯器。 對類檔案中包含的 ** 進行編譯和優化。 JIT 編譯器支援高階優化,例如內聯和動態虛擬化。
完整且未經修改的 OpenJDK 版本。
虛擬化系統層由以下部分組成:
通過HTTP訪問資產的虛擬化檔案系統,通過IndexedDB提供本地持久化RW儲存,通過STR與J**Ascript資料進行互動。
虛擬化網路支援通過尾部提供。 支援伺服器和客戶端應用程式。
正如 De Rossi 所指出的,如果不使用 WebAssembly,開發人員必須分別使用 x86、Linux 或其他目標架構的執行時,無論是使用 rust、c++、python、j**a 還是任何其他語言。 ** 編譯為在不同平台上執行。 但 WASM 代表著乙個統一的目標。 “關鍵的區別在於,WasM是獨一無二的,無論你的瀏覽器是Linux上的Chrome、macOS上的Safari還是Windows上的Firefox。 德羅西說。 最終,wasm 創造了這種抽象,允許工具製造商為幾乎任何語言建立工具。 是的,隨著 wasm 變得越來越強大,越來越像原生平台,未來會出現越來越多的語言。 ”