WPF+HTML5混合開發

       做wpf和html混合開發也有一段時間了,從傳統桌面開發WPF轉到web前端,有相通之處,也有差別比較大的地方,xaml到html都是類似xml的結構,style和web的style類似,而業務邏輯,前者一般是C#實現,後者一般是js,加上之前的學習過,使用起來還算順手,但總的感覺是WPF開放比html開發方便太多,可能是前者接觸更久的緣故,畢竟微軟的東西,有自己一套成熟的體系,封裝的系統且友好,而html與js,有vue.js,react.js等熱門前端框架,無論是擴展性,豐富性,社區活躍度都比WPF要好

     說到混合開發,主的是CefSharp這個插件,提供一個Chrome瀏覽器的環境,這個插件,爲C#的界面框架winform和wpf的都有支持,兩個版本,具體插件安裝和使用,網上有很大,就不贅述了,在這裏,我主要說下我在使用過程種遇到的問題

1.環境要求

 .net framework 4.5.2 以及 和 VC++ 2015 runtime (x86/x64)  ,這兩個環境,我是在用Inno Setup 打包的時候通過腳本判斷安裝的

C++的運行環境和CefSharp的版本有關,我用的是65的版本,最低要求VC++2015

2.C#和JS的交互

JS調用C#很簡單,通過browser.RegisterJsObject(參數1, 參數2),參數2爲C#種實例類的對象,參數1爲C#中可以直接訪問的對象,js中通過 參數1.方法,調用方法或屬性,vue框架全局都可以訪問。

但是C#調用JS,一種方式是把js中的方法和變量開放到打包好的index.html中,我在Vue中沒有找到對應的方法,如果誰有方法,可以寫在留言裏。於是採用了一個笨方法,通過browser.EvaluateScriptAsync("Js代碼")拿到標籤中的值,或執行html標籤上綁定的方法,如果沒有對應標籤,寫一個隱藏的標籤,可以通過這種方式,達到C#與js的互相調用

     CefSharp 中文參考文檔,看了不少文檔,還是官方的最全面,遇到問題,先要從官方文檔找,基本都有說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章