C#是跨平台的吗?
的。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是最成熟的游戏引擎之一。目前除了Unreal虚幻引擎,虚幻引擎的主要编程语言是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跨平台称霸世界!