SlideShare a Scribd company logo
1 of 65
.NET Core Saturday 2016 – 22.10.2016
Introduction
to .NET Core
Marco Parenzan
Microsoft MVP for Azure
@marco_parenzan
.NET Core Saturday 2016 – 22.10.2016
@marco_parenzan
◇Microsoft MVP 2016 for Azure
◇Azure Trainer in Cloud Academy, Inc.
◇Community Lead for 1nn0va
.NET Core Saturday 2016 – 22.10.2016
The need of a new
framework
It was 1996
.NET Core Saturday 2016 – 22.10.2016
Requirements in 1996
◇...starting after Java
◇JVMJitted Execution Engine
◇High cost per Mb
◇Raising Internet, not Cloud
◇COM3 and Visual Basic 6 needed a successor
◇Windows Only (no MacOS, no Linux n°1 Cloud OS)
.NET Core Saturday 2016 – 22.10.2016
.NET in 2001
◇https://channel9.msdn.com/Blogs/Seth-Juarez/What-is-NET-Standard
◇«Drag&Drop a button...»
.NET FX
Win Form
ASP.NET
WebForm
C# VB.NET
.NET Core Saturday 2016 – 22.10.2016
The need of a new
framework
It was 2012
.NET Core Saturday 2016 – 22.10.2016
Requirements in 2012
Cloud First
Portability
New
Architectures
New
Languages
Node.js
Tooling
New
Deployments
Command
Line Open Source
Coding Tools
Breaking
Changes
.NET Core Saturday 2016 – 22.10.2016
Cloud First
◇Azure and other cloud providers
◇High densityLight, Highly optimized
.NET Core Saturday 2016 – 22.10.2016
Portability
◇Windows and Linux on Cloud
◇Windows and MacOS on desktop
◇iOS and Android on smartphone
◇«........(ARM) (x86)» on Internet of Things
.NET Core Saturday 2016 – 22.10.2016
Open Source
◇Open Source standards
◇Contributions from community
◇GitHub
.NET Core Saturday 2016 – 22.10.2016
Mono
◇Open Source implementation of the standardized Common Language
Infrastructure
■http://www.mono-project.com/docs/about-mono/languages/ecma/
◇Anticipated, inspired, what .NET should be (example: C# REPL), multiplatform
◇Xamarin
.NET Core Saturday 2016 – 22.10.2016
New Architectures
◇Successful ARM for Smartphones and Internet of Things has changed the scenario
◇ARM is small footprint (memory, CPU power)
■No more runtime, but native compilation, architecture specific
.NET Core Saturday 2016 – 22.10.2016
New languages
◇JavaScript, ECMAScript, Node.js and TypeScript
◇More Python than Java
◇Go
◇R
.NET Core Saturday 2016 – 22.10.2016
Node.js Tooling
◇Node.js
◇NPM
◇JavaScript V8
.NET Core Saturday 2016 – 22.10.2016
New deployments
◇Application Lifecycle Management
■Source Code Management
■Continuous Integration
■Continuous Delivery
■Testing
◇Containerization and Docker
◇Microservices
.NET Core Saturday 2016 – 22.10.2016
Command Line
◇Bash and Powershell
◇Azure and AWS
◇Docker
.NET Core Saturday 2016 – 22.10.2016
Coding Tools
◇IDEVisual Studio (Full) for Windows
◇EditorVisual Studio Code for Windows, Linux and MacOS
.NET Core Saturday 2016 – 22.10.2016
Breaking changes
◇Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008,
Windows 7, Windows 8 and Windows 8.1, Windows Server 2012, and Windows 10
■https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx
◇Contrast that with the Microsoft .NET Framework 1.0 (2002), which is incompatible
with Windows 7 (2009)
■https://msdn.microsoft.com/en-us/magazine/jj133828.aspx
◇No more .NET frameworks major versions after 4.x
■Only in-place replacements
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core
Time for a new .NET
.NET Core Saturday 2016 – 22.10.2016
What is .NET
Time do to a recap
.NET Core Saturday 2016 – 22.10.2016
What is .NET?
◇Common Language Runtime (CLR)
■Services common for all language implementers (Type System, language feaures
like inheritance, generics, interfaces, and overloading for object-oriented
programming). Async Programming, Threading, Structured Exception Handling,
Attributes, Garbage Collection, Delegates)
◇Intermediate Language (IL)
■The generated code from each language compiler
◇Common Language Specifications (CLS)
■The rules to follow to be interoperable among languages
◇Base Class Library
■A set of types (System.Object, System.Int32, System.String, System.IO.*, …) common
to all .NET
◇Framework
■The implementation of all of these…
.NET Core Saturday 2016 – 22.10.2016
Portable Class Libraries
◇The environment is a synthetic one that is generated by the intersection of a set of
concrete .NET platforms. This means that exposed APIs and platform assumptions
are a subset of what would be available to a platform-specific library.
◇You choose a platform configuration when you create a portable library. These are
the set of platforms that you need to support (for example, .NET Framework 4.5+,
Windows Phone 8.0+). The more platforms you opt to support, the fewer APIs and
fewer platform assumptions you can make, the lowest common denominator. This
characteristic can be confusing at first, since people often think “more is better”, but
find that more supported platforms results in fewer available APIs.
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core (2)
Again...Time for a new .NET
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core?
◇A new .NET CLR
◇A set of new libraries
◇A set of SDK tools and language compilers
◇The 'dotnet' app host
.NET Core Saturday 2016 – 22.10.2016
What is .NET Core?
◇Objectives
■Modular and smaller implementation of .NET
■Cross-platform
■App-level isolation
■Built in the open
■Optimized for specific workloads (Cloud)
■Built for the next ten years of software development
◇.NET Codebase Fork
■No compromises on retrocompatibility
■Versioning and dependencing issues
.NET Core Saturday 2016 – 22.10.2016
.NET Core Application Models
◇Console application
◇Completly rewritten ASP.NET to support Cloud
■x64 first scenario
◇Universal Windows Platform: Windows Store Apps (cross-device)
.NET Core Saturday 2016 – 22.10.2016
Breaking changes
◇No Global Assembly Cache
■All assemblies are deployed privately
■An assembly for each namespace (no
more mscorelib.dll)
◇No application models
■WPF
■Winforms
■WebForms
◇Anything Windows-specific
■registry, ACLs, perf counters, etc.
◇No AppDomains
■Infrastructure exists but it is no longer
usable in terms of API
■New AppContext object
■AssemblyLoadContext to dynamically
load assemblies
■Container to isolate code
◇No Remoting
◇No Binary Serialization
◇No Code Access Security (CAS)
.NET Core Saturday 2016 – 22.10.2016
Should I migrate my project?
◇Cannot:
■WPF, WinForms, unless UWP
■ASP.NET WebForms
◇Should (absolutely):
■General purpose libraries
◇Should (maybe):
■ASP.NET MVC
■Micro-services
■Console apps
■Rewrite
■Talent expertise on Linux
.NET Core Saturday 2016 – 22.10.2016
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
.NET today—app models and libraries
.NET Core Saturday 2016 – 22.10.2016
.NET FRAMEWORK .NET CORE XAMARIN
APP
MODELS
BASE
LIBRARIES
.NET today—reusing code
.NET Core Saturday 2016 – 22.10.2016
• Codebase Fork
• Need implementations of new capabilities on each platform
• Need to align with different ship cycles (e.g., Windows for
.NET Framework)
• Key API’s are not present on all platforms
• Different implementations on each platform
• Need to target a small common denominator to reuse code
• Need to master 3 base class libraries
.NET today—challenges
Developers
Platforms
.NET Core Saturday 2016 – 22.10.2016
.NET Standard Library
.NET Core Saturday 2016 – 22.10.2016
.NET ecosystem tomorrow
.NET FRAMEWORK .NET CORE XAMARIN
*
.NET Core Saturday 2016 – 22.10.2016
.NET tomorrow—.NET Core today
.NET FRAMEWORK .NET CORE XAMARIN
.NET Core Saturday 2016 – 22.10.2016
.NET Standard Library
◇Starting from PCL purposes
◇Common functionalities among choosen platform at compile time
◇Runtime library contracts
◇Set of reference assemblies
◇Binary compatibility
◇NuGet packages idenfified by «moniker» (ex. «netstandard1.6»)
■don’t need to specify all supported runtimes: net45+wp80+win8+wpa81+dnxcore50
■Netstandard 1.4: target Fx 4.6, Core 1.0, UWP, Mono
■Netstandard 1.2: target Fx 4.5, Windows Phone 8, etc.
◇So it can run on any Runtime complaining standard
◇https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-
platform-standard.md
.NET Core Saturday 2016 – 22.10.2016
.NET Platforms
Target Platform Name Alias Versions
.NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6
.NET Core netcoreapp 1.0
.NET Framework net 4.6.3
4.6.2
4.6.1
4.6
4.5.2
4.5.1
4.5
Universal Windows Platform uap 10.0
Windows win 8.1
8.0
Windows Phone wpa 8.1
Windows Phone Silverlight wp 8.1
8.0
Mono/Xamarin Platforms *
Mono *
.NET Core Saturday 2016 – 22.10.2016
.NET Core Runtimes
◇Runtime Adaptation Layer
■Specific layer to complete platform specific implementation
◇Runtime Identifier RID
■Identifies Operative System
■https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
.NET Core Saturday 2016 – 22.10.2016
Runtime Identifier RID
•Windows 7 / Windows Server 2008 R2
•win7-x64
•win7-x86
•Windows 8 / Windows Server 2012
•win8-x64
•win8-x86
•win8-arm
•Windows 8.1 / Windows Server 2012 R2
•win81-x64
•win81-x86
•win81-arm
•Windows 10 / Windows Server 2016
•win10-x64
•win10-x86
•win10-arm
•win10-arm64
•Red Hat Enterprise Linux
•rhel.7.0-x64
•rhel.7.1-x64
•rhel.7.2-x64
•Ubuntu
•ubuntu.14.04-x64
•ubuntu.14.10-x64
•ubuntu.15.04-x64
•ubuntu.15.10-x64
•ubuntu.16.04-x64
•ubuntu.16.10-x64
•CentOS
•centos.7-x64
•Debian
•debian.8-x64
•Fedora
•fedora.23-x64
•fedora.24-x64
•osx.10.10-x64
•osx.10.11-x64
•osx.10.12-x64
•OpenSUSE
•opensuse.13.2-x64
•opensuse.42.1-x64
•Oracle Linux
•ol.7-x64
•ol.7.0-x64
•ol.7.1-x64
•ol.7.2-x64
•Currently supported Ubuntu derivatives
•linuxmint.17-x64
•linuxmint.17.1-x64
•linuxmint.17.2-x64
•linuxmint.17.3-x64
•linuxmint.18-x64
WINDOWS RIDS LINUX RIDS
WINDOWS RIDS
.NET Core Saturday 2016 – 22.10.2016
.NET tomorrow—.NET Core today
.NET FRAMEWORK .NET CORE XAMARIN
.NET Core Saturday 2016 – 22.10.2016
.NET Core Runtime
.NET Core Saturday 2016 – 22.10.2016
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
Languages innovation
.NET Compiler Platform
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core
What’s common, and what’s not?
.NET Core Saturday 2016 – 22.10.2016
.NET Compilers
◇The C# and F# languages (Visual Basic is coming)
◇C# 6.0 is the same (road to 7.0)
◇Integrated into several text editors and IDEs
◇Roslyn: open-source C# and Visual Basic compilers with rich code analysis APIs
.NET Core Saturday 2016 – 22.10.2016
Compilers and runtimes in action
◇JIT: Just-in-Time
Fast compilation during runtime
◇AOT: Ahead of Time
Highly optimized machine code during build
CoreRT
.NET
Native
Compiler
Single binary
64 bit native code
CoreCLR
RyuJIT
.NET assemblies
IL code
Roslyn
Compiler
Platform
Build
AOT
Native
codeJIT
CoreFX
.NET Core Saturday 2016 – 22.10.2016
CoreCLR
◇CoreCLR is the new runtime environment used by ASP.NET and the Console
Application
◇It uses new RyuJIT. Includes basic services and Garbage Collector
◇It's faster and produces optimized code (SIMD, Vectorization, etc.)
◇https://github.com/dotnet/coreclr
.NET Core Saturday 2016 – 22.10.2016
CoreRT
◇CoreRT is another used by UWP
◇.NET Native generates all the native code and is free from all addictions
◇UWP uses the CoreCLR during debugging and .NET Native in Release
◇.NET is a Ahead of Time (AOT) compiler
◇Native compilation uses the backend compiler in Visual C++
◇https://github.com/dotnet/corert
◇Pro
■Less boot time, less RAM
■Better performances
■Less battery
◇Cons:
■Compile Time
■Linq interpreted
.NET Core Saturday 2016 – 22.10.2016
CoreFX
◇It includes classes for collections, file systems, console, XML, async and many
others
◇https://github.com/dotnet/corefx
■This repo contains the .NET Core foundational libraries
.NET Core Saturday 2016 – 22.10.2016
Tools
.NET Core Saturday 2016 – 22.10.2016
Acquisition
◇NET Core is distributed in two main ways, as packages on NuGet.org and as
standalone distributions.
◇You can download .NET Core at https://www.microsoft.com/net/download
◇The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools
◇.NET Core Packages contain the .NET Core runtime and libraries.
.NET Core Saturday 2016 – 22.10.2016
Developer Environments
◇Your choice of tool, on your choice platform
■Visual Studio on Windows
■Visual Studio Code on Mac, Linux, or Windows
■vi or emacs
.NET Core Saturday 2016 – 22.10.2016
Text before UI
◇Everything from text files
■Projects
■Configuration
■Preferences and options
■Launch settings
◇JSON is preferred
data format
.NET Core Saturday 2016 – 22.10.2016
dotnet.exe Command Line
◇dotnet new
◇dotnet restore
◇dotnet run
◇dotnet build
◇dotnet build –native
◇dotnet test
◇dotnet pack
◇dotnet deploy
.NET Core Saturday 2016 – 22.10.2016
Testing
◇xUnit was first, now NUnit, MsTest
◇Secondary test libraries (mocking, functional testing, etc.) in progress
◇Add following NUGET packages: xunit, dotnet-test-xunit
Run tests:
dotnet test
.NET Core Saturday 2016 – 22.10.2016
Application Types
.NET Core Saturday 2016 – 22.10.2016
New project system
◇Independent of Visual Studio
◇JSON files instead of VS artefacts
◇Every file is relevant
■Unless stated otherwise
◇Specific folder structure
◇Build for multiple target frameworks
◇.xproj for Visual Studio (for now)
◇C:Program Files (x86)Microsoft SDKsNuGetPackages
.NET Core Saturday 2016 – 22.10.2016
NuGet all the things
◇NuGet packages are unit of reference
■Not assemblies
◇Projects will:
■build NuGet packages
■reference NuGet packages
.NET Core Saturday 2016 – 22.10.2016
Global.json
◇Defines the SDK-s to be used in solution (projects)
◇SDK is installed in: C:Program Filesdotnetsdk
.NET Core Saturday 2016 – 22.10.2016
Project.json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
.NET Core Saturday 2016 – 22.10.2016
Framework Dependent Application
◇Framework Dependent Application
■Common .NET application type
■It requires preinstalled .NET framework to run
■Small footprint
◇Runtime in C:Program Filesdotnetsdk
.NET Core Saturday 2016 – 22.10.2016
Self Contained Applications
◇Precompiled for specific runtime
■win10-x64
■osx.10.10-x64
■ubuntu.14.04-x64
◇Includes runtime assemblies as a part of application
◇Does not need preinstalled framework
◇Big footprint.
◇Deployment is two-step process
■Build Executable shim
■Publish with runtime
.NET Core Saturday 2016 – 22.10.2016
Self-Contained Applications{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
// "type": "platform"
},
"netcorelib": "1.0.0-*"
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {},
"osx.10.10-x64": {},
"ubuntu.14.04-x64": {}
}
Remove this to
activate build of
executable.
Add wanted
runtimes. Or you
get an error. 
.NET Core Saturday 2016 – 22.10.2016
Step I: Build executable shim
Build application:
C:AppFolder>dotnet build
Native shim code.
You application is
still here  in DLL
When you run this it is
will load framework
assemblies from
installation folder. It is still
not self-contained
application
.NET Core Saturday 2016 – 22.10.2016
Step II: Build Self-Contained Application
Build application:
C:AppFolder>dotnet build
Build application:
C:AppFolder>dotnet publish –r win10-x64
C:AppFolder>dotnet publish –r win10-x86
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
C:AppFolder>dotnet publish –r ubuntu.14.04-x64
All framework
assemblies are
deployed with
application.
.NET Core Saturday 2016 – 22.10.2016
Conclusions
.NET Core Saturday 2016 – 22.10.2016
Conclusions
◇Coherent with new requirements
◇Learned from the community
◇Open
◇https://github.com/dotnet/core
◇Global vision for all .NET ecosystem
◇Support for all runtimes in future (.NET Full, Mono, Xamarin)
.NET Core Saturday 2016 – 22.10.2016
Any questions?
You can find me at: marco.parenzan@1nn0va.it
Thanks!

