Enable application innovation - Chris Risner

Enable application innovation - Chris Risner

Something has Frozen Over: .NET on Linux and OS X Chris Risner Senior Technical Evangelist @ChrisRisner http://chrisrisner.com About About Me Me Why .NET on Linux / OS X

The Easy Way Getting Setup Agenda Creating an App Running ASP.NET Misc / Advanced Wrap-up Why .NET on Linux / OS X? Today

Projects: 1583 Contributors 9045 Stars: 119706 Forks: 23518 .NET on Linux and OS X WPF Windows Forms ASP.NET

(4 & 5) RCASP.NET 5 RC .NET Framework 4.6 Universal Windows Apps .NET Core 5 .NET Native

CoreCLR Modular and optimized .NET libraries and runtimes Fully-featured and integrated .NET libraries and runtime for Windows Shared Runtime components 64-bit JIT + SIMD Garbage

Collector Libraries Base class libraries NuGet packages Compilers .NET Compiler Platform (Roslyn) Languages innovation

Developers New workloads and technologies Organizations New market opportunities Why on Linux? IT - Platform diversification IT - Server consolidation in the cloud Customers can run .NET apps and services in Linux Support in VS for developing xPlat .NET Apps Dev Benefits

Support in VS for deploying .NET apps to Docker Edit, compile, and debug .NET code on OS X and Linux .NET Core is open source on GitHub Running .NET on Linux the Easy Way Currently in preview Docker Tools for Visual

Studio 2015 Separate install http://aka.ms/VSDockerTools ASP.NET 5 templates already part of VS 2015 Integrates well with Azure Pushes to any Docker host DEMO: Running ASP.NET on Linux with VS Getting Setup

.NET Core already installed as part of VS2015 Clone repo on GitHub and build from source Install from CMD/PS Curl DNVM Install a DNX Optionally install

Mono Curl DNVM Install prereqs Install a DNX Optionally install Mono Docker Development/Deployment Development

Getting the bits! Installing on OS X Install Visual Studio Code Install asp.net from http://get.asp.net OR curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/d nvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh Dnvm upgrade r coreclr

Installing on Linux Optionally install Mono //More on this later Install and build libuv Install DNVM //Much more on this

later http://aka.ms/AspNetOnLinux http://aka.ms/DotNetSettingUpLinux Cross platform Web Server Built using Libuv (same as Node) Libuv is an async IO library Kestrel Open Source https://github.com/aspnet/KestrelHttpServer You can run / write your own web server

IIS / WebListener also work http://aka.ms/aspnet5servers Creating an App Dev Environment Options Visual Studio 2015 Visual Studio Code Visual Studio

Code Choose your favorite editor, e.g. Sublime Text, Atom, etc. http://omnisharp.net Visual Studio Code Choose your favorite editor, Vi,

Emacs, Atom, etc. Visual Studio Code Lightweight, cross-plat

editor that runs on Windows, OS X and Linux Provides IntelliSense, colorization, refactoring, etc. Edit, compile, and run apps locally Debugging support for .NET apps (sort of ;)) Open source Support for extensions Yeoman

Scaffolding tool for apps Installed with NPM Makes creating new projects super easy! yo aspnet Generators installed with npm

DEMO: Creating a Console App Dnvm - .NET Version Manager Dnu - .NET Development Utility Whatd we just see? Dnx - .NET Execution Yo yeoman Building for Mono and CoreCLR

Running ASP.NET DEMO: Building an ASP.NET App Debugging and Unit Tests Doesnt work out of the box Can work with Mono Debugging

Requires creating build task using xbuild and creating EXE Possible for ASP.NET but more complex Built-in to VS Code coming Working with CoreCLR coming Unit test project in Yeoman Add new command Add dependencies Unit Testing Add test class(es)

Dnx test DEMO: Debugging and Unit Tests Deployment, Advanced, Misc Xcopy deployment to target environment On-premises, IaaS, Docker, etc Deployment Deploy .NET Core with app

