一款開源的跨平臺實時web應用框架——DotNetify

今天給大家介紹一個開源的輕量級跨平臺實時HTML+C#.NET Web應用程序開發框架——DotNetify,允許你在C#.NET后端上創建具有React、React Native、Vue或Blazor 前端的實時、響應式、跨平臺應用程序。

它的主要特點是:

  • 簡單且輕量

  • 響應式后端MVVM

  • 內置實時解決方案

  • 跨平臺

  • 強大的基礎設施

簡單輕量

不再需要編寫冗長的RESTAPI,也不需要使用復雜的Javascript框架來實現您所追求的復雜的、高交互性的單頁應用程序。學習起來還是很快,而且代碼量很少,不管是前端還是后端。

bc65a755f0b9472195cd2478df507976.png

響應式后端MVVM

集成SignalR以及流行的前端用戶界面庫,可以支持響應式后端驅動的mvvm體系結構,這樣就避免前端的業務邏輯過多,保持瘦客戶端。此體系結構允許大多數應用程序邏輯位于服務器端,通過.NET視圖模型調用響應模型使數據進出視圖。這種數據綁定機制是內置的,不必按照開發人員使用服務和WebAPI的方式編寫。而且dotNetify不來回穿梭整個視圖模型狀態,但是智能的只發送被改變的東西。它有一種機制,可以將客戶端Javascript或類型記錄合并到處理UI邏輯的方式,從而使代碼更像是視圖模型的自然擴展,并允許您完全控制何時將數據發送回服務器。

a51379fa062094cce95d4a3e6fb50f78.png

內置實時框架

應用程序通過非常強大的SignalR技術進行通信,該技術允許服務器立即將內容推送給可用客戶端。SignalR使用WebSocket,它的開銷比HTTP小得多。當dotnetify的架構和SignalR結合在一起時,它們形成了一種幾乎毫不費力的方式,可以通過網絡實現實時通知,非常適合物聯網用戶應用程序,而且它的SingalR 提供了類似于Azure SingalR服務能力,使 dotNetify 應用可以在本地或非 Azure 云提供商上使用代理橫向擴展選項所做的努力,具體參見:https://dsuryd.github.io/dotNetify/scale-out/。

99543ac03f0a96200a942c8e8d109b4f.png

跨平臺.NET

在ASP.NET Core、ASP.NET 上運行。利用.NET平臺提供的強大語言和工具支持。一些任務,如管理模塊和名稱空間、視圖之間的通信、抽象、服務注入等等,可以在服務器端快速而優雅地完成,而不需要花費大量的精力才能在Javascript中得到正確的處理。

279cda7114df6a772dadd7d29722680b.png

強大的基礎設施

基礎設施包括動態路由可以在后端完全定義的機制,能夠進行深度鏈接和嵌套路由,基于令牌的認證, 依賴注入,WebSocket請求和響應管道。所有這些都可以模塊化的方式實現,只需幾行代碼即可實現。

c1804f4a68b47b25b52d885d65a0838b.png

下面我們以React 模板來體驗一下,體驗過程參考?https://github.com/dsuryd/dotNetify-react-template

  • 首頁面板(這個頁面是動態的)

4964154e5dbcd84a512853240e5fab74.png

整個項目使用了基于React的Material-UI組件構建的,頁面風格比較現代化。非常適合當前大多數應用的開發。整個項目模板內置以下功能模塊:

  • 實時儀表板頁面

  • 編輯表單+CRUD表頁

  • 使用JWT承載令牌身份驗證的登錄頁面。

  • Material-UI組件

  • 有深鏈路的路由。

  • Webpack熱模塊替換+DotNet監視器.

  • OpenID連接/OAuth2認證服務器

項目官網:https://dotnetify.net/?,官網上提供了非常詳細的文檔。

github:https://github.com/dsuryd/dotnetify

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286522.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286522.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286522.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【GeoDataBase】Geodatabase智能化操作:屬性域

Geodatabase中所包含的不僅僅是要素類、要素集和表,還可能包含關系類、注釋類、幾何網絡、拓撲等不同的結構和類別。 地理數據庫按照面向對象的模型存儲地理信息,也可以將其非空間信息保存在表中。對于要素和表可以設置一些規則進行限制,對屬性的約束稱為屬性域。 屬性域是描…

Android之All children of ConstraintLayout must have ids to use ConstraintSet

1 問題 Fatal Exception: java.lang.RuntimeException: All children of ConstraintLayout must have ids to use ConstraintSetat androidx.constraintlayout.widget.ConstraintSet.readFallback(ConstraintSet.java:459)at androidx.constraintlayout.motion.widget.MotionS…

Lua性能優化

規則1:不要優化。 規則2:仍然不要優化(專家除外) 當用Lua編程時,這兩條規則顯得尤為重要。Lua以性能著稱,而且在腳本語言中也因此而值得贊美。 然而,我們都知道性能是編程的一個關鍵因素。具有復…

常用的LINQ to SQL 用法

一、Where操作 適用場景:實現過濾,查詢等功能。 說明:與SQL命令中的Where作用相似,都是起到范圍限定也就是過濾作用的,而判斷條件就是它后面所接的子句。 Where操作包括3種形式,分別為簡單形式、關系條件形…

用Python寫一個將Python2代碼轉換成Python3代碼的批處理工具