More Related Content

What's hot

ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Coremohamed elshafey
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1aminmesbahi
 
Intro to Node.js (v1)
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)Chris Cowan
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6aminmesbahi
 
Entity Framework Core
Entity Framework CoreEntity Framework Core
Entity Framework CoreKiran Shahi
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdfWPWeb Infotech
 
Angular 8
Angular 8 Angular 8
Angular 8 Sunil OS
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practicesfelixbillon
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stackAshok Raj
 

What's hot (20)

ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
 
Getting started with typescript
Getting started with typescriptGetting started with typescript
Getting started with typescript
 
Net core
Net coreNet core
Net core
 
Intro to Node.js (v1)
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)
 
.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6
 
TypeScript VS JavaScript.pptx
TypeScript VS JavaScript.pptxTypeScript VS JavaScript.pptx
TypeScript VS JavaScript.pptx
 
Entity Framework Core
Entity Framework CoreEntity Framework Core
Entity Framework Core
 
Net Framework vs .Net Core A Complete Comparison.pdf
Net Framework vs  .Net Core  A Complete Comparison.pdfNet Framework vs  .Net Core  A Complete Comparison.pdf
Net Framework vs .Net Core A Complete Comparison.pdf
 
Angular 8
Angular 8 Angular 8
Angular 8
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practices
 