No system wide installation necessary Package in Docker in VS .NET Core On GitHub Calling Native Code [DllImport("libc")] private static extern int printf(string format);

printf("Hello, //Codemash 2016!\n"); // Same as PInvoke on Windows Setting the Environment Windows: set ASPNET_ENV=Development OS X / Linux: export ASPNET_ENV=Development (also Staging, Production)

Performance https://github.com/aspnet/benchmarks DEMO: SQL Wrapup Install Visual Studio 2015 on Windows Today Manual installs on OS X / Linux

Pre-built VM on Azure Marketplace Docker using dockerfile Remote debugging in VS2015 Local debugging in VS Code Whats coming? Performance improvements More libraries ported to .NET Core .NET Native dotnet CLI

Creating a new app Prepping your Apps Start with VS 2015 ASP.NET 5 templates Check out PartsUnlimited sample on GitHub Moving existing apps Transition to ASP.NET 5 on Windows Production approved Go Live!

Engage directly with teams on GitHub http://aka.ms/NetCoreSupport MICROSOFT SESSIONS Day Room Event Speaker

Thu 8:00AM Salon E The Hitchhiker's Guide to Azure Mobile Apps David Giard Fri 4:00PM Aloeswood/ Leopardwood

Secrets of Success in the style of GLEE Jennifer Marsman Thu 9:15AM Mangrove Something has Frozen Over: .NET on Linux and OS X Chris Risner Thu 9:15AM

Salon A Designing a Game for Mobile Amanda Lange Thu 11:45PM Salon A Rise of the Machines

Josh Holmes Fri 4:00PM Orange Cloud-Scale Event Processing with the Reactive Extensions (Rx) Matthew Podwysocki Thu 10:30AM

Zambezi Designing C# 7 in the Open Kevin Pilch-Bisson Fri 9:45AM Aloeswood/ Leopardwood Big Data for the SQL Ninja

Matt Winkler Thu 3:30PM Zambezi Matt Johnson Thu 1:00PM Guava/Tamarind Thu 9:15AM

Salon H Cloud Design Patterns for Scalability and Performance Getting Started with nuML, an Open Source .NET Machine Learning Library Tracking Real World Web Performance Thu 9:15AM Sagewood/Zebrawood The Code Behind the Vulnerability

Barry Dorrans Thu 1:00PM Sagewood/Zebrawood Introducing the new ASP.NET Authorization and Data Protection Stacks Barry Dorrans Seth Juarez Nik Molnar

MVP SESSIONS Day Room Event Tue Salon A 1:00PM Cross Platform Mobile UI with Xamarin Forms Workshop Wed

Aloeswood, Leopardwood 8:00AM Tune SQL Server Like a Guru! Part 1 Wed Cypress 11:45:AM Async Everywhere! Wed Aloeswood, Leopardwood 11:45:AM Abstract Art: Getting Abstraction Just Right Wed Aloeswood, Leopardwood

1:00PM Tune SQL Server Like a Guru! Part 2 Thu 8:00AM Nile CQRS 2.0 Thu 8:00AM Zambezi Node.js Crash Course Thu Sagewood, Zebrawood 10:30AM Whose Shoulders are These? Thu Orange 10:30AM

Bringing Up Our Future On Mentoring Junior Developers Thu Indigo Bay 10:30AM Consuming REST APIs, for all interpretations of REST Thu Salon A 10:30AM A Look at Team Foundation Server 2015 Build Thu Indigo Bay 11:45AM Common TSQL Mistakes

Thu 1:00PM Aloeswood, LeopardwoodGrowing a Testing^H^H^H^H^H^H^HWhole Quality Team The Hard Way Thu 1:00PM Salon D Getting Started with 3D Printing Thu 1:00PM Salon A Hypermedia APIs: The rest of REST Thu 3:30PM Suite 1, Suite 6 Why I Left Angular and Knockout for React Thu 3:30PM Aloeswood, LeopardwoodLoad Testing Your Web Application in Visual Studio: A Case Study Fri 9:45AM Salon D Electronics 101 for IoT Developers Fri 9:45AM Salon E Convention Over Configuration: Queueing is Easy OMG! This Codebase Sucks! Paying Down Technical Debt While

