Ooui:在瀏覽器中執行.NET應用
\\\看新聞很累?看技術新聞更累?試試下載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伺服器,你就可以測試所用的程式碼。
相關文章
- 在瀏覽器中執行vscode -DEV瀏覽器VSCodedev
- JS在瀏覽器中的執行機制JS瀏覽器
- 【譯】Go和WebAssembly:在瀏覽器中執行Go程式GoWeb瀏覽器
- 通過 WebAssembly 在瀏覽器執行 PHPWeb瀏覽器PHP
- 瀏覽器執行緒瀏覽器執行緒
- 瀏覽器執行原理瀏覽器
- CheerpX:使用 WebAssembly 在瀏覽器中執行任何程式語言Web瀏覽器
- 如何在瀏覽器中執行 VS Code?瀏覽器
- Browserflow - 在瀏覽器中自動執行重複性任務瀏覽器
- 在Docker容器中執行ASP.NET MVC應用程式DockerASP.NETMVC
- 【Net】CEF瀏覽IISExpress執行Web專案ExpressWeb
- Rust在瀏覽器Wasm和後端伺服器中執行效能比較Rust瀏覽器ASM後端伺服器
- 在 WASI 上執行 .NET 7 應用程式
- 如何在瀏覽器裡開發並執行 SAP UI5 應用瀏覽器UI
- 重學瀏覽器(1)-多程式多執行緒的瀏覽器瀏覽器執行緒
- SAP Corbu Theme 在瀏覽器和 SAPGUI 應用中的使用場景ORB瀏覽器GUI
- 瀏覽器渲染程式多執行緒瀏覽器執行緒
- 瀏覽器EventLoop執行過程解析瀏覽器OOP
- 在瀏覽器上執行 VS Code——GitHub 熱點速覽 v.21.22瀏覽器Github
- 在 OpenFunction 中執行 Serverless 應用FunctionServer
- 瀏覽器多執行緒和js單執行緒瀏覽器執行緒JS
- Docker容器中執行.Net Core應用程式Docker
- 用500行純前端程式碼在瀏覽器中構建一個Tableau前端瀏覽器
- 從一道執行題,瞭解瀏覽器中JS執行機制瀏覽器JS
- Gradio-Lite: 完全在瀏覽器裡執行的無伺服器 Gradio瀏覽器伺服器
- 實現一個簡單的在瀏覽器執行Dotnet編輯器瀏覽器
- 瀏覽器執行javaScript程式碼基礎瀏覽器JavaScript
- 介紹 Turbo:比 Yarn 和 NPM 快 5 倍,可以在本地瀏覽器中執行YarnNPM瀏覽器
- 在瀏覽器中啟用kali-desktop——基於docker瀏覽器Docker
- .Net Core 3.1瀏覽器後端服務(三) Swagger引入與應用瀏覽器後端Swagger
- Rtsp轉Flv在瀏覽器中播放瀏覽器
- Python/Sqlite 程式:瀏覽器應用還是桌面應用?PythonSQLite瀏覽器
- 瀏覽器執行緒執行順序,瞭解一下瀏覽器執行緒
- JavaScript 執行機制-瀏覽器事件迴圈JavaScript瀏覽器事件
- 【總結】瀏覽器的執行緒與程式瀏覽器執行緒
- 關於微軟 Edge 瀏覽器的 Tracking Prevention 特性在 Angular 應用中的影響微軟瀏覽器Angular
- 通過瀏覽器執行cmd命令、啟動steam瀏覽器
- Node.js的勁敵來了:Deno是用於在Web瀏覽器之外執行JavaScript和TypeScript的執行環境Node.jsWeb瀏覽器JavaScriptTypeScript