ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
-
Upload
andreadottor -
Category
Technology
-
view
271 -
download
1
Transcript of ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Visual Studio 2015 Saturday
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor – Microsoft MVP ASP.NET/IIS
twitter: @dottoremail: [email protected]
Visual Studio 2015 Saturday
Contatti
Andrea Dottor{ consulenza e sviluppo software }Microsoft MVP ASP.NET/IIS
Email: [email protected]: http://www.dottor.net Blog: http://blog.dottor.netTwitter: http://twitter.com/dottor
Visual Studio 2015 Saturday
ASP.NET Web Form(versione 1.0 - gennaio 2002)
Pensato per migrare al web gli sviluppatori Windows Form
ViewStateModello event-driven
Passato
Visual Studio 2015 Saturday
ASP.NET MVCASP.NET Web API(oltre ad ASP.NET WebForm)
Più vicine agli standard attualiPiù vicine a come funziona il webPiù "facili" per chi arriva da altre tecnologie
Presente
Visual Studio 2015 Saturday
https://github.com/aspnet/Home/wiki/Roadmap
ASP.NET 5 Roadmap
Milestone
Release week
Beta6 27 Jul 2015 Localization, Servicing, .NET 4.6 support, and more
Beta7 2 Sep 2015 Cross-platform
Beta8 15 Oct 2015 Feature complete!
RC1 Nov 2015 Stabilization1.0.0 Q1* 2016
Visual Studio 2015 Saturday
https://live.asp.net/
ASP.NET Team - Community standup
Visual Studio 2015 Saturday
Where does ASP.NET fit in the new world?
ASP.NET 5Unified framework for MVC, Web API
.NET Framework 4.6 stack and libs
Full .NET Framework for all scenarios & libraries
.NET Core 5 stack and libsSmall runtime optimized for server & cloud
workloads
Visual Studio 2015 Saturday
Faster Development Cycle• Features are shipped as packages• Framework is part of the application (.NET Core)
More Control• Same code running from development to
production• New version choice in the hands of the developers
ASP.NET 5 - Agile
Visual Studio 2015 Saturday
Development productivity + low friction• No compilation => Save and refresh• Framework is part of the application (.NET Core)
Improved runtime performance• Faster startup times (~2-3”)• Lower memory / higher density for HTTP Requests
(> 90%)• Modular, only pull the functionality and features
required• Raw sockets/full framework or both
ASP.NET 5 - Veloce
Visual Studio 2015 Saturday
Runtime• Windows, Mac, Linux
Editors• Visual Studio, Text, Cloud editors• OmniSharp – Sublime, Emacs, Vi, Atom, Brackets,
etc• No editors (command line)
All Open Source with Contributions
ASP.NET 5 - Cross-Platform
Visual Studio 2015 Saturday
"Build, Ship, RunAn open platform for distributed applications for developers and sysadmins"
"Docker allows you to package an application with all of its dependencies into a standardized unit for software development."
Esistono le immagini di Container Docker per ASP.NET 5https://github.com/aspnet/aspnet-dockerhttps://hub.docker.com/r/microsoft/aspnet/ http://blogs.msdn.com/b/webdev/archive/2015/01/14/running-asp-net-5-applications-in-linux-containers-with-docker.aspx
Visual Studio 2015 Saturday
Nessuna differenza tra un'applicazione sviluppata per essere pubblicata in un nostro server o nel cloud
Non ci sono più "vincoli" di dover pubblicare in un server Windows Server
ASP.NET 5 – Cloud-ready
Visual Studio 2015 Saturday
Visual Studio Code
Editor gratuito per Linux, Mac OSX, e Windows.
• Pensato per ASP.NET 5 e NodeJS• Integrato con Git• Debugging, IntelliSense• Integrato con tool esterni:
es: Ant, Gulp, Jake, Rake e MSBuild.• …
Visual Studio 2015 Saturday
File di configurazione e di progetto in json (o .xml o .ini)• project.json• config.json• …Configurazione da codice (startup.cs)Cartella wwwroot per i file staticiIntegrazione nativa con gulp, bower, …• http://gulpjs.com/
Gulp is a toolkit that will help you automate painful or time-consuming tasks in your development workflow.
• http://bower.io/ Bower works by fetching and installing packages from all over, taking care of hunting, finding, downloading, and saving the stuff you’re looking for.
Struttura progetto
Visual Studio 2015 Saturday
ConfigureServices permette di definire i servizi utilizzati dall'applicazione
Configure permette di definire la pipeline/middleware di ogni chiamata
Startup class
Visual Studio 2015 Saturday
Unico controller per MVC e Web API
Regole di routing specificate nel file Startup.cs o tramite RouteAttributes
Siamo noi ad attivare/abilitare le funzionalità che servono all'applicazione
Molte funzionalità sono disponibili come pacchetti NuGet separati
Non dipendiamo più dalla System.Web.dll
MVC, Web API, …
Visual Studio 2015 Saturday
DI implementato out of the box.
Possibilità di utilizzo del Container preferito (es: Autofac, Ninject, Unity, Windsor, …)
Gestisce vari tipi di Lifestyle• Instance: Una nuova istanza viene creta ogni volta. Siamo noi a specificare
come creare l’istanza (parametri nel costruttore).
• Transient: Una nuova istanza viene creta ogni volta
• Singleton: Viene creta una singola istanza, e viene ritornata sempre quella
• Scoped: Viene creta un’istanza per ogni richiesta.
Dependency injection
Visual Studio 2015 Saturday
Simili alle PartialViewMa molto meglio.
Composti da un proprio file di code-behind e view• Una classe di “code-behind” simile ad un mini
controller. • Eredita da ViewComponent e richiede di implementare il
metodo Invoke)• Una view che ne definisce la visualizzazione
View Components
@Component.Invoke("TagList")
Visual Studio 2015 Saturday
Possibilità di iniettare una classe/servizio all’interno delle View per poterne richiamare i metodi
Dichiarare il servizio in fase di Startupservices.AddTransient<TodoList.Services.StatisticsService>();
Dichiarare la classe@inject TodoList.Services.StatisticsService Statistics
Usarla richiamandone i metodi@await Statistics.GetCount()
Injecting a service into a view
Visual Studio 2015 Saturday
Class Library (package) è diversa dalla "classica" Class Library
Permette di condividere classi/codice che possono essure utilizzati anche su .NET Core.
Class Library
Visual Studio 2015 Saturday
• Introduction to ASP.NET 5• http://docs.asp.net/en/latest/conceptual-overview/aspnet.html
• DNX Overview• http://docs.asp.net/en/latest/dnx/overview.html
• Introducing ASP.NET 5• https://channel9.msdn.com/Events/Build/2015/2-687
• ASP.NET GitHub• https://github.com/aspnet
• ASP.NET Home Repository• https://github.com/aspnet/Home
• ASP.NET 5 Docs• http://docs.asp.net/
Risorse
Visual Studio 2015 Saturday
Contatti
Andrea Dottor{ consulenza e sviluppo software }Microsoft MVP ASP.NET/IIS
Email: [email protected]: http://www.dottor.net Blog: http://blog.dottor.netTwitter: http://twitter.com/dottor