2024-01-07 分類: 網(wǎng)站建設
B/S架構的Web程序幾乎占據(jù)了應用軟件的絕大多數(shù)市場,但是C/S架構的WinForm、WPF客戶端程序依然具有很實用的價值,如設計類軟件 AutoCAD與Autodesk Revit、WPS、IT類的集成開發(fā)環(huán)境(數(shù)據(jù)庫、圖形處理軟件)、PC端的小工具等等,充分利用了客戶端電腦的資源綜合計算能力,處理性能更加優(yōu)秀。如果想在C/S架構的客戶端程序中集成Web應用,也只能借助Web網(wǎng)頁,然后將網(wǎng)頁集成到客戶端程序中,這樣就間接的達到了目的。下面是客戶端審圖系統(tǒng)中集成Web網(wǎng)頁的實際應用案例
WinForm程序中集成網(wǎng)頁的基本原理就是通過一個包含類似瀏覽器功能的控件,將Web網(wǎng)頁載入并解析渲染出來。
介紹 WinForm、WPF 集成 Web 網(wǎng)頁的多種技術方案之前,先了解一下瀏覽器的內核。
瀏覽器最重要或者說核心的部分是Rendering Engine,可大概譯為渲染引擎,不過我們一般習慣將之稱為瀏覽器內核。負責對網(wǎng)頁語法的解釋(如標準通用標記語言下的一個應用HTML、JavaScript)并渲染(顯示)網(wǎng)頁。 所以,通常所謂的瀏覽器內核也就是瀏覽器所采用的渲染引擎,渲染引擎決定了瀏覽器如何顯示網(wǎng)頁的內容以及頁面的格式信息。不同的瀏覽器內核對網(wǎng)頁編寫語法的解釋也有不同,因此同一網(wǎng)頁在不同的內核的瀏覽器里的渲染(顯示)效果也可能不同,這也是網(wǎng)頁編寫者需要在不同內核的瀏覽器中測試網(wǎng)頁顯示效果的原因。
內核分類
Trident(MSHTML、IE內核)內核被包含在全世界最高的使用率的操作系統(tǒng)中,即為Windows操作系統(tǒng),所以我們又經常把它稱之為IE內核。
Trident內核的常見瀏覽器有:
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內核,2013年采用Chrome+IE內核)UC瀏覽器(Webkit內核+Trident內核)其他等其中部分瀏覽器的新版本是雙核甚至是多核,其中一個內核是Trident,然后再增加一個其他內核。國內的廠商一般把其他內核叫做高速瀏覽模式,而Trident則是兼容瀏覽模式,用戶可以來回切換。
Gecko(Firefox內核)Gecko內核常見的瀏覽器:Mozilla Firefox、Mozilla SeaMonkey、waterfox(Firefox的64位開源版)、Iceweasel、Epiphany(早期版本)、Flock(早期版本)、K-Meleon。
Webkit(Safari內核,Chrome內核原型,開源)參考網(wǎng)站:https://liulanmi.com/labs/core.html
BlinkBlink是一個由Google和Opera Software開發(fā)的瀏覽器排版引擎,Google計劃將這個渲染引擎作為Chromium計劃的一部分,并且在2013年4月的時候公布了這一消息。這一渲染引擎是開源引擎WebKit中WebCore組件的一個分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex瀏覽器中使用。
瀏覽器內核檢測
ie.icoa.cnhttp://mybrowse.osfipin.com控件1:WebBrowser
微軟WinForm開發(fā)框架中老牌控件。
默認基于IE7內核,對H5網(wǎng)頁加載支持不完善。只支持單線程模式,大部分對其操作必須在創(chuàng)建它的線程中執(zhí)行,不可以在其它線程中調用其方法或屬性。性能相對較弱。控件4:CefSharp
CefSharp中文幫助文檔,請點擊查看免費、開源:https://github.com/cefsharp/CefSharp支持JS、C、WinForm窗體之間相互通訊與調用。兼容性較好,支持H5、CSS5、WebGL等。支持獲取Cookies較全面。通過NeGet安裝SDK時,運行時環(huán)境會被自動下載到當前項目的bin\debug 或者 bin\Release目錄下。導致整個項目非常大,大約110M左右。以獨立進程方式運行,消耗內存較多。當控件Dock屬性設置為 Fill,客戶端電腦的縮放與布局不是100%時,窗體呈現(xiàn)黑邊(嚴重bug),并沒有完全填充父容器。實際項目應用效果如下圖(縮放比例為100%):
呈現(xiàn)的模型是三維BIM模型,里面用到了HTML5、CSS3、WebGL等新技術。
控件5:Miniblink
Miniblink是一個追求極致小巧的瀏覽器內核項目,全世界第三大流行的瀏覽器內核控件。其基于chromium最新版內核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。Miniblink保持了10M左右的極簡大小,是所有同類產品最小的體積,同時支持windows xp、npapi。
開源地址:https://github.com/weolar/miniblink49/releases控件6:GeckoFX
GeckoFX是skybound工作室開發(fā)的一個開源的用于方便將gecko引擎(最主要的瀏覽器是firefox)鏈接到.net 窗體應用的一個組件。它是用C寫成的,里面有大量的C的注釋,geckofx是最完美的默認的iE核心webbrowse控件的替代控件。
控件7:DotNetBrowser
DotNetBrowser能嵌入一個基于Chromium的WPF或WinForms組件到你的.NET應用中,用來顯示使用HTML5、CSS3、JavaScript、Silverlight等技術構建的現(xiàn)代網(wǎng)頁。
收費控件8:EO.WebBrowser
官網(wǎng):https://www.essentialobjects.com/Products/WebBrowser/Default.aspx收費控件9:Sciter.Forms
Sciter.Forms是基于Sciter桌面引擎的.NET類庫,支持.net framework4.x、.NET CORE、.NET5及更高版本,支持Windows及Linux桌面系統(tǒng)。
Sciter為桌面UI開發(fā)帶來了一系列web技術。網(wǎng)頁設計師和開發(fā)人員可以在創(chuàng)建外觀現(xiàn)代的桌面應用程序時重用他們的經驗和專業(yè)技能。Sciter允許使用經過時間驗證、健壯且靈活的HTML和CSS來定義GUI,并使用GPU加速渲染。Sciter引擎是一個單一的、緊湊的DLL,大小為5+Mb。使用它的應用程序比使用Electron或Qt構建的應用程序小10倍以上。官網(wǎng):https://sciter.com/
開源地址:https://gitlab.com/c-smile/sciter-js-sdk
控件10:aardio
官網(wǎng):https://www.aardio.comaardio專注于桌面軟件開發(fā),17年一直保持非?;钴S地更新,aardio 被多年用于生產項目實踐,久經測試和錘煉。
aardio 小、輕、快,輕便利索,體積僅 6.5MB,學習和使用成本極低。aardio 雖然小,但提供了驚人數(shù)量的開源標準庫、擴展庫 - 這些庫基本都是由純 aardio 代碼實現(xiàn),涉及到了桌面編程的方方面面。
最高法原法官王林清一審獲刑14年
讓青春之花在不懈奮斗中絢麗綻放
上海高考將延期一個月舉行
全面落實取消縣城落戶限制政策
非常感謝您讀完創(chuàng)新互聯(lián)的這篇文章:".NET桌面程序集成Web網(wǎng)頁開發(fā)的十種解決方案",僅為提供更多信息供用戶參考使用或為學習交流的方便。我們公司提供:網(wǎng)站建設、網(wǎng)站制作、官網(wǎng)建設、SEO優(yōu)化、小程序制作等服務,歡迎聯(lián)系我們提供您的需求。
新聞標題:.NET桌面程序集成Web網(wǎng)頁開發(fā)的十種解決方案
網(wǎng)頁URL:http://www.rwnh.cn/news32/312382.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、定制網(wǎng)站、動態(tài)網(wǎng)站、App開發(fā)、網(wǎng)站建設、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容