ASP.NET 5 SOMEONE MOVED YOUR CHEESE. J. Tower



Similar documents
Cross-Platform ASP.NET 5 For the Cloud. Anthony Sneed

ASP.NET 5 Documentation


This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

VB.NET - WEB PROGRAMMING

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

70-487: Developing Windows Azure and Web Services

Introducing the.net Framework 4.0

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

ICON UK 2015 node.js for Domino developers. Presenter: Matt White Company: LDC Via

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

ASP.NET Using C# (VS2012)

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

Nikhil s Web Development Helper

Using Application Insights to Monitor your Applications

CrossPlatform ASP.NET with Mono. Daniel López Ridruejo

MODERN WEB APPLICATION DEVELOPMENT WORKFLOW

A lap around Team Foundation Server 2015 en Visual Studio 2015

What s New in IBM Web Experience Factory IBM Corporation

Symfony2 and Drupal. Why to talk about Symfony2 framework?

Braindumps.C questions

QML and JavaScript for Native App Development

Developing ASP.NET MVC 4 Web Applications

<Insert Picture Here> Java, the language for the future

Load and Performance Load Testing. RadView Software October

Developing ASP.NET MVC 4 Web Applications MOC 20486

The Great Office 365 Adventure

Developer Tutorial Version 1. 0 February 2015

GOA365: The Great Office 365 Adventure

Design and Functional Specification

WHITE PAPER. TimeScape.NET. Increasing development productivity with TimeScape, Microsoft.NET and web services TIMESCAPE ENTERPRISE SOLUTIONS

Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5 (VB)

Grunt, Gulp & fabs. Build-System and Development-Workflow for modern Web-Applications

Framework Adoption for Java Enterprise Application Development

IBM WebSphere ILOG Rules for.net

Application Development,.NET

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

Proof of Concept. A New Data Validation Technique for Microsoft ASP.NET Web Applications. Foundstone Professional Services

Splunk for.net Developers

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

GSA2013: The Great SharePoint Adventure 2013

Rapid Application Development. and Application Generation Tools. Walter Knesel

Continuous Integration and Delivery. manage development build deploy / release

ON-PREMISE OR IN THE CLOUD, A SINGLE JAVA EE APPLICATION PLATFORM

Amplify Service Integration Developer Productivity with Oracle SOA Suite 12c

Adding ELMAH to an ASP.NET Web Application

Microsoft.Realtests v by.ERICA.50q

Sitecore Dashboard User Guide

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March

Finding and Preventing Cross- Site Request Forgery. Tom Gallagher Security Test Lead, Microsoft

Course 10175A - Microsoft SharePoint 2010, Application Development

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

HTML5. Turn this page to see Quick Guide of CTTC

Andrew Kovalenko Full Stack Web Developer

CATALOG OF CLASSES IT and Technical Courses

A LIGHTWEIGHT CONFERENCE MANAGEMENT SYSTEM ON ASP.NET

Training Course Developing Web Applications on.net 4

Getting Started with Telerik Data Access. Contents

Preparing Your Business for Magento 2.0

NLUI Server User s Guide

PCD Test Tools. These tools provide various test functions for the Power Chain Device Toolkit web services (BACnetWS+).

Pro ASP.NET 4 CMS. Using the JET 4 Framework. Advanced Techniques for C# Developers. Apress. Alan Harris

Catálogo de cursos plataforma elearning Microsoft Imagine Academy: Microsoft SQL Server y Visual Studio

A Comparison of Open Source Application Development Frameworks for the Enterprise

GIS and Mapping Solutions for Developers. ESRI Developer Network (EDN SM)

AppDev OnDemand Microsoft Development Learning Library

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS

Entity Framework 5 Code First in MVC 4 for beginners

Creating Form Rendering ASP.NET Applications

maximizing IT productivity

Case Study. Data Governance Portal Brainvire Infotech Pvt Ltd Page 1 of 1

Enhancing your Web Experiences with ASP.NET Ajax and IIS 7

How To Write An Ria Application

Xamarin Cross-platform Application Development

Rainer Stropek time cockpit. NuGet

ASP.NET Overview. Ken Casada Developer Evangelist Developer & Platform Evangelism Microsoft Switzerland

Multi-touch app development with modern web tools. David Reagan, Advanced Visualization Lab

Concevoir et déployer vos applications à base de microservices sur Cloud Foundry

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Lecture 4 Cross-Platform Development. <lecturer, date>

Web Developer Toolkit for IBM Digital Experience

ASP.NET MVC Secure Coding 4-Day hands on Course. Course Syllabus

Rapid Game Development Using Cocos2D-JS

Quartz.Net Scheduler in Depth

Developing Microsoft SharePoint Server 2013 Core Solutions

Considerations for Mobile Application Development

How To Use Titanium Studio

Microsoft Azure Cloud for Solution Architects

James Singletary IV :: Front End Web Developer located in Tampa, Florida

Server-Side Scripting and Web Development. By Susan L. Miertschin