Angular
AngularAngular
Angular
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Node js Introduction
Node js IntroductionNode js Introduction
Node js Introduction
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 

Viewers also liked

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET MicroservicesVMware Tanzu
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Dockercjmyers
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioWindows Developer
 
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersE book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersAileen Gusni
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Binary Studio
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating SkillsAshit Jain
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardAlex Thissen
 
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Windows Developer
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Mark Lechtermann
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Monty C. M. Metzger
 

Viewers also liked (15)

Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual StudioBuild 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual Studio
 
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End UsersE book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
E book Microsoft Dynamics CRM 2013 Personal Dashboard for End Users
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
Building Microservices with .NET (speaker Anton Vasilenko, Binary Studio)
 
Negotiating Skills
Negotiating SkillsNegotiating Skills
Negotiating Skills
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
 
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...Build 2017 - B8058 - Location intelligence and personalized experiences with ...
Build 2017 - B8058 - Location intelligence and personalized experiences with ...
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0Short introduction - .net core and .net standard 2.0
Short introduction - .net core and .net standard 2.0
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution Mastering The Fourth Industrial Revolution
Mastering The Fourth Industrial Revolution
 
10 facts about jobs in the future
10 facts about jobs in the future10 facts about jobs in the future
10 facts about jobs in the future
 

