Ooui:在瀏覽器中執行.NET應用

weixin_33858249發表於2018-04-23
\

看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!

\
\\

在過去數年中,桌面應用開發人員一直處境艱難,因為人們的主要關注點聚焦於Web和移動應用。由於Microsoft未來Windows平臺的計劃未定,並且UWP應用也沒有突破性進展,因此技術落伍的責任也不應由.NET開發人員來承擔。當前迫切需要解決的挑戰,是提供一種可運用這些開發人員在C#上知識積累的新方式。

\\

這正是近期一些在瀏覽器上使用C#的工作吸引關注之處。今年早期,Microsoft宣佈他們對Blazor的支援。最近,Frank A. Krueger宣佈開發完成Ooui軟體庫。Ooui支援將C#或F#用於編寫可執行在瀏覽器中的應用。Ooui支援以WASM為編譯目標,這樣Xamarin.Forms應用就可以部署到WebAssemly中,無需應用伺服器即可完全執行在瀏覽器中。

\\

據Krueger介紹,WASM並非唯一受支援的平臺,其它可用的編譯目標還包括使用ASP.NET Core的Web DOM、WebAssembly以及Ooui內建的Web伺服器。技術的底層工作機制如下:對於WebAssembly專案,所有的Web瀏覽器與應用間通訊發生在程式內。對於其它專案,則使用WebSockets進行“瀏覽器-應用”間通訊,以保持UI和應用狀態的同步。

\\

Krueger還給出了一些概念驗證演示,有效地展示了上述理念。其中包括一個基本的XAML編輯器,演示瞭如何實現瀏覽器內的XAML編輯,並實時顯示更改情況。此外,演示中還提供了一組樣例程式碼,展示了Xamarin.Forms和基本Web控制元件的使用。

\\

上手Ooui開發非常簡單。你首先需要在.NET Core中新建一個Console應用,並新增對Ooui.Wasm和Ooui.Forms的引用。然後使用通常使用的dotnet去構建應用,就可以部署應用了。進而,通過使用dotnet-server,或是將dist目錄中的檔案拷貝到任何一種可提供靜態檔案的Web伺服器,你就可以測試所用的程式碼。

\\

檢視英文原文: Running .NET in the Browser with Ooui

相關文章