DotNet跨平台调研初步情况反馈

发布时间:2017-08-22 08:29:32   来源:文档文库   
字号:

.Net跨平台调研

1 背景

2016627日的红帽DevNation峰会上,微软正式发布.NET Core 1.0ASP.NET 1.0Entity Framework Core 1.0,这些产品将全部支持WindowsOS XLinux三种操作系统。

其中.NET Core最受瞩目,这是一款跨平台、开源且模块化的.NET平台,可以用来搭建web应用、微服务、创立应用库和控制台。

本次发布的包括.NET Core Runtime、框架库及相关工具,和ASP.NET Core库。

2 .NetCore开源的由来

早在2004年,Xamarin公司的前身,Novell就开始研发如何实现.NET的跨平台化研发。Mono Project开源项目应运而生,陆续实现了在大部分Linux版本、Android甚至一些游戏开发平台上运行.NET应用。.NET Framework作为专利产品,Mono Project在一定程度上触犯了微软;这种做法因此也曾一度引起开源社区的广泛争议。

2014年,微软改变了.NET技术的发展策略,在connect();大会上发布开源.NET Core,称.NET Core的愿景是成为所有平台的单一代码库。20163月,微软正式收购Xamarin公司,其所有的Mono Project采用 MIT协议开源。

2016627日,微软正式发布.NET Core 1.0。经过微软与红帽一年的合作,Linux企业版已支持.NET Core 1.0的全部特性;

需要说明的一点是.NET Core 1.0目前仅支持红帽的企业版Linux

注:在20166月份前,所谓的.Net跨平台,都是基于Mono,现在一般称作Xamarin,是Mono一个商业化分支,目前也已经被微软收购,可以支持IOSAndroid移动应用开发,也可以支持WindowsLinux下的窗口程序开发,Mono可支持.NetFrameWork的基础类库。Mono更推荐使用 GTK#的库进行界面开发

GTK#/GTKSharp 是基于.NETMono的图形用户界面的工具包GTK#可以绑定GTK+等各种GNOME,从而开发出跨平台的窗口程序

3 NET Core的技术细节

.NET Core被视为.NET Framework的新一代版本。与现有的.NET Framework在使用上的区别是:.NET Framework采用大包式安装的方式,而.NET Core则是采用套件化(Packages)的管理方式,写应用程序只需要调用所需组件即可。

注:通过上图可以看出,微软本身能够跨平台的是ASP.NetUWPWin10通用应用平台),而且V1.0版本在166月份刚刚发布,目前来看.NetCore1.0可能不适宜作为我们跨平台的解决方案。

4 窗口程序跨平台验证

开发环境:VS2015

操作系统:Windows7X64CentOS7

运行环境:linuxmono4.6.2windows.NetFrameWork4.5

采用VS2015windows下开发最简单的windows窗口程序,如下:

windows下运行结果:

linux下运行结果:

linux下,mono作为.net程序的运行时CLR,可以运行基于System.Windows.Formswinform程序。

5 ASP.net程序跨平台

ASP.net跨平台是基于linux下的应用服务器jexus的。jexus Jexus Web Server,简称JWS,是Linux平台上 的一款ASP.NET WEB服务器。它是 LinuxUnixFreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序是企业级ASP.NET跨平台部署的一种可选方案

该部分只作为了解,不进行深入研究。

6 Winform嵌入浏览器跨平台

本文来源:https://www.2haoxitong.net/k/doc/79fae7369a6648d7c1c708a1284ac850ad02042c.html

《DotNet跨平台调研初步情况反馈.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式