的。NET語言在技術實現上是跨平臺的,因為它們都是符合。NET公共運行時標準,並通過。NET虛擬機運行時。
在微軟將C#限制在微軟操作系統之前,只是出於商業競爭的考慮。希望廣大開發者還是圍繞微軟操作系統生態來開發。
當然,C#是壹種徹底的跨平臺編程語言。最厲害的是,C#是除了C++之外唯壹可以開發移動端和PC端的編程語言。C#除了開發Windows平臺,還開發了iOS/Android。他不用像C++那樣,每個平臺都單獨開發。
從Mono來看,C#似乎並不是真正的跨平臺。
C#從壹開始就不是跨平臺的。與Java/Python/JavaScript/PHP不同,C#從壹開始就不是跨平臺的。C#在設計之初就不是跨平臺的。
C#之父、同時也是Delphi之父的Anders Hiles Berg從設計之初就將C#作為Windows平臺的專用編程工具,所以微軟官方並沒有像Java那樣跨平臺。
Xamarin主持了壹個名為Mono的開源項目,其目的是創建壹個開源。
。網
工具,包括C#編譯器和公共語言架構,以及微軟官方。網。
框架的不同之處在於,Mono項目不僅可以在Windows平臺上運行,還可以在Linux、Unix、macOS、FreeBSD、Solaris,甚至Playstation3、Wii、XBox360等遊戲平臺Mono上運行。後來微軟收購了Xamarin,微軟正式推廣C#和
。網
開源,而且微軟正式推出了visualstudio的macOS版本,其實就是基於xamarin。這可以說微軟官方支持了整個微軟核心開發系統的跨平臺和開源。C#可以用在以下框架中。
。網
Core(全平臺、完全跨平臺支持Linux、Windows和macOS)主要用於服務器端開發、Web應用開發和企業系統開發,其功能是C++/Java/PHP/Python等編程語言最擅長的。Windows桌面程序開發,主要技術是WPF框架,這個級別的技術是C++最擅長的;
Unity遊戲引擎的主要腳本語言,可以在PC、索尼、Xbox等遊戲平臺上開發各類遊戲。Unity是最成熟的遊戲引擎之壹。目前除了虛幻的虛幻引擎,虛幻引擎的主要編程語言是C++,相對來說學習門檻較低,也讓Unity迅速發展成為最火的遊戲引擎之壹。
開發原生移動應用,除了之前的Windowsphone平臺,微軟通過Xamarin技術實現了iOS/Android的原生應用開發,同時支持macOS的應用開發。
。網
標準使用。net標準在所有上述應用程序中創建庫。最後總結了跨平臺編程語言的特點:Java壹次編寫,到處運行,C++針對特定平臺編譯壹次,C#本質上只是壹種編程語言。要實現跨平臺,需要選擇不同的技術棧和不同的框架。
本文由EmacserVimer原創。未經許可,請勿在任何渠道或平臺轉載,違者將被起訴。
。網
而C#剛出來的時候是設計成跨平臺的,但是因為微軟的戰略考慮,在Windows上只是跨平臺,只是半個跨平臺。然後是Mono,是開源的。
。網
C#此時可以算是完全跨平臺了。不過畢竟Mono是靠社區實現的,沒有大公司的資金支持。雖然是穩步發展,但壹直不溫不火。這種情況近年來有所改善。因為微軟最後出手了,這就是著名的。
。網
核心,官方跨平臺。網
實現。作為。網
親兒子語言,C#自然跨平臺。。網
Core的代碼是完全重寫和模塊化的。相比之下,Java的模塊化直到Java9才實現。之後微軟的工作重心就放在了。ASP.NET的NETCORE。
和EF也開發了新版本來適應。網。
核心部分.現在
。網
CORE的版本是2.2,最近主要的新特性是用Span重寫了很多底層,大大提高了運行速度。今年年底即將到來的3.0將帶來GUI庫,如核心上的WPF。可以預期。PS。現在主流Linux已經把
。網
CORE包含在官方倉庫裏,壹個命令就可以安裝。之後就可以享受C#語言帶來的便利了。石頭哥已經給妳答案了。?
為了挽回壹些粉絲,我也來回答壹下。
C#是壹種。NET,F#和VB也是。壹般我們不說C#,但是。網。目前,。網有。netframework,。netcore,xamarin,mono等框架。未來將從。NET5並統壹框架。
Net可以跨平臺,跨CPU架構。
支持Windows、linux、mac系統,基於linux開發的debain、ubuntu、centos等系統都支持。
除了Intel cpu,還支持amd cpu和arm架構CPU。
除了我們常用的電腦和服務器的Windows系統和linux系統,我們還支持各種linux嵌入式開發板如樹莓派。
c語言是壹種非托管語言,應該針對各種平臺分別生成。Net可以只生成壹次,軟件可以在各種平臺上運行。壹旦生成,所有平臺都可以運行,不管是cpu還是系統。
對於docker,k8s等技術。網可以完美貼合。通過容器和集群技術,可以建立大型系統,開發分布式應用。
國外有豐富的大規模應用經驗,而國內對此並不敏感。NET,所以他們主要用java主導的編程來開發。指…的情況。網,妳應該去G谷找資料。國內對…的熱情。網不高。
。net支持windows,mac,linux等系統,電腦,手機(Android和ios),服務器,開發板/物聯網設備。
軟件只需要生成壹次,就可以部署在各種平臺上。
的表現。netcore和C++非常接近。
Net不僅可以跨平臺,而且跨得很好。
步驟
單聲道的
的第三方實現。netframework(現在正式合並)
幾乎實現了
。網
框架的所有功能,包括winfrm、wcf、aspnetwebfrm等,都是用mono用C#編寫腳本實現的
Xamarin
基於mono開發,移動端跨平臺框架,支持Android、iOS、WP(W10M)。
。網
核心,我想這個不用我說吧。C#是上的主要開發語言。Net平臺,除了VB.Net和F#。這裏所說的C#跨平臺,暫時理解為。Net跨平臺。
1,微軟設計的時候。Net,它只支持Windows平臺,跨多個版本的Windows系統平臺,但不能跨Linux。
2.語言標準是在。Net出來了,於是有個團隊基於這個標準設計了Mono。除了Windows,還支持Linux,壹直在維護更新。這個時候可以看作是支持跨平臺。
3.2004年,牛牛遊戲公司做了壹個遊戲引擎Unity,現在只支持C#,很受歡迎。
4、2011另壹個團隊基於Mono開發了Xamarin,支持蘋果、安卓、WP的移動開發。在這個時候。Net跨平臺更有價值。
2016年5月,微軟正式推出。NetCore,天然跨平臺,支持Windows,Linux,iOS。
6.後來微軟收購了免費開放的Mono和Xamarin。
在這壹點上。NetCore跨平臺稱霸世界!