Ooui:在浏览器中运行.NET应用
看新聞很累?看技術(shù)新聞更累?試試下載InfoQ手機(jī)客戶端,每天上下班路上聽新聞,有趣還有料!
\\\在過去數(shù)年中,桌面應(yīng)用開發(fā)人員一直處境艱難,因?yàn)槿藗兊闹饕P(guān)注點(diǎn)聚焦于Web和移動應(yīng)用。由于Microsoft未來Windows平臺的計(jì)劃未定,并且UWP應(yīng)用也沒有突破性進(jìn)展,因此技術(shù)落伍的責(zé)任也不應(yīng)由.NET開發(fā)人員來承擔(dān)。當(dāng)前迫切需要解決的挑戰(zhàn),是提供一種可運(yùn)用這些開發(fā)人員在C#上知識積累的新方式。
\\這正是近期一些在瀏覽器上使用C#的工作吸引關(guān)注之處。今年早期,Microsoft宣布他們對Blazor的支持。最近,Frank A. Krueger宣布開發(fā)完成Ooui軟件庫。Ooui支持將C#或F#用于編寫可運(yùn)行在瀏覽器中的應(yīng)用。Ooui支持以WASM為編譯目標(biāo),這樣Xamarin.Forms應(yīng)用就可以部署到WebAssemly中,無需應(yīng)用服務(wù)器即可完全運(yùn)行在瀏覽器中。
\\據(jù)Krueger介紹,WASM并非唯一受支持的平臺,其它可用的編譯目標(biāo)還包括使用ASP.NET Core的Web DOM、WebAssembly以及Ooui內(nèi)建的Web服務(wù)器。技術(shù)的底層工作機(jī)制如下:對于WebAssembly項(xiàng)目,所有的Web瀏覽器與應(yīng)用間通信發(fā)生在進(jìn)程內(nèi)。對于其它項(xiàng)目,則使用WebSockets進(jìn)行“瀏覽器-應(yīng)用”間通信,以保持UI和應(yīng)用狀態(tài)的同步。
\\Krueger還給出了一些概念驗(yàn)證演示,有效地展示了上述理念。其中包括一個(gè)基本的XAML編輯器,演示了如何實(shí)現(xiàn)瀏覽器內(nèi)的XAML編輯,并實(shí)時(shí)顯示更改情況。此外,演示中還提供了一組樣例代碼,展示了Xamarin.Forms和基本W(wǎng)eb控件的使用。
\\上手Ooui開發(fā)非常簡單。你首先需要在.NET Core中新建一個(gè)Console應(yīng)用,并添加對Ooui.Wasm和Ooui.Forms的引用。然后使用通常使用的dotnet去構(gòu)建應(yīng)用,就可以部署應(yīng)用了。進(jìn)而,通過使用dotnet-server,或是將dist目錄中的文件拷貝到任何一種可提供靜態(tài)文件的Web服務(wù)器,你就可以測試所用的代碼。
\\查看英文原文: Running .NET in the Browser with Ooui
總結(jié)
以上是生活随笔為你收集整理的Ooui:在浏览器中运行.NET应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac安装MySQL数据库
- 下一篇: (WPF, MVVM) Event 处理