.Net三种实现以及跨平台
作為一個.Net 程序員,當別人跟你提到.Net的時候,如果你的第一反應還只是.Net Framework,那么你已經落伍了。由于Net的跨平臺已經慢慢與趨向于完整,從最初的momo項目到現在.Net Core的,.Net的實現已經不僅僅是.Net Framework一種,它應該還包括:.Net Core 和 Xamarin。接下來,我們分別簡單的談談這幾種技術:
.Net Frameowrk
相對于這個大家應該都不陌生,像Windows Form, WPF, asp.net(包括MVC),Workflow等等的技術,都是屬于這一大框架。
.Net Core
目前這一實現下,我們可以開發兩種類型的項目一種是.Net Core Console App 和Asp .Net Core Web Application。這兩種類型的程序都是跨平臺的實現,也就是說當你開發者兩種程序時,都是可以運行在Lunix平臺上的。一種是控制臺程序,一種是網站。其實在最新的官方博客中,把UWP(Universal Windows Platform)也歸入到了.Net Core這個平臺中。UWP能開發運行于所有Windows設備的應用程序,包括桌面,平板,手機(雖然微軟已經宣布停止了Windows
Phone這個項目),XBox等等,是一種基于Windows的跨設備統一平臺
Xamarin
這個的前身其實就是momo,在2016年時候已經被微軟收購并且隨之開源。使用Xamarin我們可以開發運行于蘋果設備上的程序包括手機和平板,也可以開發安卓手機以及其它安卓設備的程序。
基于以上三種.Net實現,我們應該能感受到微軟在跨平臺這方面做出的努力。從表現層Xamarin到后臺的Asp.Net Core,微軟在跨平臺的布局也基本已經完成。但是也正是由于越來越多的.Net實現,他們都基于不同的API有了各自的實現擁有了不同的類庫,對于一個開發者是極其不方便的。所以微軟推出了.Net Standard。
.Net Standard
.Net Standard的目的是為了解決不同.Net實現之間的代碼共用,因此.Net Standard擁有一個非常重要特點:.Net Standard定義了一系列的API,而所有的.Net實現都必須實現這些API,也就是說上面說到的三種.Net實現都必須實現這一套API,因此.Net Standard 的代碼能夠被共享。
為了能夠更新的理解,我們可以看兩張圖。在.Net Standard推出之前,3個平臺都是自己的類庫,所以代碼無法被共享:
值得一提的是,在.Net Standard推出之前,為了實現UWP和和Xamarin之間的代碼共享,微軟推出了Portable Class Libraries(PCL)。但是這種類型的類庫最終會被.Net Standard取代,已有的PCL也可以有辦法升級到.Net Standard。
而在推出.Net Standard以后,3種.Net平臺可以代碼共享:
以上就是目前.Net平臺的三種實現和跨平臺。
總結
以上是生活随笔為你收集整理的.Net三种实现以及跨平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图像相似性搜索的原理
- 下一篇: 带你走近AngularJS 之创建自定义