Author
svswaminathan
View
122
Download
4
Embed Size (px)
Cross platform .Net development
using .Net core.Net Bangalore Meetup – Aug 20, 2016
[email protected] @svswaminathan wannabeegeek.com
2
Swaminathan Vetri• Senior Engineer @ Target• Microsoft MVP - Visual Studio &
Development technologies• Windows/Web/Cross platform mobile
developer• Blogger, Speaker, Amateur photographer,
Gadget freak
3
Objectives• Intro to .Net Core• Tooling• Getting started• Demo• Build – Test - Deploy
• Porting existing .Net apps to target .Net core
4
What is .Net Core ?
.NET Core is a blazing fast, lightweight and modular platform for creating web applications and services that run on
Windows, Linux and Mac.
5
Why .Net Core ?
Cross platform Unified Fast
Light weight Modern Open source
6
How is it Cross platform?Platform specific | Platform neutral code | Conditional compilation
7
Building Blocks of .Net Core
Core CLR - .Net RuntimeCore FX- Base class libraries
App Workloads
‘Dotnet’ app host
8
Application Types
Portable
Truly Cross platform
Lightweight package
Shared runtime across multiple apps
Self Contained
Guaranteed to be run on any machine
Complete control on the version of .Net Core
9
Tooling• DotNet CLI• Scaffold – Build – Run – Test – Deploy
• Yeoman• Scaffold
• Any Text Editor of your choice• Visual Studio Code• Atom• Sublime Text• Vim• Emacs
10
Getting started• http://dot.net
• dotnet new• dotnet restore• dotnet build• dotnet run
11
Target Framework Monikers
12
Demo• Creating a new app
• Console• Library• Test• MVC App• Web API
• Building and running app• Debugging app using VS Code
13
Porting existing .net apps• Analyze 3rd party dependencies• Retarget all projects to .Net Framework 4.6.2• Use API Portability Analyzer to understand the portability metrics• Port Tests as well• Tools to use• Nuget – for searching packages• Reverser package search – for searching packages based on types
14
Useful links• http://dot.net• https://docs.microsoft.com/en-us/dotnet/articles/core/index• https://github.com/dotnet• https://github.com/dotnet/corefx/blob/master/Documentation/
architecture/net-platform-standard.md• https://github.com/Microsoft/dotnet-apiport/blob/master/docs/
HowTo/Introduction.md• https://packagesearch.azurewebsites.net/