.NET桌面程序集成Web網(wǎng)頁開發(fā)的十種解決方案

2024-01-07    分類: 網(wǎng)站建設(shè)

B/S架構(gòu)的Web程序幾乎占據(jù)了應(yīng)用軟件的絕大多數(shù)市場,但是C/S架構(gòu)的WinForm、WPF客戶端程序依然具有很實(shí)用的價值,如設(shè)計類軟件 AutoCAD與Autodesk Revit、WPS、IT類的集成開發(fā)環(huán)境(數(shù)據(jù)庫、圖形處理軟件)、PC端的小工具等等,充分利用了客戶端電腦的資源綜合計算能力,處理性能更加優(yōu)秀。如果想在C/S架構(gòu)的客戶端程序中集成Web應(yīng)用,也只能借助Web網(wǎng)頁,然后將網(wǎng)頁集成到客戶端程序中,這樣就間接的達(dá)到了目的。下面是客戶端審圖系統(tǒng)中集成Web網(wǎng)頁的實(shí)際應(yīng)用案例

WinForm程序中集成網(wǎng)頁的基本原理就是通過一個包含類似瀏覽器功能的控件,將Web網(wǎng)頁載入并解析渲染出來。

介紹 WinForm、WPF 集成 Web 網(wǎng)頁的多種技術(shù)方案之前,先了解一下瀏覽器的內(nèi)核。

瀏覽器最重要或者說核心的部分是Rendering Engine,可大概譯為渲染引擎,不過我們一般習(xí)慣將之稱為瀏覽器內(nèi)核。負(fù)責(zé)對網(wǎng)頁語法的解釋(如標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用HTML、JavaScript)并渲染(顯示)網(wǎng)頁。 所以,通常所謂的瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內(nèi)容以及頁面的格式信息。不同的瀏覽器內(nèi)核對網(wǎng)頁編寫語法的解釋也有不同,因此同一網(wǎng)頁在不同的內(nèi)核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁編寫者需要在不同內(nèi)核的瀏覽器中測試網(wǎng)頁顯示效果的原因。

內(nèi)核分類

Trident(MSHTML、IE內(nèi)核)

內(nèi)核被包含在全世界最高的使用率的操作系統(tǒng)中,即為Windows操作系統(tǒng),所以我們又經(jīng)常把它稱之為IE內(nèi)核。

Trident內(nèi)核的常見瀏覽器有:

IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)、IE11360安全瀏覽器(1.0-5.0為Trident,6.0為Trident+Webkit,7.0為Trident+Blink)360極速瀏覽器(7.5之前為Trident+Webkit,7.5為Trident+Blink)百度瀏覽器(早期版本)世界之窗瀏覽器(最初為IE內(nèi)核,2013年采用Chrome+IE內(nèi)核)UC瀏覽器(Webkit內(nèi)核+Trident內(nèi)核)其他等

其中部分瀏覽器的新版本是雙核甚至是多核,其中一個內(nèi)核是Trident,然后再增加一個其他內(nèi)核。國內(nèi)的廠商一般把其他內(nèi)核叫做高速瀏覽模式,而Trident則是兼容瀏覽模式,用戶可以來回切換。

Gecko(Firefox內(nèi)核)

Gecko內(nèi)核常見的瀏覽器:Mozilla Firefox、Mozilla SeaMonkey、waterfox(Firefox的64位開源版)、Iceweasel、Epiphany(早期版本)、Flock(早期版本)、K-Meleon。

Webkit(Safari內(nèi)核,Chrome內(nèi)核原型,開源)

參考網(wǎng)站:https://liulanmi.com/labs/core.html

Blink

Blink是一個由Google和Opera Software開發(fā)的瀏覽器排版引擎,Google計劃將這個渲染引擎作為Chromium計劃的一部分,并且在2013年4月的時候公布了這一消息。這一渲染引擎是開源引擎WebKit中WebCore組件的一個分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用。

瀏覽器內(nèi)核檢測

ie.icoa.cnhttp://mybrowse.osfipin.com

控件1:WebBrowser

微軟WinForm開發(fā)框架中老牌控件。

默認(rèn)基于IE7內(nèi)核,對H5網(wǎng)頁加載支持不完善。只支持單線程模式,大部分對其操作必須在創(chuàng)建它的線程中執(zhí)行,不可以在其它線程中調(diào)用其方法或?qū)傩浴P阅芟鄬^弱。

控件4:CefSharp