The power of root on Android emulators

Transcription:

ASP.NET 5 SOMEONE MOVED YOUR CHEESE J. Tower

Principal Sponsor http://www.skylinetechnologies.com Thank our Principal Sponsor by tweeting and following @SkylineTweets

Gold Sponsors Silver Sponsors

August 8 th 10 th 2016 Kalahari Resort, Wisconsin Dells http://www.thatconference.com

About Me Jonathan J. Tower Principal Consultant, JTower.com jtower@jtower.com jtower.com/blog jtowermi

A Little About The Session Title Who Moved My Cheese, by Dr Spencer Johnson Change Happens They Keep Moving The Cheese Anticipate Change Get Ready For The Cheese To Move Monitor Change Smell The Cheese Often So You Know When It Is Getting Old Adapt To Change Quickly The Quicker You Let Go Of Old Cheese, The Sooner You Can Enjoy New Cheese Change Move With The Cheese Enjoy Change! Savor The Adventure And Enjoy The Taste Of New Cheese! Be Ready To Change Quickly And Enjoy It Again They Keep Moving The Cheese.x

A Little About The Session Title Who Moved My Cheese, by Dr Spencer Johnson Change Happens They Keep Moving The Cheese Anticipate Change Get Ready For The Cheese To Move Change Monitor Change Smell The Cheese Often So You Know When It Is Getting Old Adapt To Change Quickly The Quicker You Let Go Of Old Cheese, The Sooner You Can Enjoy New Cheese Enjoy Change! Change Move With The Cheese Be Ready To Change Quickly And Enjoy It Again Enjoy Change! Savor The Adventure And Enjoy The Taste Of New Cheese! Be Ready To Change Quickly And Enjoy It Again They Keep Moving The Cheese.x

Overview Versions & History of ASP.NET Terminology Project Structure Pipeline Dependency Injection Framework Client-side Development

Let s Get Started, But First

If You Give $100, So Will I! http://bit.ly/mke-gives2 charity:water is a non-profit organization that provides clean and safe drinking water to people in developing nations. The organization was founded in 2006 and has helped fund 13,641 projects in 22 countries, benefiting over 4.6 million people. - Wikipedia 97.1/100 - CharityNavigator.org

ASP.NET Versions & History

History of ASP.NET Version.NET / IDE Version Key Features 1.0 1.0 and Visual Studio.NET OO, event-driven web apps, viewstate, DLL class libraries 1.1 1.1 and Visual Studio.NET 2003 ODBC 2.0 2.0 and Visual Studio 2005 New controls, Themes, Skins, Master pages, Membership Services, Localization 3.5 3.5 and Visual Studio 2008 ASP.NET AJAX, LINQ 4.0 4.0 and Visual Studio 2010 Routing 4.5 4.5 and Visual Studio 2012 Unobtrusive Validation, Async, HTML5, WebSocket 4.5.1 4.5.1 and Visual Studio 2013 One ASP.NET, Scaffolding, Identity

Two Current Versions

.NET 4.6 and.net Core 5

.NET 4.6 and.net Core 5

ASP.NET 4.6 Based on.net 4.6 WebForms System.Web Model-binding with async.net compiler platform HTTP/2 support Identity Updates JSON, JavaScript, HTML editor improvement JSX (React.JS) support

ASP.NET 5 Can run on the full.net Framework or on.net Core New light-weight request pipeline Run on IIS, or self-hosted in your own process Runs cross-platform on Windows, Mac, and Linux Everything is a package delivered with NuGet, even the runtime itself Comes with MVC 6 - a unified Web framework for Web UI and Web APIs Environment-based configuration for a seamless transition to the cloud Dependency injection out-of-the-box New Visual Studio project system and high productivity tooling experience All open source on GitHub through the.net Foundation

ASP.NET Release Schedule Milestone Release week Beta6 27 Jul 2015 Beta7 2 Sep 2015 Beta8 15 Oct 2015 RC1 Nov 2015 1.0.0 Q1 * 2016

Why ASP.NET 5? New light-weight and modular HTTP request pipeline Ability to host on IIS or self-host in your own process Built on.net Core, which supports true side-by-side app versioning Ships entirely as NuGet packages Integrated support for creating and using NuGet packages Single aligned web stack for Web UI and Web APIs Cloud-ready environment-based configuration Built-in support for dependency injection New tooling that simplifies modern web development Open source and community focused Build and run cross-platform ASP.NET apps on Windows, Mac and Linux 2K object graph per request (vs 30K)

ASP.NET 5 Terminology

DNX.NET Execution Environment A software development kit (SDK) and runtime environment Everything you need to build and run.net applications Runs on Windows, Mac and Linux Provides a host process, CLR hosting logic and managed entry point discovery Built for running cross-platform ASP.NET Web applications Can run other types of.net applications, such as cross-platform console apps.

DNVM.NET Version Manager Used to install and manage multiple DNX versions Lets you: List the different DNX versions installed Install new ones Switch the active DNX

