.NET
thinking out of the box
https://rogeriomc.wordpress.com/2016/03/31/minha-palestra-no-qcon-sao-paulo-2016-explorando-o-novo-net-multiplataformaasp-net-
core-net-core-e-ef-core/
The new .NET
Open Source Cross Platform
.NET Core, o que é?
É uma implementação open source e cross plataform do .NET
framework.
.NET Core CLI
.NET Core no longer requires an IDE to compile and run your application. You can now build your
application with the dotnet command line interface.
.NET Core SDK = .NET Core + CLI tools
.NET CoreCLR
The CoreCLR is an open-source, cross-platform implementation of the .Net Runtime. It includes a VM, JIT, and the core
class library (mscorlib). It is cross-platform, with multiple OS and CPU ports in progress.
Roslyn
RyuJIT
Roslyn
.NET Compiler Platform ("Roslyn")
- Project that uses Roslyn - https://github.com/code-cracker/code-cracker
IDE
IDEs
- Free
- Open source
- Runs everywhere
ASP.NET Core
ASP.NET Core is an open source web framework for building modern web applications that can
be developed and run on Windows, Linux and the Mac. It includes the MVC framework, which
now combines the features of MVC and Web API into a single web programming framework.
ASP.NET Core is built on the .NET Core runtime, but it can also be run on the full .NET
Framework for maximum compatibility.
http://web.ageofascent.com/asp-
net-core-exeeds-1-15-million-
requests-12-6-gbps/
ASP.NET Core,
2.300% a mais de
requisição por
segundo do que
ASP.NET 4.6
IIS? ‘we can make ASP.NET Core run great on other web
servers like Nginx and even in your own hosted application.‘
Kestrel
A web server for ASP.NET Core based on libuv. (libuv is a multi-platform support library with a focus on asynchronous I/O.
It was primarily developed for use by Node.js, but it's also used by Luvit, Julia, pyuv, and others.).
How does ASP.NET Core manage to be more than 20x faster than ASP.NET? A large part of it is thanks to the brand new cross-
platform .NET web server "Kestrel", based on libuv.
Performance on OSes
Docker
What about Containers? ASP.NET Core supports running in containers, with options
available on hub.docker.com for Linux and Windows based containers to host your
applications.
https://hub.docker.com/r/microsoft/dotnet/
EF Core
https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing
-entity-framework-core-rc2/
LLILC - https://github.com/dotnet/llilc/blob/master/Documentation/llilc-at-six-months.md
https://github.com/dotnet/llilc/blob/master/Documentation/llilc-faq.md
LLILC é um compilador JIT baseado em LLVM (Low Level Virtual
Machine) para .NET.
JIT - Just In Time, compila o teu código Just In Time :), ex:
um método é compilado somente quanto o mesmo for chamado pela
aplicação. Caso possuir um método que nunca é chamado, este
nunca será compilado pelo JIT
LLVM - Low Level Virtual machine, é uma estrutura de
compilador open source muito popular que suporta diversos
tipos de CPU.
LLILC
Quando compilamos um arquivo C#, o mesmo torna-se MSIL
(Microsoft Intermediate Language), ex: .ddl / .exe. Este por
sua vez ainda não é entendível pela CPU, não é código nativo.
Quando rodamos nosso código, o compilador JIT, method by
method compila nosso MSIL código em código de máquina/nativo.
.NET Core works, lets prove it
Por onde começar?
https://www.microsoft.com/net/core#ubuntu
1. sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/
trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
2. sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
3. sudo apt-get update
4. sudo apt-get install dotnet-dev-1.0.0-preview1-002702
.NET Core
HANDS ON CODE
1 - dotnet new ; dotnet restore ; dotnet run
2 - asp.net core mvc
3 - yeoman (https://docs.asp.net/en/latest/client-side/yeoman.html /
https://github.com/OmniSharp/generator-aspnet)
4 - docker ; vs node integration
5 - commands (https://dotnet.github.io/docs/core-concepts/core-sdk/cli/dotnet-new.html)
https://github.com/dotnet/roslyn
https://dotnet.github.io/about/overview.html#net-compiler-
platform-roslyn
dnx - https://msdn.microsoft.com/pt-br/mt147283.aspx
A key change that occurred between RC1 and RC2 is the introduction of the .NET command-line interface. This tool replaces the dnvm, dnx,
and dnu utilities with a single tool that handles the responsibilities of these tools. Get started by executing the command `dotnet` at a
command-prompt: (https://blogs.msdn.microsoft.com/webdev/2016/05/16/announcing-asp-net-core-rc2/)
https://dotnet.github.io/docs/core-concepts/dnx-migration.html
https://www.simple-talk.com/dotnet/.net-framework/what-is-dnx/
https://blogs.msdn.microsoft.com/dotnet/2015/02/03/coreclr-is-now-open-source/ ←---------------
https://github.com/dotnet/llilc
https://www.dotnetfoundation.org/blog/announcing-llilc-llvm-
for-dotnet
.NET Core
Docker
https://hub.docker.com/r/microsoft/dotnet/

.Net Core

  • 1.
    .NET thinking out ofthe box https://rogeriomc.wordpress.com/2016/03/31/minha-palestra-no-qcon-sao-paulo-2016-explorando-o-novo-net-multiplataformaasp-net- core-net-core-e-ef-core/
  • 2.
    The new .NET OpenSource Cross Platform
  • 3.
    .NET Core, oque é? É uma implementação open source e cross plataform do .NET framework.
  • 4.
    .NET Core CLI .NETCore no longer requires an IDE to compile and run your application. You can now build your application with the dotnet command line interface. .NET Core SDK = .NET Core + CLI tools
  • 5.
    .NET CoreCLR The CoreCLRis an open-source, cross-platform implementation of the .Net Runtime. It includes a VM, JIT, and the core class library (mscorlib). It is cross-platform, with multiple OS and CPU ports in progress. Roslyn RyuJIT
  • 6.
    Roslyn .NET Compiler Platform("Roslyn") - Project that uses Roslyn - https://github.com/code-cracker/code-cracker
  • 7.
  • 8.
    IDEs - Free - Opensource - Runs everywhere
  • 9.
    ASP.NET Core ASP.NET Coreis an open source web framework for building modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC framework, which now combines the features of MVC and Web API into a single web programming framework. ASP.NET Core is built on the .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility. http://web.ageofascent.com/asp- net-core-exeeds-1-15-million- requests-12-6-gbps/ ASP.NET Core, 2.300% a mais de requisição por segundo do que ASP.NET 4.6 IIS? ‘we can make ASP.NET Core run great on other web servers like Nginx and even in your own hosted application.‘
  • 10.
    Kestrel A web serverfor ASP.NET Core based on libuv. (libuv is a multi-platform support library with a focus on asynchronous I/O. It was primarily developed for use by Node.js, but it's also used by Luvit, Julia, pyuv, and others.). How does ASP.NET Core manage to be more than 20x faster than ASP.NET? A large part of it is thanks to the brand new cross- platform .NET web server "Kestrel", based on libuv.
  • 11.
  • 12.
    Docker What about Containers?ASP.NET Core supports running in containers, with options available on hub.docker.com for Linux and Windows based containers to host your applications. https://hub.docker.com/r/microsoft/dotnet/
  • 13.
  • 14.
    LLILC - https://github.com/dotnet/llilc/blob/master/Documentation/llilc-at-six-months.md https://github.com/dotnet/llilc/blob/master/Documentation/llilc-faq.md LLILCé um compilador JIT baseado em LLVM (Low Level Virtual Machine) para .NET. JIT - Just In Time, compila o teu código Just In Time :), ex: um método é compilado somente quanto o mesmo for chamado pela aplicação. Caso possuir um método que nunca é chamado, este nunca será compilado pelo JIT LLVM - Low Level Virtual machine, é uma estrutura de compilador open source muito popular que suporta diversos tipos de CPU.
  • 15.
    LLILC Quando compilamos umarquivo C#, o mesmo torna-se MSIL (Microsoft Intermediate Language), ex: .ddl / .exe. Este por sua vez ainda não é entendível pela CPU, não é código nativo. Quando rodamos nosso código, o compilador JIT, method by method compila nosso MSIL código em código de máquina/nativo.
  • 16.
    .NET Core works,lets prove it Por onde começar? https://www.microsoft.com/net/core#ubuntu 1. sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' 2. sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 3. sudo apt-get update 4. sudo apt-get install dotnet-dev-1.0.0-preview1-002702
  • 17.
    .NET Core HANDS ONCODE 1 - dotnet new ; dotnet restore ; dotnet run 2 - asp.net core mvc 3 - yeoman (https://docs.asp.net/en/latest/client-side/yeoman.html / https://github.com/OmniSharp/generator-aspnet) 4 - docker ; vs node integration 5 - commands (https://dotnet.github.io/docs/core-concepts/core-sdk/cli/dotnet-new.html)
  • 18.
    https://github.com/dotnet/roslyn https://dotnet.github.io/about/overview.html#net-compiler- platform-roslyn dnx - https://msdn.microsoft.com/pt-br/mt147283.aspx Akey change that occurred between RC1 and RC2 is the introduction of the .NET command-line interface. This tool replaces the dnvm, dnx, and dnu utilities with a single tool that handles the responsibilities of these tools. Get started by executing the command `dotnet` at a command-prompt: (https://blogs.msdn.microsoft.com/webdev/2016/05/16/announcing-asp-net-core-rc2/) https://dotnet.github.io/docs/core-concepts/dnx-migration.html https://www.simple-talk.com/dotnet/.net-framework/what-is-dnx/ https://blogs.msdn.microsoft.com/dotnet/2015/02/03/coreclr-is-now-open-source/ ←---------------
  • 19.
  • 20.