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