之前寫過一篇如何在windows操作系統上給.py文件添加一個快速處理的右鍵功能的文章:《一鍵將Python2代碼自動轉化為Python3》,作用就是為了將Python2的文件升級轉換成Python3的文件。之后,有朋友問,如果有很多文件需要轉換&#xf…

WP 手機Lumia 820 鎖屏密碼的POJI研究

Windows Phone lumia 手機鎖屏密碼的POJI研究大家好今天給大家分享一個最新研究案例,近日筆者Nokia Lumia 820,由于客戶密碼失誤太多,導致鎖屏23000余分鐘,,請看:型號Nokia Lumia820條件:Lumia8…

ArcGIS10從入門到精通系列實驗圖文教程(附配套實驗數據持續更新)

文章目錄1. 專欄簡介2. 專欄地址3. 專欄目錄1. 專欄簡介 本教程《ArcGIS從入門到精通系列實驗教程》內容包括:ArcGIS平臺簡介、ArcGIS應用基礎、空間數據的采集與組織、空間數據的轉換與處理、空間數據的可視化表達、GIS空間分析導論、矢量數據的空間分析、柵格數據…

【iVX 初級工程師培訓教程 10篇文拿證】09 聊天室制作

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

為什么Dapr是比SpringCloud和Istio更優雅的微服務框架?

作者:徐磊文章首發地址:https://smartide.cn/zh/blog/2022-0601-dapr/Dapr 是微軟主導的云原生開源項目,2019年10月首次發布,到正式發布 V1.0 版本的不到一年的時間內,github star 數達到了 1.2萬(現在已經…

Android之模擬網絡請求返回http 502、400、401、402錯誤碼

1 問題 app 網絡框架協程沒有做網絡異常捕獲處理,想本地測試網絡接口,希望網絡接口返回Http的錯誤碼 比如502、400、401、402 2 解決辦法 1、pc安裝Fiddler Everywhere 2、讓Fiddler Everywhere支持抓http和https的包 3、保持手機和電腦同一個局域網&am…

12c分頁查詢特性FETCH FIRST ROWS,OFFSET ROWS FETCH NEXT ROW LIMIT Clause子句

Database 12c的FETCH FIRST ROWS特性可以簡化老版本中ROW_NUM()或ROWNUM的分頁排序寫法, 大幅節約開發花在分頁查詢語句上的時間。 row-limiting子句用以限制某個查詢返回的行數 可以通過FETCH FIRST/NEXT關鍵字指定返回結果的行數可以通過PERCENT關鍵字指定返回結果…

tomcat結合nginx使用小結

tomcat結合nginx部署 相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。那究竟它有什么作用呢?可能很多人未必了解。 說到反向代理,可能很多人都聽說,但具體什么是反向代理,很多人估計就不清楚了。…

如何學好GIS,徹底領悟這幾句話就夠了!!!

目 錄前言1. GIS起源于地圖學2. GISer心中要有地圖3. 空間數據是GIS的血液4. 空間分析是GIS的靈魂5. GIS是智慧城市的操作系統前言 地理信息系統 (GIS)是以可視化和分析地理配準信息為目的,用于描述和表征地球及其他地理現象的一種系統。 地…

【iVX 初級工程師培訓教程 10篇文拿證】07 08 新聞頁制作

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

【WEB API項目實戰干貨系列】- WEB API入門(一)

這篇做為這個系列的第一篇,做基本的介紹,有經驗的人可以直接跳到第二部分創建 ProductController。創建 Web API 項目 在這里我們使用VS2013, .NET 4.5.1創建一個Web API 2的項目選擇項目WEB API模板, 在最下方的MVC主要是默認會自帶微軟的API Helper, 使…

父元素 高度固定,如何使其中的文字垂直居中?

方法一&#xff1a; 設置父元素高度&#xff0c;設置子元素行高垂直居中 <style> *{padding: 0;margin:0;font-size: 12px;} div{float: left;width: 200px;height:200px;margin: 10px;border:1px solid blue; line-height: 200px;} span{display: inline-block;verti…

Android之打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去

1 需求 打開繼承DialogFragment對話框里面EditText獲取光標并且彈出鍵盤把底部布局頂上去 2 效果爆照如下 打開這個DialogFragment 3 關鍵代碼實現 override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)…

驅動介紹

關于驅動驅動&#xff08;也稱連接器&#xff09;是對傳統的數據采集程序的標準化&#xff0c;驅動可以作為你的資產進行管理系統為每個設備創建一個驅動實例通過反射創建驅動實例驅動不可以是靜態的驅動要繼承IDriver接口驅動內需要通過web配置的屬性(支持枚舉等基本類型),上要…

【iVX 初級工程師培訓教程 10篇文拿證】06 數據庫及服務

目錄 【iVX 初級工程師培訓教程 10篇文拿證】01 了解 iVX 完成新年賀卡 【iVX 初級工程師培訓教程 10篇文拿證】02 數值綁定及自適應網站制作 【iVX 初級工程師培訓教程 10篇文拿證】03 事件及猜數字小游戲 【iVX 初級工程師培訓教程 10篇文拿證】04 畫布及我和 iVX 合照 【iV…

memcached安裝和php擴展memcache安裝

1.準備安裝包: libevent-2.1.8-stable.tar.gz memcached-1.5.0.tar.gz memcache-2.2.7.tgz 2.安裝libevent tar xf /opt/libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable mkdir /usr/local/libevent ./configure --prefix/usr/local/libevent make && make …