Download presentation
Presentation is loading. Please wait.
Published byJade Miles Modified over 9 years ago
1
Build 2015 4/17/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
2
Build 2014 Habib Heydarian (habibh@microsoft.com) Program Manager .NET
4/17/2017 670 Taking .NET Cross-Platform: Building .NET Server/Cloud Apps on Linux and OS X Habib Heydarian Program Manager .NET © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
3
I am not a lawyer, but… The content of this presentation is subject to change! The bits are raw, crunchy but tasty* (*depending on your definition of tasty) We are starting this journey with you and would _love_ your feedback
4
Today’s Journey Hello World on Linux (Demo) Ch1: The Why and What
Ch2: Acquisition and Setup Ch3: Creating and Building an App Ch4: Deploying an App to Linux Ch5: Advanced Topics Ch6: Wrap up
5
Demo Let’s Dive In: Hello World on Linux Build 2015 4/17/2017 5:38 PM
© 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
6
Running a .NET App from the Cmd Line
4/17/2017 5:38 PM Running a .NET App from the Cmd Line Run: ./corerun HelloWorld.exe // corerun is a native host which loads and runs the app // On Windows, bootstrapping a .NET app is built into the OS © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
7
Chapter 1: The Why and What
8
.NET on Linux and OS X .NET Framework 4.6 .NET Core 5 Shared
WPF Windows Forms ASP.NET (4 & 5) ASP.NET 5 Universal Windows Apps .NET Framework 4.6 .NET Core 5 CoreCLR .NET Native Fully-featured and integrated .NET libraries and runtime for Windows Modular and optimized .NET libraries and runtimes Shared 64-bit JIT + SIMD Garbage Collector Runtime components Base class libraries NuGet packages Libraries Compilers .NET Compiler Platform (Roslyn) Languages innovation
9
Why .NET on Linux? For Developers: New workloads/technologies
For Organizations: New market opportunities For CTOs: Platform diversification For CTOs: Server consolidation in the cloud
10
Benefits for Developers
Customers can run .NET apps and services in a Linux environment for server/cloud scenarios First class support in VS for developing & deploying .NET apps to Linux environments, including Docker, as well as the ability to remotely debug .NET apps running on Linux. OS X users can edit, compile and debug their .NET code on their Mac using Visual Studio Code (or their favorite editor). .NET Core is open source with the entire source code on GitHub
11
Chapter 2: Acquisition and Setup
12
Acquisition Options (How do I get the bits?)
Build 2015 4/17/2017 5:38 PM Acquisition Options (How do I get the bits?) .NET Core already installed as part of VS2015 RC Clone repo on GitHub and build from source (advanced) Download & install tar file Use Homebrew formula on GitHub Create VM on Azure Marketplace Use Dockerfile on Docker Hub (coming) Development/Deployment Development © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
13
Installing & running .NET on OS X using Homebrew
4/17/2017 5:38 PM Installing & running .NET on OS X using Homebrew After installing Homebrew ( brew tap aspnet/dnx brew update brew install dnvm dnx . kestrel // Homebrew is a popular package manager for Mac // See for details © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
14
Installing & running .NET on Linux
4/17/2017 5:38 PM Installing & running .NET on Linux After downloading the tar file (*.tar.gz) tar zxvf PartsUnlimited-demo-app-linux.tar.gz -C ~/ source ~/.dnx/dnvm/dnvm.sh dnvm use beta r coreclr -arch x64 dnx . kestrel // A TAR (Tape ARchive) file is a standard format in *nix for packaging files. You can pack/unpack a tar file using the ‘tar’ command. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
15
Chapter 3: Creating and Building an App
16
Development Environment Options
Build 2015 4/17/2017 5:38 PM Development Environment Options Visual Studio 2015 RC Visual Studio Code Choose your favorite editor, e.g. Sublime Text, Atom, etc. Choose your favorite editor, Vi, Emacs, Atom, etc. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
17
Demo Creating an ASP.NET 5 App in Visual Studio and Deploying it to a Docker Container
18
Running an ASP.NET 5 App on Linux
4/17/2017 5:38 PM Running an ASP.NET 5 App on Linux Run: dnx . kestrel View website: // dnx (.NET Execution Environment) contains the code required to bootstrap and run an ASP.NET 5 app // kestrel is the cross-platform web server for ASP.NET 5 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
19
Accessing Data from your App
.NET Core on Linux offers access to your existing data SQL Server (remote access) Azure SQL Database No change to data access code No data migration necessary Additional data providers under consideration Azure SQL Database SQL Server In cloud On premise
20
Demo Accessing Data in an Azure SQL Database
21
Visual Studio Code 101 Lightweight, cross-plat editor that runs on Windows, OS X and Linux Provides IntelliSense, colorization, refactoring, etc. Edit, compile and run app locally Debugging support for .NET apps coming
22
Chapter 4: Deploying an App to Linux
23
Deployment and Packaging
Xcopy deployment to target environment On-premise Azure IaaS (Linux VM) Docker container Windows container Can use any deployment technology available on corresponding OS (Windows/Linux/OS X) Can deploy .NET Core with the app No need for machine-wide deployment of .NET
24
Linux VM on Azure Marketplace
Everything you need to evaluate .NET on Linux .NET Core ASP.NET 5 Parts Unlimited sample app
25
Containers 101 (Oversimplified View)
A Container is a Lightweight VM A unit of software delivery Docker is the most popular container technology Visual Studio 2015 RC provides support for publishing/managing Docker containers Visual Studio 2015 RC Tools for Docker
26
Chapter 5: Advanced Topics
27
Building .NET Core from Source (Windows Only)
Runtime (CoreCLR) - Get CMake from Git clone 3. Build via build.cmd. (make sure cmake is on the path) 4. Once build is done, binaries are in bin\Product\Windows_NT.x64.Debug Framework (CoreFX) - Git clone Build via build.cmd (from the root of the directory) Once build is done, binaries are in \bin\Windows_NT.AnyCPU.Debug
28
The .NET Core Repo on GitHub
29
GitHub 101 Home of the Octocat!
Also home of all .NET open source projects including .NET Core, ASP.NET 5, EF7, etc. Visual Studio 2015 RC has support for GitHub
30
Calling Native APIs from .NET on Linux
4/17/2017 5:38 PM Calling Native APIs from .NET on Linux [DllImport("libc")] private static extern int printf(string format); … printf("Hello, //BUILD 2015!\n"); // Same as Platform Invoke on Windows © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
31
Chapter 6: Wrap up
32
Where are we today? .NET on Linux/OS X available for eval (64-bit only) Download tar failes for Linux and OS X Evaluate using VM on Azure Marketplace Evaluate using Dockerfile on Docker Hub Create, edit and publish ASP.NET 5 apps using VS2015 RC or Visual Studio Code Still to come Remote debugging from VS2015 Local debugging from Visual Studio Code MSBuild support (currently requires Mono) Production readiness
33
Plan of Record (Our Promise @ RTM)
.NET Core apps can run in a production Linux environment, including Docker containers (both on-prem and in the cloud) Developers can edit, compile and debug their .NET code on Mac OS X using Visual Studio Code (or their favorite editor). Apps built using platform-agnostic features have identical behavior on Windows and x-platform .NET Core brings along existing .NET cloud ecosystem of libraries to Linux Microsoft will support, service and maintain .NET on Linux like any other Microsoft product
34
Linux Distros Supported Tested for BUILD release
For the BUILD release, we have tested using Ubuntu LTS Your mileage might vary depending on distro Other distros under consideration
35
But what about Mono? Mono is a very popular platform for mobile .NET development on iOS and Android It enjoys strong support from both the open source community as well Xamarin, Unity, etc. While great for mobile scenarios, Mono wasn’t designed for server/cloud production-grade scenarios, i.e. High throughput Scale up/out Mean Time To Failure (MTTF) Ongoing collaboration on GitHub with the Mono community
36
Getting Ready for .NET on Linux
If creating a brand new app on Linux Start with Visual Studio 2015 RC ASP.NET 5 project templates Evaluate Parts Unlimited ASP.NET sample on GitHub If moving an existing app to Linux Get a head start by transitioning app to ASP.NET 5 on Windows now Once app is on ASP.NET 5, moving to Linux is trivial as ASP.NET 5 on Windows and Linux are identical
37
Call To Action Download .NET Core + ASP.NET 5 (Linux | OS X)
Build 2015 4/17/2017 5:38 PM Call To Action Download .NET Core + ASP.NET 5 (Linux | OS X) OS X: Linux: Download Visual Studio Code (Windows | Linux | OS X) Download Visual Studio 2015 RC Tools for Docker Preview Evaluate .NET Core on Linux via the Azure VM Gallery Check out the .NET Cross-Platform Tutorials Create Cross-Platform .NET Apps Learn about the Parts Unlimited Sample App Get involved and become a contributor to .NET Core! © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
38
We would love to hear from you!
Build 2014 4/17/2017 We would love to hear from you! Blog dotnet @dotnet MSDN Forums UserVoice © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
40
Backup
41
.NET Core on Windows vs Linux/OS X
Feature Windows Linux / OS X Web Server IIS or kestrel kestrel IDE/Editor Visual Studio Visual Studio (remote development) Emacs Vi Sublime Text
42
Title of presentation Name goes here Position title goes here
Build 2014 4/17/2017 Name goes here Position title goes here Session title goes here Title of presentation Insert Session Code Here © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
43
Color palette and tools
Build 2014 4/17/2017 Color palette and tools Lead and accent colors have been formatted into this template. In general, use white or dark blue for all slide backgrounds. When building other graphics like tables and charts, please utilize the color palette provided within this template. The first 6 colors in the sub-tiles to the right. //build/ template background colors RGB //build/ template color palette and Windows brand colors RGB Presentation tools Find Photography, device renders and images, logos, and more here Additional Microsoft brand images here (click ‘browse photography’ at top right) © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
44
Agenda slide Color Content layouts Demo and divider slides
Build 2014 4/17/2017 Agenda slide Color Content layouts Demo and divider slides Charts and code Screenshots © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
45
Content slides Build 2014 4/17/2017
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
46
Typography (color back option)
Build 2014 4/17/2017 Typography (color back option) This could be a pithy summary of your slide content, or a single phrase to describe the main idea. Titles are 48pt Segoe UI Light and sentence case. They do not use periods. All text 28pt and above (including this content) is in Segoe UI Light. The smallest font you should use is 14pt, and in Segoe UI (body). Second level not bulleted, 14pt Segoe UI (body) like this. Multiple bullets would look like this. Third level are bullets, like this. Font is white (RGB 255,255,255) on dark blue slides. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
47
Build 2014 4/17/2017 Typography This could be a pithy summary of your slide content, or a single phrase to describe the main idea Titles are 48pt Segoe UI Light and sentence case. They do not use periods. All text 28pt and above (including this content) is in Segoe UI Light. The smallest font you should use is 14pt, and in Segoe UI (body). Second level not bulleted, 14pt Segoe UI (body) like this. Multiple bullets would look like this. Third level are bullets, like this. Font is gray (RGB 64,64,64) on white slides. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
48
Build 2014 4/17/2017 Special emphasis content, like a quote or statement, can appear in this location on the slide, at 48pt. Avoid running text from one edge of the page to the other. Do not use this slide for bulleted content. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
49
Picture shape with title
Build 2014 4/17/2017 Picture shape with title Text would go here. To add your own image, right click the thumbnail view of this slide and select New Slide. Click the picture icon, as directed, to add a new image. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
50
Color shapes can hold messaging
Build 2014 4/17/2017 Color shapes can hold messaging Use the Format Shape menu to change the color of the shape. This text box will automatically center to align beside the color shape. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
51
Color shapes can hold messaging
Color back option. Use the Format Shape menu to change the color of the shape. This text box will automatically center to align beside the color shape.
52
Demo title (use for demo intros)
53
Single device preferred angle
Single device preferred angle. This is another option for displaying a hardware image that sits at an angle.
54
Charts and code (this is a divider slide)
55
Charts For content: Type is what articulates the message. Text doesn’t need to be bulleted. Text size can reinforce and impact.
56
Charts For content: Type is what articulates the message. Text doesn’t need to be bulleted. Text size can reinforce and impact.
57
Table This is a content box, always 24pts and sentence case. Column 1
Text This is a content box, always 24pts and sentence case.
58
Windows Runtime (WinRT)
Diagram with text This is a content box, always 24pts and sentence case. Media Foundation Playback/Preview (Media Engine) Windows Style App Capture (Capture Engine) Streaming (Sharing Engine) Transcode Audio/Video Source Video Decoder Effect 1 Encoder Effect N Sink Audio <audio src=“…”> <video src=“…”> Windows Runtime (WinRT)
59
Windows Runtime (WinRT)
Diagram without text Media Foundation Playback/Preview (Media Engine) New Windows 8 app Capture (Capture Engine) Streaming (Sharing Engine) Transcode Audio/Video Source Video Decoder Effect 1 Encoder Effect N Sink Audio <audio src=“…”> <video src=“…”> Windows Runtime (WinRT)
60
Slide title here Code content here in 24pt Consolas font. Always use this white slide for code.
61
Screenshots
64
Call to Action Use this slide to list resources, white papers, videos and links. Let attendees know their next step after seeing this session.
65
Call to Action (color back option)
Use this slide to list resources, white papers, videos and links. Let attendees know their next step after seeing this session.
66
Please Complete An Evaluation Form Your input is important!
4/17/2017 Please Complete An Evaluation Form Your input is important! Required Slide *delete this box when your slide is finalized SAMPLE or © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
67
SAMPLE Evaluate this session Required Slide
4/17/2017 Evaluate this session Required Slide *delete this box when your slide is finalized Speakers: This slide will be updated during the scrub process with a unique QR code. Attendees scan the QR code to access the eval for your session. SAMPLE © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.