当前位置:首页 > .Net > .Net Native 跨平台初体验

.Net Native 跨平台初体验

近日,微软在其Windows博客中通过一篇博文详细解释了.Net Native,这是用于开发Win10应用商店应用的全新框架,微软向开发者展示了为何.Net Native更优秀。

.net

Net Native优点:

  • 冷启动性能可提升60%
  • 热启动性能可提升40%
  • 本地编译,应用占用内存会更少
  • 不在依赖桌面.NET运行库
  • 由于应用是被编译到本地代码的,因此能够得到本地代码的性能(类比C++程序)
  • 你仍然可以使用业内先进的C#或VB编程语言及其配套工具

.Net Native 运行时:

https://github.com/dotnet/corert

.NET 命令行工具链:

https://github.com/dotnet/cli

Net Native提供了普通模式和cpp模式:

普通模式 类似现有的uwp .Net Native,将IL直接编译成机器码然后与运行库链接。

cpp模式 将IL编译成c++源码,然后使用c++编译器编译,类似于unity3d的IL2CPP,这种方式将具有很好的跨平台前景。

以下是Linux Ubuntu 14.04尝试过程(Windows下失败):

安装方法mono

https://github.com/dotnet/corert/blob/master/Documentation/prerequisites-for-building.md

安装必要工具

1
2
3
apt-get update
apt-get -y install curl libicu-dev libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g
apt-get -y install autoconf automake build-essential libtool

在cli项目中提供了deb安装包与tar.gz两种格式,我下载deb安装并修复依赖

mkdir dotnetcli
cd dotnetcli
wget https://dotnetcli.blob.core.windows.net/dotnet/dev/Installers/Latest/dotnet-linux-x64.latest.deb
dpkg -i dotnet-linux-x64.latest.deb
apt-get -y -f install

然后设置环境变量(如需重新启动可用,可以写入/etc/profile文件)

1
export DOTNET_HOME=/usr/share/dotnet

输入 dotnet 可以看到以下输出表示安装成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.NET Command Line Interface
Usage: dotnet [common-options] [command] [arguments]
 
Arguments:
  [command]     The command to execute
  [arguments]   Arguments to pass to the command
 
Common Options (passed before the command):
  -v|--verbose  Enable verbose output
 
Common Commands:
  compile       Compiles a .NET project
  publish       Publishes a .NET project for deployment
  run           Compiles and immediately executes a .NET project

使用git 下载示例代码

1
2
cd /root
git clone https://github.com/dotnet/core.git

先恢复nuget包

1
2
cd /root/core/samples/helloworld
dotnet restore

使用.Net Native 普通模式编译

1
dotnet compile --native

使用.Net Native cpp模式编译

1
dotnet compile --native --cpp

没有错误则代表成功,可以运行测试

1
2
3
cd /root/core/samples/helloworld/bin/Debug/dnxcore50/native
ls
./helloworld

总结

微软通用应用,即能够在桌面PC、平板、手机以及Xbox等Windows10设备中运行的通用应用都是基于.Net Native编写的。对开发者来说,.Net Native是熟悉但又更快的编程框架;对最终用户来说,不需要再安装.Net框架即可使用UWP通用应用。应用也将更加轻便,且运行速度更快(相比.Net应用)

  • << 教你在苹果电脑下配置PHP环境
  • 网页版在线聊天室 >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/net-native/

    相关文章 近期热评 最新文章

    • 怎样在WordPress中安装Google Analytics
      就算你积累了多年网站建设的经验,你都不可能一开始就建一个外观,速度,功能以及转化都很完美的网站。你能做的并且也是各个站长正在做的,无非是通过不断的监测来改进...
    • 怎样在WordPress中安装Google Analytics
      就算你积累了多年网站建设的经验,你都不可能一开始就建一个外观,速度,功能以及转化都很完美的网站。你能做的并且也是各个站长正在做的,无非是通过不断的监测来改进...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程