ASP.NET CORE
POURQUOI, COMMENT
MUG Montpellier - 18 septembre 2017@epo
Copyright Arnaud Weil 2011-2017
Qui suis-je ?
 Développeur (21 ans)
 Formateur (16 ans)
 Auteur (2 ans)
 contact@aweil.fr
Copyright Arnaud Weil 2011-2017
Pourquoi .NET Core ?
 <troll>Parce qu’il y a Node.JS</troll>
 .NET 4.6: l’historique (WPF, Windows Forms,
ASP.NET)
 .NET Core: moderne, versatile
 Cross-platform: Linux, Windows, Docker, OSX
 Léger
 Compatible avec .NET sous Windows
Copyright Arnaud Weil 2011-2017
Pourquoi ASP.NET Core?
Front-end
• Angular
• React
• Vue
• Knockout
• …
Back-end
• ASP.NET
Core
• Node.JS
• Ruby on
Rails
• …
Données
• Services
(API)
• SQL
Server
• NoSQL
• …
Copyright Arnaud Weil 2011-2017
Le rôle du back-end
 Serveur HTTP
 Ecouter sur un port
 Accepter une requête entrante
 Faire son travail côté serveur
 Retourner une réponse (HTML, JSON, contenu)
Copyright Arnaud Weil 2011-2017
ASP.NET Core au plus simple
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseWelcomePage();
}
}
Copyright Arnaud Weil 2011-2017
ASP.NET Core middleware
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.Run(async (context) => {
await context.Response.WriteAsync(
"Hello World!");
});
}
}
Copyright Arnaud Weil 2011-2017
ASP.NET Core MVC
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
}
}
Copyright Arnaud Weil 2011-2017
ASP.NET MVC ?
 Model, View, Controller
 Testabilité
 Répartition des rôles
 Structure claire et connue
Copyright Arnaud Weil 2011-2017
ASP.NET MVC en un schéma
URL • Détermination de
la route
Action d’un
Contrôleur
• Récupère les
données à passer
à la vue
• Si POST, traite les
données
remontantes
Vue • Produit
le HTML
Copyright Arnaud Weil 2011-2017
Démo: construire et comprendre
Copyright Arnaud Weil 2011-2017
Learn Collection
Copyright Arnaud Weil 2011-2017
Learn ASP.NET Core MVC
 Apprendre en quelques
jours
 Prérequis faibles
 ebook et papier
 https://leanpub.com/netc
ore
Copyright Arnaud Weil 2011-2017
Questions-réponses
contact@aweil.fr
@epo

ASP.NET Core: Pourquoi, comment

  • 1.
    ASP.NET CORE POURQUOI, COMMENT MUGMontpellier - 18 septembre 2017@epo
  • 2.
    Copyright Arnaud Weil2011-2017 Qui suis-je ?  Développeur (21 ans)  Formateur (16 ans)  Auteur (2 ans)  contact@aweil.fr
  • 3.
    Copyright Arnaud Weil2011-2017 Pourquoi .NET Core ?  <troll>Parce qu’il y a Node.JS</troll>  .NET 4.6: l’historique (WPF, Windows Forms, ASP.NET)  .NET Core: moderne, versatile  Cross-platform: Linux, Windows, Docker, OSX  Léger  Compatible avec .NET sous Windows
  • 4.
    Copyright Arnaud Weil2011-2017 Pourquoi ASP.NET Core? Front-end • Angular • React • Vue • Knockout • … Back-end • ASP.NET Core • Node.JS • Ruby on Rails • … Données • Services (API) • SQL Server • NoSQL • …
  • 5.
    Copyright Arnaud Weil2011-2017 Le rôle du back-end  Serveur HTTP  Ecouter sur un port  Accepter une requête entrante  Faire son travail côté serveur  Retourner une réponse (HTML, JSON, contenu)
  • 6.
    Copyright Arnaud Weil2011-2017 ASP.NET Core au plus simple public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .Build(); host.Run(); } } public class Startup { public void Configure(IApplicationBuilder app) { app.UseWelcomePage(); } }
  • 7.
    Copyright Arnaud Weil2011-2017 ASP.NET Core middleware public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .Build(); host.Run(); } } public class Startup { public void Configure(IApplicationBuilder app) { app.Run(async (context) => { await context.Response.WriteAsync( "Hello World!"); }); } }
  • 8.
    Copyright Arnaud Weil2011-2017 ASP.NET Core MVC public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .Build(); host.Run(); } } public class Startup { public void Configure(IApplicationBuilder app) { app.UseMvc(); } }
  • 9.
    Copyright Arnaud Weil2011-2017 ASP.NET MVC ?  Model, View, Controller  Testabilité  Répartition des rôles  Structure claire et connue
  • 10.
    Copyright Arnaud Weil2011-2017 ASP.NET MVC en un schéma URL • Détermination de la route Action d’un Contrôleur • Récupère les données à passer à la vue • Si POST, traite les données remontantes Vue • Produit le HTML
  • 11.
    Copyright Arnaud Weil2011-2017 Démo: construire et comprendre
  • 12.
    Copyright Arnaud Weil2011-2017 Learn Collection
  • 13.
    Copyright Arnaud Weil2011-2017 Learn ASP.NET Core MVC  Apprendre en quelques jours  Prérequis faibles  ebook et papier  https://leanpub.com/netc ore
  • 14.
    Copyright Arnaud Weil2011-2017 Questions-réponses contact@aweil.fr @epo