*Old Names

CLR & BCL Common Language Run-time & Base Class Library AKA.NET Framework Mature and fully featured framework Ships with Windows, but runs only on Windows Monolithic, large API surface area Slower release cycle Available for reference, but not strictly open source

.NET Core, CoreCLR and CoreFX.NET Core consists of CoreFX & CoreCLR CoreCLR Small, optimized runtime Can be targeted by ASP.NET 5 applications. (default) Modular runtime and library implementation CoreFX Subset of the.net Framework BCL.NET Core is all open-source

ASP.NET 5 Project Structure

Framework Target

project.json File (continued) webroot: the folder that is the root of the web site version: current project version authors: project author(s) description: project description dependencies: the NuGet section commands: custom commands for command-line frameworks: DNX versions supported exclude: files/folders to exclude from builds bundleexclude: files/folders to exclude from bundles scripts: build automation events and scripts

project.json File (continued) Server-side dependencies (AKA NuGet packages) packages.config project.json XML JSON Managed manually or via NuGet UI

global.json File Configure the solution as a whole: projects Section Contains web project locations ( src ) sdk Section Contains target DNX NOTE: Visual Studio still produces a.sln file

wwwroot Folder Root folder from which files are served Protects sensitive files Simplifies bundling/minification

Client-Side Dependency Management Support for NPM Bower (NuGet) More in Client-Side Section

Client-Side Task Runners Support for Grunt gruntfile.js Gulp gulpfile.js More in Client Side section

Configuring the Application Web.Config -> *.json New configuration model for name-value pairs Not based on System.Configuration or web.config Providers support XML, JSON, INI, and environment variables Custom configuration providers Environments (Dev/Prod) are a first-class notion in ASP.NET Nuget: packages.config packages.json

Startup ASP.NET 5 applications are defined using a public Startup class: public class Startup { public void ConfigureServices(IServiceCollection services) { } } public void Configure(IApplicationBuilder app) { } ConfigureServices: defines services used by your application Configure: defines middleware making up request pipeline

ASP.NET 5 Pipeline

Hosting Microsoft.AspNet.Server.IIS Microsoft.AspNet.Server.WebListener (WebListener) Microsoft.AspNet.Server.Kestrel (Kestrel)

Self Hosting Run web site as a service. No need for IIS/IIS Express! 1. Add NuGet Packages Microsoft.AspNet.Hosting Microsoft.AspNet.Server.WebListener 2. Add command "commands": { "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000" },

Session State Not supported in.net Core 5 Supported in.net 4.6 REMEMBER: Targeting Core = 2K object graph vs 30K!

HttpContext HttpContext.Current doesn't exist anymore Two Ways to Access: IHttpContextAccessor with DI MVC Controller base class property

Goodbye, HttpModules HTTPModules replace by Middleware Pass-through components that form a pipeline between a server and application to inspect, route, or modify request and response messages for a specific purpose. public void ConfigureServices(IServiceCollection services) { services.addmvc(); } public void Configure(IApplicationBuilder app) { app.usemvc( /*config here*/ ); }

So Long, HttpHandlers Return custom response for specific path MVC and Web API have this covered

Dependency Injection Framework

Dependency Injection Inversion of Control (IoC) Built-in framework Services reusable components injected in application where needed Loose coupling

Services public class Startup {... } public void Configure(IApplicationBuilder app) { app.useservices(services => { services.addtransient<irepository, DataRepository>() }); }

Services public interface IEmailSender { Task SendEmailAsync(string email, string subject, string message); }

Services public class HomeController : Controller { IEmailSender _emailsender; public HomeController(EmailSender emailsender) { _emailsender = emailsender; } } [HttpPost] public async Task<ActionResult> Contact(ContactViewModel model) { await _emailsender.sendemailasync(model.email, model.subject, model.message); return View(); }

Dependency Life-Times Instance: a specific instance is given all the time; you are responsible for its initial creation Singleton: single instance throughout the whole application life-time Scoped: single instance within the scoped container Transient: a new instance every time the service is requested

Client-Side Development

Client-side Tools Support Gulp & Grunt Task runners NPM & Bower Client-side package manager DEMO Use NPM to add gulp-less Compile less->css with gulp and VS integration Adding client-side component with Bower

Recap Versions & History of ASP.NET Terminology Project Structure Pipeline Dependency Injection Framework Client-side Development

Interested in More? www.asp.net/vnext docs.asp.net jtower.com/blog

If You Give $100, So Will I! http://bit.ly/mke-gives2 charity:water is a non-profit organization that provides clean and safe drinking water to people in developing nations. The organization was founded in 2006 and has helped fund 13,641 projects in 22 countries, benefiting over 4.6 million people. - Wikipedia 97.1/100 - CharityNavigator.org

Thank You! Questions? Jonathan J. Tower Principal Consultant, JTower.com jtower@jtower.com jtower.com/blog jtowermi GIVE @ http://bit.ly/mke-gives2