Similar to Introduction to .NET Core

What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?Damir Dobric
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelliAndrea Tosato
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentalsHosein Mansouri
 
Nano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerNano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerITCamp
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Alfonso Garcia-Caro
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and ImprovementsJeff Chu
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3Andrea Dottor
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerITCamp
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017ElifTech
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 

Similar to Introduction to .NET Core (20)

What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
NET core 2 e i fratelli
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
Nano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas MaurerNano Server - the future of Windows Server - Thomas Maurer
Nano Server - the future of Windows Server - Thomas Maurer
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
 
.NET Innovations and Improvements
.NET Innovations and Improvements.NET Innovations and Improvements
.NET Innovations and Improvements
 
Mini .net conf 2020
Mini .net conf 2020Mini .net conf 2020
Mini .net conf 2020
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
What's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas MaurerWhat's New in Hyper-V 2016 - Thomas Maurer
What's New in Hyper-V 2016 - Thomas Maurer
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
 

More from Marco Parenzan

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerMarco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxMarco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .netMarco Parenzan
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and AzureMarco Parenzan
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralMarco Parenzan
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogameMarco Parenzan
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Marco Parenzan
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETMarco Parenzan
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetMarco Parenzan
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .netMarco Parenzan
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .netMarco Parenzan
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicMarco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTMarco Parenzan
 