Fri 9:45AM Suite 1, Suite 6 Continuing to Deliver Value Speaker Jason Awbrey Kevin Boles Stephen Cleary Jeremy Clark Kevin Boles David Hoerster David Neal Jack Daniel Sarah Dutkiewicz

Darrel Miller Paul Hacker Kevin Boles Jim Holmes Adam Barney Chris Marinos Cory House James Bender Adam Barney Matthew Groves Jim Holmes @ChrisRisner

http://chrisrisner.com Resources http://code.visualstudio.com http://github.com/aspnet/home http://docs.asp.net http://get.asp.net http://live.asp.net https://github.com/Microsoft/HealthClinic.biz/ 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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. FROM microsoft/aspnet:1.0.0-rc1 Docker file COPY . /app WORKDIR /app RUN ["dnu", "restore"] EXPOSE 5000/tcp ENTRYPOINT ["dnx", "-p" "project.json",


Recently Viewed Presentations

  • Anti-Federalists vs Federalists - Taylor County Schools

    Anti-Federalists vs Federalists - Taylor County Schools

    The civic virtue of the citizens was not enough to keep people from seeking their own interests. People did not work for the common good. A large republic where power is divided between the national and state governments is a...
  • GHSGT Common Prefixes and Suffixes

    GHSGT Common Prefixes and Suffixes

    Medical Terminology: Root Words, Prefixes, and Suffixes Smyrna Health Science
  • Parent Information Evening 2019

    Parent Information Evening 2019

    6 Yellow: Mrs. Carmin Miceli ( Monday - Wednesday) & Mrs. Mirna Hirmiz (Thursday & Friday). ... Zen Shorts by Jon J Muth, The Parables of The Rich Man and Lazarus and The Pharisee and the Tax Collector, Reader's Dialogue:...
  • The State of the New Indiana Academic Standards

    The State of the New Indiana Academic Standards

    @EducateIN. Today's Goals. Understand the state of language use and instruction in Indiana. Articulate the changes to the world languages standards. Describe processes to support teachers, students, and curriculum development
  • Lecture 7: Window Manager Input Models

    Lecture 7: Window Manager Input Models

    Translation Tables. So particular mouse key or keyboard key not hard-wired into application. Allows user customization and easier changes . Supported in Motif by the . resources. mechanism . e.g. Shift<Btn1Down>: doit()can be put in .Xdefaults, and then application deals...
  • Introduction to Statistical Quality Control, 5th edition

    Introduction to Statistical Quality Control, 5th edition

    Armand Feigenbaum. Author of Total Quality Control, promoted overall organizational involvement in quality, Three-step approach emphasized quality leadership, quality technology, and organizational commitment . Chapter 1.
  • Aiaa 2002-3298 Aerodynamics of Two Side-by-side Plates in ...

    Aiaa 2002-3298 Aerodynamics of Two Side-by-side Plates in ...

    Flow Simulation near Toroidal Ballute Models DWC, March 24, 2012 Vladimir V. Riabov: Hypersonic Rarefied Aerothermodynamics * Flowfield near a toroidal ballute model Mach number contours in dissociating oxygen flow (left) and perfect-gas flow (right) about a toroidal ballute model...
  • On-chip MRAM as a High-Bandwidth, Low-Latency Replacement for

    On-chip MRAM as a High-Bandwidth, Low-Latency Replacement for

    Computer Architecture and Technology Lab University of Texas at Austin Motivation Latency to off-chip memory hundreds of cycles Off-chip memory bandwidth becoming a performance limiting factor MRAM - Emerging memory technology with high bandwidth and low latency Goal of our...