8個將WEB網頁轉為桌面應用程序的開源方案
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
在這個互聯(lián)時代,Web應用已經無處不在,相比桌面應用,Web應用有其自身的許多優(yōu)勢。但是,在某些應用場景中,通過瀏覽器訪問Web應用程序有時會讓用戶感覺麻煩。比如,用戶總是不小心把瀏覽器關掉,或者總是需要在標簽和應用程序之間切換,這些都可能會破壞生產運行,導致工作混亂。因此,我們需要將網頁轉換為桌面應用程序。 這種方式可以保留Web應用程序的優(yōu)勢,同時還能夠提供更簡化和直觀的用戶體驗,甚至能夠比瀏覽器端的Web更加輕易地實現(xiàn)Web應用與底層操作系統(tǒng)API交互。將Web應用或者網頁轉為桌面應用能夠在一些場景中給用戶帶來便利,但也存在許多挑戰(zhàn)。 Electronhttps://github.com/electron/electron-quick-start Electron.js是一個由GitHub開發(fā)和維護的開源框架。它允許使用Web技術開發(fā)桌面應用程序:它結合了Chromium渲染引擎和Node.js運行時,允許使用HTML、CSS和JavaScript開發(fā)桌面應用程序。 Electron.js有幾個優(yōu)點。它支持快速開發(fā)和原型設計,并擴展了Web應用程序的范圍,因為相同的代碼庫可以同時服務于Web和桌面平臺。它還可以訪問本機OS API,因此Electron應用程序可以像本機應用程序一樣執(zhí)行,訪問低級系統(tǒng)資源。開發(fā)人員可以使用Electron為Web應用或者網站創(chuàng)建桌面應用程序。 另外,如果不需要特殊的功能,只是一個簡單的Web 轉桌面應用,那么可以使用Nativefier。Nativefier 是一個基于Electron的命令行工具,它可以為任何網站創(chuàng)建“桌面應用程序”,將應用程序包裝在適用于Windows,macOS和Linux等系統(tǒng)的操作系統(tǒng)可執(zhí)行文件中。Electron的缺點包括:
https://github.com/wailsapp/wails Wails是一種可以使用Go和Web技術構建桌面應用程序的工具。它將Go代碼和Web前端包裝成一個二進制文件,取代了傳統(tǒng)的內置Web服務器。簡化了項目的創(chuàng)建、編譯和打包等過程。 專為Go后端和NodeJS前端技術而設計,它通過預構建模板簡化了前端的創(chuàng)建,實現(xiàn)JavaScript和Go之間能夠輕松通信,包括從JavaScript調用Go方法和自動生成Typescript定義。 Wails支持本地功能,如:對話框、菜單、暗/亮模式。它在Go和JavaScript之間建立了一個統(tǒng)一的事件系統(tǒng),確保了應用程序的順暢交互。 使用Wails可以輕松地將任何網站、網頁轉換為桌面應用程序,但這需要編碼技能。 03Taurihttps://github.com/tauri-apps/tauri Tauri是一個能夠為所有主要桌面平臺構建微小、快速二進制文件的框架。開發(fā)人員可以集成任何可編譯為HTML、JS和CSS的前端框架來構建用戶界面應用。應用程序的后端是一個帶有API的rust-sourced二進制文件,前端可以與之交互。 Tauri應用程序中的用戶界面目前將tao(Tao是一個跨平臺的應用程序窗口創(chuàng)建和事件循環(huán)管理庫。)作為macOS、Windows、Linux、Android和iOS上的窗口處理庫。為了呈現(xiàn)您的應用程序,Tauri使用WRY,這是一個為系統(tǒng)webview提供統(tǒng)一接口的庫,利用macOS和iOS上的WKWebView、Windows上的WebView2、Linux上的WebKitGTK和Android上的Android系統(tǒng)webview。 Tauri可以成為Electron.js的替代品,由于其使用Rust開發(fā)的引擎,因此相比Electron,其打包的可執(zhí)行文件更加輕量級。 主要功能特性包括:
支持的操作系統(tǒng)平臺包括: 05 Nativefierhttps://github.com/nativefier/nativefier
NativeFier是一個命令行工具,可以將任何網站輕松地創(chuàng)建為“桌面應用程序”。它底層技術使用Electron,Electron是一個基于Chromium的開發(fā)平臺,導出后可執(zhí)行文件可以用于Windows、macOS和Linux操作系統(tǒng)。 這個項目的創(chuàng)建者,其背后的動機是開發(fā)人員在使用Messenger、Whatsapp Web時不得不切換到瀏覽器,并篩選多個打開的標簽時感到繁瑣。使用NativeFier,用戶可以將他們經常訪問的網站轉換為桌面應用程序,從而提供更加直接的訪問方式和更簡化的用戶體驗。 NativeFier的主要功能包括自動檢索應用程序圖標和名稱,注入自定義JS、CSS的能力。 可以通過“npm install -g nativeFier”安裝NativeFier。安裝環(huán)境要求:macOS 10.13+ / Windows / Linux,Node.js ≥ 16.9且npm ≥ 7.10。該工具還具有可選的依賴項,如:用于圖標轉換的ImageMagick或GraphicsMagick,以及用于從非Windows平臺構建Windows應用程序的Wine。 NativeFier也可以使用Docker安裝,直接從Docker Hub中pull鏡像。該工具附帶了擴展的安裝選項,如:Snap AUR,但是這些選項不由NativeFier維護人員管理,建議用戶檢查構建腳本以確保安全性。 06 WebDGaphttps://github.com/michaelsboost/WebDGap WebDGap是一種允許用戶輕松將網站轉換為多平臺桌面應用程序的工具。這是第一個在網絡上發(fā)布并在瀏覽器中運行的同類應用程序。 轉換過程包括輸入應用程序的名稱,加載圖標,并將應用程序的源代碼打包到zip文件中。zip文件需要包含一個index.html文件以及相關的CSS和JavaScript文件。 該工具通過整合各種開源項目,以支持其運行。包括用于開發(fā)用戶界面的Poly UI Kit、jQuery、用于將zip文件打包為Javascript的JSZip、用于將web應用程序作為桌面應用程序運行的node webkit,以及用于通知對話框的AlertyJS。 WebDGap可在MIT許可證下運行,使用NW.js包裝器,能與64位和32位處理器兼容。 但是WebDGap的桌面版本已被棄用。 我們認為,基于命令行的打包,除非需要用到32位CPU,要不然,WebDGap還不如NativeFier。 07 Web2Apphttps://github.com/hamza72x/web2app Web2App是一個可以將任何網頁轉換為輕量級桌面應用程序的工具,打包后的大小僅為3MB左右。支持macOS、Linux和Windows操作系統(tǒng)。對于macOS和Linux,需要首先安裝Rust工具鏈。對于Windows,必須設置Tauri預配置。 可以使用“cargo install web2 app tauri-cli”命令安裝Web2App。它提供了兩種使用模式:帶參數運行、以交互模式運行。交互模式運行方式可以提示用戶輸入應用程序的名稱、URL、描述、版本、作者、標識符、圖標和用戶代理。 Web2App的輸出一般保存在"$HOME/web2app_apps/name"目錄中。
使用交互式:
08 MacGaphttps://macgapproject.github.io/MacGap是一個專為HTML/JS/CSS開發(fā)人員設計的工具,為他們提供了一個Xcode項目,以幫助開發(fā)原生OS X應用程序。這些應用程序在OS X的WebView中運行,并利用WebKit技術,提供了一種有效的方法來創(chuàng)建具有本地功能的基于Web的應用程序。 MacGap的一個關鍵特性是它的JavaScript API,它公開了OS X集成功能。例如,它允許顯示本地通知或將數據寫入文件。此功能對于希望提供更具沉浸式和集成式用戶體驗的Web開發(fā)人員特別有用。 此外,MacGap以其極輕和靈活的特性而聞名。使用MacGap創(chuàng)建的空白應用程序大小不到1MB,表明該工具在效率和最小的資源使用方面十分優(yōu)秀。這使得它成為尋求輕量級但功能強大的工具來創(chuàng)建本機OS X應用程序的開發(fā)人員的絕佳選擇。 它也可以用來為網站制作酷炫桌面應用程序,只需點擊一下就可以流暢地運行。 該文章在 2024/5/15 16:18:50 編輯過 |
關鍵字查詢
相關文章
正在查詢... |