More from Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to conn...
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Introduction to .NET Core

  • 1. .NET Core Saturday 2016 – 22.10.2016 Introduction to .NET Core Marco Parenzan Microsoft MVP for Azure @marco_parenzan
  • 2. .NET Core Saturday 2016 – 22.10.2016 @marco_parenzan ◇Microsoft MVP 2016 for Azure ◇Azure Trainer in Cloud Academy, Inc. ◇Community Lead for 1nn0va
  • 3. .NET Core Saturday 2016 – 22.10.2016 The need of a new framework It was 1996
  • 4. .NET Core Saturday 2016 – 22.10.2016 Requirements in 1996 ◇...starting after Java ◇JVMJitted Execution Engine ◇High cost per Mb ◇Raising Internet, not Cloud ◇COM3 and Visual Basic 6 needed a successor ◇Windows Only (no MacOS, no Linux n°1 Cloud OS)
  • 5. .NET Core Saturday 2016 – 22.10.2016 .NET in 2001 ◇https://channel9.msdn.com/Blogs/Seth-Juarez/What-is-NET-Standard ◇«Drag&Drop a button...» .NET FX Win Form ASP.NET WebForm C# VB.NET
  • 6. .NET Core Saturday 2016 – 22.10.2016 The need of a new framework It was 2012
  • 7. .NET Core Saturday 2016 – 22.10.2016 Requirements in 2012 Cloud First Portability New Architectures New Languages Node.js Tooling New Deployments Command Line Open Source Coding Tools Breaking Changes
  • 8. .NET Core Saturday 2016 – 22.10.2016 Cloud First ◇Azure and other cloud providers ◇High densityLight, Highly optimized
  • 9. .NET Core Saturday 2016 – 22.10.2016 Portability ◇Windows and Linux on Cloud ◇Windows and MacOS on desktop ◇iOS and Android on smartphone ◇«........(ARM) (x86)» on Internet of Things
  • 10. .NET Core Saturday 2016 – 22.10.2016 Open Source ◇Open Source standards ◇Contributions from community ◇GitHub
  • 11. .NET Core Saturday 2016 – 22.10.2016 Mono ◇Open Source implementation of the standardized Common Language Infrastructure ■http://www.mono-project.com/docs/about-mono/languages/ecma/ ◇Anticipated, inspired, what .NET should be (example: C# REPL), multiplatform ◇Xamarin
  • 12. .NET Core Saturday 2016 – 22.10.2016 New Architectures ◇Successful ARM for Smartphones and Internet of Things has changed the scenario ◇ARM is small footprint (memory, CPU power) ■No more runtime, but native compilation, architecture specific
  • 13. .NET Core Saturday 2016 – 22.10.2016 New languages ◇JavaScript, ECMAScript, Node.js and TypeScript ◇More Python than Java ◇Go ◇R
  • 14. .NET Core Saturday 2016 – 22.10.2016 Node.js Tooling ◇Node.js ◇NPM ◇JavaScript V8
  • 15. .NET Core Saturday 2016 – 22.10.2016 New deployments ◇Application Lifecycle Management ■Source Code Management ■Continuous Integration ■Continuous Delivery ■Testing ◇Containerization and Docker ◇Microservices
  • 16. .NET Core Saturday 2016 – 22.10.2016 Command Line ◇Bash and Powershell ◇Azure and AWS ◇Docker
  • 17. .NET Core Saturday 2016 – 22.10.2016 Coding Tools ◇IDEVisual Studio (Full) for Windows ◇EditorVisual Studio Code for Windows, Linux and MacOS
  • 18. .NET Core Saturday 2016 – 22.10.2016 Breaking changes ◇Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, Windows 8 and Windows 8.1, Windows Server 2012, and Windows 10 ■https://msdn.microsoft.com/en-us/vstudio/ms788708.aspx ◇Contrast that with the Microsoft .NET Framework 1.0 (2002), which is incompatible with Windows 7 (2009) ■https://msdn.microsoft.com/en-us/magazine/jj133828.aspx ◇No more .NET frameworks major versions after 4.x ■Only in-place replacements
  • 19. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core Time for a new .NET
  • 20. .NET Core Saturday 2016 – 22.10.2016 What is .NET Time do to a recap
  • 21. .NET Core Saturday 2016 – 22.10.2016 What is .NET? ◇Common Language Runtime (CLR) ■Services common for all language implementers (Type System, language feaures like inheritance, generics, interfaces, and overloading for object-oriented programming). Async Programming, Threading, Structured Exception Handling, Attributes, Garbage Collection, Delegates) ◇Intermediate Language (IL) ■The generated code from each language compiler ◇Common Language Specifications (CLS) ■The rules to follow to be interoperable among languages ◇Base Class Library ■A set of types (System.Object, System.Int32, System.String, System.IO.*, …) common to all .NET ◇Framework ■The implementation of all of these…
  • 22. .NET Core Saturday 2016 – 22.10.2016 Portable Class Libraries ◇The environment is a synthetic one that is generated by the intersection of a set of concrete .NET platforms. This means that exposed APIs and platform assumptions are a subset of what would be available to a platform-specific library. ◇You choose a platform configuration when you create a portable library. These are the set of platforms that you need to support (for example, .NET Framework 4.5+, Windows Phone 8.0+). The more platforms you opt to support, the fewer APIs and fewer platform assumptions you can make, the lowest common denominator. This characteristic can be confusing at first, since people often think “more is better”, but find that more supported platforms results in fewer available APIs.
  • 23. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core (2) Again...Time for a new .NET
  • 24. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core? ◇A new .NET CLR ◇A set of new libraries ◇A set of SDK tools and language compilers ◇The 'dotnet' app host
  • 25. .NET Core Saturday 2016 – 22.10.2016 What is .NET Core? ◇Objectives ■Modular and smaller implementation of .NET ■Cross-platform ■App-level isolation ■Built in the open ■Optimized for specific workloads (Cloud) ■Built for the next ten years of software development ◇.NET Codebase Fork ■No compromises on retrocompatibility ■Versioning and dependencing issues
  • 26. .NET Core Saturday 2016 – 22.10.2016 .NET Core Application Models ◇Console application ◇Completly rewritten ASP.NET to support Cloud ■x64 first scenario ◇Universal Windows Platform: Windows Store Apps (cross-device)
  • 27. .NET Core Saturday 2016 – 22.10.2016 Breaking changes ◇No Global Assembly Cache ■All assemblies are deployed privately ■An assembly for each namespace (no more mscorelib.dll) ◇No application models ■WPF ■Winforms ■WebForms ◇Anything Windows-specific ■registry, ACLs, perf counters, etc. ◇No AppDomains ■Infrastructure exists but it is no longer usable in terms of API ■New AppContext object ■AssemblyLoadContext to dynamically load assemblies ■Container to isolate code ◇No Remoting ◇No Binary Serialization ◇No Code Access Security (CAS)
  • 28. .NET Core Saturday 2016 – 22.10.2016 Should I migrate my project? ◇Cannot: ■WPF, WinForms, unless UWP ■ASP.NET WebForms ◇Should (absolutely): ■General purpose libraries ◇Should (maybe): ■ASP.NET MVC ■Micro-services ■Console apps ■Rewrite ■Talent expertise on Linux
  • 29. .NET Core Saturday 2016 – 22.10.2016 .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES .NET today—app models and libraries
  • 30. .NET Core Saturday 2016 – 22.10.2016 .NET FRAMEWORK .NET CORE XAMARIN APP MODELS BASE LIBRARIES .NET today—reusing code
  • 31. .NET Core Saturday 2016 – 22.10.2016 • Codebase Fork • Need implementations of new capabilities on each platform • Need to align with different ship cycles (e.g., Windows for .NET Framework) • Key API’s are not present on all platforms • Different implementations on each platform • Need to target a small common denominator to reuse code • Need to master 3 base class libraries .NET today—challenges Developers Platforms
  • 32. .NET Core Saturday 2016 – 22.10.2016 .NET Standard Library
  • 33. .NET Core Saturday 2016 – 22.10.2016 .NET ecosystem tomorrow .NET FRAMEWORK .NET CORE XAMARIN *
  • 34. .NET Core Saturday 2016 – 22.10.2016 .NET tomorrow—.NET Core today .NET FRAMEWORK .NET CORE XAMARIN
  • 35. .NET Core Saturday 2016 – 22.10.2016 .NET Standard Library ◇Starting from PCL purposes ◇Common functionalities among choosen platform at compile time ◇Runtime library contracts ◇Set of reference assemblies ◇Binary compatibility ◇NuGet packages idenfified by «moniker» (ex. «netstandard1.6») ■don’t need to specify all supported runtimes: net45+wp80+win8+wpa81+dnxcore50 ■Netstandard 1.4: target Fx 4.6, Core 1.0, UWP, Mono ■Netstandard 1.2: target Fx 4.5, Windows Phone 8, etc. ◇So it can run on any Runtime complaining standard ◇https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net- platform-standard.md
  • 36. .NET Core Saturday 2016 – 22.10.2016 .NET Platforms Target Platform Name Alias Versions .NET Platform Standard netstandard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 .NET Core netcoreapp 1.0 .NET Framework net 4.6.3 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 Universal Windows Platform uap 10.0 Windows win 8.1 8.0 Windows Phone wpa 8.1 Windows Phone Silverlight wp 8.1 8.0 Mono/Xamarin Platforms * Mono *
  • 37. .NET Core Saturday 2016 – 22.10.2016 .NET Core Runtimes ◇Runtime Adaptation Layer ■Specific layer to complete platform specific implementation ◇Runtime Identifier RID ■Identifies Operative System ■https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
  • 38. .NET Core Saturday 2016 – 22.10.2016 Runtime Identifier RID •Windows 7 / Windows Server 2008 R2 •win7-x64 •win7-x86 •Windows 8 / Windows Server 2012 •win8-x64 •win8-x86 •win8-arm •Windows 8.1 / Windows Server 2012 R2 •win81-x64 •win81-x86 •win81-arm •Windows 10 / Windows Server 2016 •win10-x64 •win10-x86 •win10-arm •win10-arm64 •Red Hat Enterprise Linux •rhel.7.0-x64 •rhel.7.1-x64 •rhel.7.2-x64 •Ubuntu •ubuntu.14.04-x64 •ubuntu.14.10-x64 •ubuntu.15.04-x64 •ubuntu.15.10-x64 •ubuntu.16.04-x64 •ubuntu.16.10-x64 •CentOS •centos.7-x64 •Debian •debian.8-x64 •Fedora •fedora.23-x64 •fedora.24-x64 •osx.10.10-x64 •osx.10.11-x64 •osx.10.12-x64 •OpenSUSE •opensuse.13.2-x64 •opensuse.42.1-x64 •Oracle Linux •ol.7-x64 •ol.7.0-x64 •ol.7.1-x64 •ol.7.2-x64 •Currently supported Ubuntu derivatives •linuxmint.17-x64 •linuxmint.17.1-x64 •linuxmint.17.2-x64 •linuxmint.17.3-x64 •linuxmint.18-x64 WINDOWS RIDS LINUX RIDS WINDOWS RIDS
  • 39. .NET Core Saturday 2016 – 22.10.2016 .NET tomorrow—.NET Core today .NET FRAMEWORK .NET CORE XAMARIN
  • 40. .NET Core Saturday 2016 – 22.10.2016 .NET Core Runtime
  • 41. .NET Core Saturday 2016 – 22.10.2016 Next gen JIT (RyuJIT) SIMD Runtime Components Compilers Languages innovation .NET Compiler Platform .NET Core 5 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core What’s common, and what’s not?
  • 42. .NET Core Saturday 2016 – 22.10.2016 .NET Compilers ◇The C# and F# languages (Visual Basic is coming) ◇C# 6.0 is the same (road to 7.0) ◇Integrated into several text editors and IDEs ◇Roslyn: open-source C# and Visual Basic compilers with rich code analysis APIs
  • 43. .NET Core Saturday 2016 – 22.10.2016 Compilers and runtimes in action ◇JIT: Just-in-Time Fast compilation during runtime ◇AOT: Ahead of Time Highly optimized machine code during build CoreRT .NET Native Compiler Single binary 64 bit native code CoreCLR RyuJIT .NET assemblies IL code Roslyn Compiler Platform Build AOT Native codeJIT CoreFX
  • 44. .NET Core Saturday 2016 – 22.10.2016 CoreCLR ◇CoreCLR is the new runtime environment used by ASP.NET and the Console Application ◇It uses new RyuJIT. Includes basic services and Garbage Collector ◇It's faster and produces optimized code (SIMD, Vectorization, etc.) ◇https://github.com/dotnet/coreclr
  • 45. .NET Core Saturday 2016 – 22.10.2016 CoreRT ◇CoreRT is another used by UWP ◇.NET Native generates all the native code and is free from all addictions ◇UWP uses the CoreCLR during debugging and .NET Native in Release ◇.NET is a Ahead of Time (AOT) compiler ◇Native compilation uses the backend compiler in Visual C++ ◇https://github.com/dotnet/corert ◇Pro ■Less boot time, less RAM ■Better performances ■Less battery ◇Cons: ■Compile Time ■Linq interpreted
  • 46. .NET Core Saturday 2016 – 22.10.2016 CoreFX ◇It includes classes for collections, file systems, console, XML, async and many others ◇https://github.com/dotnet/corefx ■This repo contains the .NET Core foundational libraries
  • 47. .NET Core Saturday 2016 – 22.10.2016 Tools
  • 48. .NET Core Saturday 2016 – 22.10.2016 Acquisition ◇NET Core is distributed in two main ways, as packages on NuGet.org and as standalone distributions. ◇You can download .NET Core at https://www.microsoft.com/net/download ◇The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools ◇.NET Core Packages contain the .NET Core runtime and libraries.
  • 49. .NET Core Saturday 2016 – 22.10.2016 Developer Environments ◇Your choice of tool, on your choice platform ■Visual Studio on Windows ■Visual Studio Code on Mac, Linux, or Windows ■vi or emacs
  • 50. .NET Core Saturday 2016 – 22.10.2016 Text before UI ◇Everything from text files ■Projects ■Configuration ■Preferences and options ■Launch settings ◇JSON is preferred data format
  • 51. .NET Core Saturday 2016 – 22.10.2016 dotnet.exe Command Line ◇dotnet new ◇dotnet restore ◇dotnet run ◇dotnet build ◇dotnet build –native ◇dotnet test ◇dotnet pack ◇dotnet deploy
  • 52. .NET Core Saturday 2016 – 22.10.2016 Testing ◇xUnit was first, now NUnit, MsTest ◇Secondary test libraries (mocking, functional testing, etc.) in progress ◇Add following NUGET packages: xunit, dotnet-test-xunit Run tests: dotnet test
  • 53. .NET Core Saturday 2016 – 22.10.2016 Application Types
  • 54. .NET Core Saturday 2016 – 22.10.2016 New project system ◇Independent of Visual Studio ◇JSON files instead of VS artefacts ◇Every file is relevant ■Unless stated otherwise ◇Specific folder structure ◇Build for multiple target frameworks ◇.xproj for Visual Studio (for now) ◇C:Program Files (x86)Microsoft SDKsNuGetPackages
  • 55. .NET Core Saturday 2016 – 22.10.2016 NuGet all the things ◇NuGet packages are unit of reference ■Not assemblies ◇Projects will: ■build NuGet packages ■reference NuGet packages
  • 56. .NET Core Saturday 2016 – 22.10.2016 Global.json ◇Defines the SDK-s to be used in solution (projects) ◇SDK is installed in: C:Program Filesdotnetsdk
  • 57. .NET Core Saturday 2016 – 22.10.2016 Project.json { "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
  • 58. .NET Core Saturday 2016 – 22.10.2016 Framework Dependent Application ◇Framework Dependent Application ■Common .NET application type ■It requires preinstalled .NET framework to run ■Small footprint ◇Runtime in C:Program Filesdotnetsdk
  • 59. .NET Core Saturday 2016 – 22.10.2016 Self Contained Applications ◇Precompiled for specific runtime ■win10-x64 ■osx.10.10-x64 ■ubuntu.14.04-x64 ◇Includes runtime assemblies as a part of application ◇Does not need preinstalled framework ◇Big footprint. ◇Deployment is two-step process ■Build Executable shim ■Publish with runtime
  • 60. .NET Core Saturday 2016 – 22.10.2016 Self-Contained Applications{ "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.1", // "type": "platform" }, "netcorelib": "1.0.0-*" }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } }, "runtimes": { "win10-x64": {}, "osx.10.10-x64": {}, "ubuntu.14.04-x64": {} } Remove this to activate build of executable. Add wanted runtimes. Or you get an error. 
  • 61. .NET Core Saturday 2016 – 22.10.2016 Step I: Build executable shim Build application: C:AppFolder>dotnet build Native shim code. You application is still here  in DLL When you run this it is will load framework assemblies from installation folder. It is still not self-contained application
  • 62. .NET Core Saturday 2016 – 22.10.2016 Step II: Build Self-Contained Application Build application: C:AppFolder>dotnet build Build application: C:AppFolder>dotnet publish –r win10-x64 C:AppFolder>dotnet publish –r win10-x86 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 C:AppFolder>dotnet publish –r ubuntu.14.04-x64 All framework assemblies are deployed with application.
  • 63. .NET Core Saturday 2016 – 22.10.2016 Conclusions
  • 64. .NET Core Saturday 2016 – 22.10.2016 Conclusions ◇Coherent with new requirements ◇Learned from the community ◇Open ◇https://github.com/dotnet/core ◇Global vision for all .NET ecosystem ◇Support for all runtimes in future (.NET Full, Mono, Xamarin)
  • 65. .NET Core Saturday 2016 – 22.10.2016 Any questions? You can find me at: marco.parenzan@1nn0va.it Thanks!

Editor's Notes

  1. WPF, WinForms, even if the application isn’t going cross-platform, stay on .Net Fx. A migration to UWP is possible, but that means a rewrite of the UI in addition to the Core migration. ASP.NET WebForms applications should remain on .NET Fx. On the other hand, MVC applications, micro-services, console apps, and anything that can benefit in being deployed cross-platform, especially using containers, is an excellent choice. General purpose libraries should definitely be ported and support both Core and Fx.
  2. https://en.wikipedia.org/wiki/Ahead-of-time_compilation
  3. NET Core is distributed in two main ways, as packages on NuGet.org and as standalone distributions. You can download .NET Core at the .NET Core Getting Started page. The Microsoft .NET Core distribution includes the CoreCLR runtime, associated libraries, a console application host and the dotnet app launcher. It is described by the Microsoft.NETCore.App metapackage. The Microsoft .NET Core SDK distribution includes .NET Core and a set of tools for restoring NuGet packages and compiling and building apps. Typically, you will first install the .NET Core SDK to get started with .NET Core development. You may choose to install additional .NET Core (perhaps pre-release) builds. .NET Core Packages contain the .NET Core runtime and libraries (reference assemblies and implementations), for example, System.Net.Http. .NET Core Metapackages describe various layers and app-models by referencing the appropriate set of versioned library packages.
  4. Dotnet build, in the case of an app, generates runnable assets by copying an executable host.