CefSharp中文幫助文檔,請點(diǎn)擊查看免費(fèi)、開源:https://github.com/cefsharp/CefSharp支持JS、C、WinForm窗體之間相互通訊與調(diào)用。兼容性較好,支持H5、CSS5、WebGL等。支持獲取Cookies較全面。通過NeGet安裝SDK時,運(yùn)行時環(huán)境會被自動下載到當(dāng)前項目的bin\debug 或者 bin\Release目錄下。導(dǎo)致整個項目非常大,大約110M左右。以獨(dú)立進(jìn)程方式運(yùn)行,消耗內(nèi)存較多。當(dāng)控件Dock屬性設(shè)置為 Fill,客戶端電腦的縮放與布局不是100%時,窗體呈現(xiàn)黑邊(嚴(yán)重bug),并沒有完全填充父容器。

實(shí)際項目應(yīng)用效果如下圖(縮放比例為100%):

呈現(xiàn)的模型是三維BIM模型,里面用到了HTML5、CSS3、WebGL等新技術(shù)。

控件5:Miniblink

Miniblink是一個追求極致小巧的瀏覽器內(nèi)核項目,全世界第三大流行的瀏覽器內(nèi)核控件。其基于chromium最新版內(nèi)核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。Miniblink保持了10M左右的極簡大小,是所有同類產(chǎn)品最小的體積,同時支持windows xp、npapi。

開源地址:https://github.com/weolar/miniblink49/releases

控件6:GeckoFX

GeckoFX是skybound工作室開發(fā)的一個開源的用于方便將gecko引擎(最主要的瀏覽器是firefox)鏈接到.net 窗體應(yīng)用的一個組件。它是用C寫成的,里面有大量的C的注釋,geckofx是最完美的默認(rèn)的iE核心webbrowse控件的替代控件。

控件7:DotNetBrowser

DotNetBrowser能嵌入一個基于Chromium的WPF或WinForms組件到你的.NET應(yīng)用中,用來顯示使用HTML5、CSS3、JavaScript、Silverlight等技術(shù)構(gòu)建的現(xiàn)代網(wǎng)頁。

收費(fèi)

控件8:EO.WebBrowser

官網(wǎng):https://www.essentialobjects.com/Products/WebBrowser/Default.aspx收費(fèi)

控件9:Sciter.Forms

Sciter.Forms是基于Sciter桌面引擎的.NET類庫,支持.net framework4.x、.NET CORE、.NET5及更高版本,支持Windows及Linux桌面系統(tǒng)。

Sciter為桌面UI開發(fā)帶來了一系列web技術(shù)。網(wǎng)頁設(shè)計師和開發(fā)人員可以在創(chuàng)建外觀現(xiàn)代的桌面應(yīng)用程序時重用他們的經(jīng)驗(yàn)和專業(yè)技能。Sciter允許使用經(jīng)過時間驗(yàn)證、健壯且靈活的HTML和CSS來定義GUI,并使用GPU加速渲染。Sciter引擎是一個單一的、緊湊的DLL,大小為5+Mb。使用它的應(yīng)用程序比使用Electron或Qt構(gòu)建的應(yīng)用程序小10倍以上。

官網(wǎng):https://sciter.com/

開源地址:https://gitlab.com/c-smile/sciter-js-sdk

控件10:aardio

官網(wǎng):https://www.aardio.com

aardio專注于桌面軟件開發(fā),17年一直保持非?;钴S地更新,aardio 被多年用于生產(chǎn)項目實(shí)踐,久經(jīng)測試和錘煉。

aardio 小、輕、快,輕便利索,體積僅 6.5MB,學(xué)習(xí)和使用成本極低。aardio 雖然小,但提供了驚人數(shù)量的開源標(biāo)準(zhǔn)庫、擴(kuò)展庫 - 這些庫基本都是由純 aardio 代碼實(shí)現(xiàn),涉及到了桌面編程的方方面面。

最高法原法官王林清一審獲刑14年

讓青春之花在不懈奮斗中絢麗綻放

上海高考將延期一個月舉行

全面落實(shí)取消縣城落戶限制政策

非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:".NET桌面程序集成Web網(wǎng)頁開發(fā)的十種解決方案",僅為提供更多信息供用戶參考使用或?yàn)閷W(xué)習(xí)交流的方便。我們公司提供:網(wǎng)站建設(shè)、網(wǎng)站制作、官網(wǎng)建設(shè)、SEO優(yōu)化、小程序制作等服務(wù),歡迎聯(lián)系我們提供您的需求。

新聞標(biāo)題:.NET桌面程序集成Web網(wǎng)頁開發(fā)的十種解決方案
網(wǎng)頁URL:http://www.bm7419.com/news32/312382.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制網(wǎng)站動態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)