日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

C#桌面开发的未来WebWindow

發(fā)布時間:2023/12/4 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#桌面开发的未来WebWindow 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

WebWindow

WebWindow是跨平臺的庫。Web Window的當(dāng)前實(shí)驗(yàn)實(shí)現(xiàn)可在以下平臺上運(yùn)行:

  • Windows – 需要基于Chromium的Edge

  • Linux – 使用WebKit

  • Mac – 需要Safari

源碼

https://github.com/SteveSandersonMS/WebWindow.git

Zeje Fork的分支:https://github.com/zeje/WebWindow.git

作者博客

https://blog.stevensanderson.com

基于Chromium的Edge

因?yàn)榇蟊娪玫倪€是Windows操作系統(tǒng)(如win 7,win 10)。為了面向大眾,我們在Windows 10下體驗(yàn)下WebWindow。現(xiàn)在下載并安裝基于Chromium的Edge:

下載地址:https://www.microsoft.com/en-us/edge

下載地址:https://www.microsoft.com/en-us/edge/business/download (建議)

中間可能在升級的時候,要求你更新操作系統(tǒng)才可以安裝(安裝過程略)

體驗(yàn)

本人的體驗(yàn)環(huán)境是:

  • Window 10

  • Visual Studio 2019

  • 基于 Chrome的 Edge

體驗(yàn)方式一:

  • 創(chuàng)建一個.NET?Core 3.0的控制臺程序

  • 安裝WebWindow Nuget包

  • 加入啟動代碼

using System; using WebWindows; namespace ZejeDesk.WebWindowApp {class Program{static void Main(string[] args){var window = new WebWindow("擇捷工作室WebWindow體驗(yàn)");window.NavigateToString("<h1 style=\"text-align:center;\">擇捷工作室!</h1> <div style=\"text-align:center;\">WebWindow體驗(yàn)(該桌面窗口為.NET Core 3.1應(yīng)用)</div>");window.WaitForExit();}} }
  • 體驗(yàn)效果


體驗(yàn)方式二:

預(yù)期目標(biāo):

1、不需要依賴.NET Core 3.0

2、僅僅依賴.net framework 4.5便可。

  • Clone下源碼到本地


  • 打開WebWindow.Dev解決方案

  • 搗鼓編譯源碼的事情

可愛又可恨的WebWindow.Native

可愛:它實(shí)現(xiàn)了WebView的調(diào)用;


  • 可恨:對于國情來說,它并不完美;

* 我們需要它對更多的瀏覽器的支持,特別針對雙引擎瀏覽器

* 對于windows底層方法的調(diào)用,并不一定需要原生支持,特別是一些簡單的操作,js + http + webapi的方式完全可以勝任。

  • 編譯的前提條件:WebWindow.Native

  • 安裝C++桌面開發(fā)支持

  • 使用x64編譯WebWindow.Native

搗鼓這個最麻煩,每個人的環(huán)境不一,像我這等C++丟了12年的人(大一學(xué)過)來說,報include異常后完全不知道怎么搞(請教了會C++的朋友也無果),后來好像是更新了操作系統(tǒng)的補(bǔ)丁,重啟后就能正常編譯了。

  • 把WebWindow改成面向多目標(biāo)框架的項(xiàng)目

修改WebWindow.csproj文件

<TargetFramework>netstandard2.1</TargetFramework>

<TargetFrameworks>net45;net451;net452;net46;net461;net471; netstandard2.1;netcoreapp2.0;netcoreapp3.0</TargetFrameworks>

處理掉部分代碼的問題,如:

net45下包System.Runtime.InteropServices.RuntimeInformation的引用問題

  • 在WebWindow.Dev解決方案中,新增.net framework 4.5控制臺應(yīng)用程序ZejeWebWindowApp

  • 在ZejeWebWindowApp中加入WebWindow項(xiàng)目引用

  • 加入啟動代碼

using System; using WebWindows; namespace ZejeWebWindowApp {class Program{static void Main(string[] args){var window = new WebWindow("擇捷工作室WebWindow體驗(yàn)");window.NavigateToString("<h1 style=\"text-align:center;\">擇捷工作室!</h1> <div style=\"text-align:center;\">WebWindow體驗(yàn)(該桌面窗口為.NET FrameWork 4.5應(yīng)用)</div>");window.WaitForExit();}} }
  • 修改項(xiàng)目配置

  • 體驗(yàn)效果

遺留的問題

  • 怎么兼容國產(chǎn)瀏覽器?

  • 怎么支持x86?

  • 其他需要調(diào)用windows底層方法如何處理?

這些都不是不懂C++的我能左右的,希望.NET的C++高手們貢獻(xiàn)點(diǎn)力量吧!

總結(jié)

以上是生活随笔為你收集整理的C#桌面开发的未来WebWindow的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。