par Nate Barbettini
Copyright © 2018. Tous droits réservés.
ISBN: 978-1-387-75615-5
Sortie sous la licence Creative Commons Attribution 4.0. Vous êtes libre de partager, de copier et de redistribuer ce livre dans n'importe quel format, ou de le remettre et de le transformer à quelque fin que ce soit (même commercialement). Vous devez donner un crédit approprié et fournir un lien vers la licence.
Pour plus d'informations, visitez https://creativecommons.org/licenses/by/4.0/
Merci d'avoir ramassé le petit livre de base ASP.NET! J'ai écrit ce petit livre pour aider les développeurs et les personnes intéressées par la programmation Web à savoir ASP.NET Core 2.0, un cadre pour créer des applications Web et des API.
Le Little ASP.NET Core Book est structuré comme un tutoriel. Vous construirez une application du début à la fin et apprendrez:
Ne vous inquiétez pas, vous n'avez rien à savoir sur ASP.NET Core (ou l'un des éléments ci-dessus) pour commencer.
Le code de la version finie de l'application que vous créez est disponible sur GitHub:
https://www.github.com/nbarbettini/little-aspnetcore-todo
N'hésitez pas à le télécharger si vous souhaitez voir le produit fini ou à comparer lorsque vous écrivez votre propre code.
Le livre lui-même est fréquemment mis à jour avec les corrections de bogues et le nouveau contenu. Si vous lisez un PDF, un livre électronique ou une version imprimée, consultez le site officiel (littleasp.net/book) pour voir si une version mise à jour est disponible. La toute dernière page du livre contient des informations sur la version et un Changelog.
Grâce à des contributeurs multilingues fantastiques, le Little ASP.Net Core Book a été traduit dans d'autres langues:
ASP.NET Core El Kitabı (turc)
简明 ASP.net Core 手册(chinois)
Si vous êtes nouveau dans la programmation, ce livre vous présentera les modèles et les concepts utilisés pour créer des applications Web modernes. Vous apprendrez à créer une application Web (et comment les grandes pièces s'assemblent) en construisant quelque chose à partir de zéro! Bien que ce petit livre ne puisse pas couvrir absolument tout ce que vous devez savoir sur la programmation, il vous donnera un point de départ afin que vous puissiez apprendre des sujets plus avancés.
Si vous codez déjà dans une langue backend comme Node, Python, Ruby, Go ou Java, vous remarquerez beaucoup d'idées familières comme MVC, des modèles de vue et de l'injection de dépendance. Le code sera en C #, mais il ne sera pas trop différent de ce que vous savez déjà.
Si vous êtes un développeur ASP.NET MVC, vous vous sentirez comme chez vous! ASP.NET Core ajoute de nouveaux outils et réutiliser (et simplifie) les choses que vous savez déjà. Je vais souligner certaines des différences ci-dessous.
Quelle que soit votre expérience précédente avec la programmation Web, ce livre vous apprendra tout ce dont vous avez besoin pour créer une application Web simple et utile dans ASP.NET Core. Vous apprendrez à créer des fonctionnalités à l'aide du code backend et frontal, comment interagir avec une base de données et comment déployer l'application dans le monde.
ASP.NET Core est un cadre Web créé par Microsoft pour la création d'applications Web, d'API et de microservices. Il utilise des modèles communs comme MVC (modèle-View-contrôleur), l'injection de dépendance et un pipeline de demande composé de middleware. Il est open-source sous la licence Apache 2.0, ce qui signifie que le code source est disponible librement, et la communauté est encouragée à apporter des corrections de bogues et de nouvelles fonctionnalités.
ASP.NET Core s'exécute en plus du runtime .NET de Microsoft, similaire à la machine virtuelle Java (JVM) ou à l'interpréteur Ruby. Vous pouvez écrire des applications Core ASP.NET dans un certain nombre de langues (C #, Visual Basic, F #). C # est le choix le plus populaire, et c'est ce que j'utiliserai dans ce livre. Vous pouvez créer et exécuter les applications Core ASP.NET sur Windows, Mac et Linux.
Il y a beaucoup de grands cadres Web à choisir déjà: Node / Express, Spring, Ruby on Rails, Django, Laravel et bien d'autres. Quels avantages ASP.NET Core a-t-il?
Vitesse. ASP.NET Core est rapide. Parce que le code .NET est compilé, il exécute beaucoup plus rapidement que le code dans les langages interprétés comme JavaScript ou Ruby. ASP.NET Core est également optimisé pour les tâches multithreading et asynchrones. Il est courant de voir une amélioration de la vitesse 5-10x par rapport au code écrit dans Node.js.
Écosystème. ASP.NET Core peut être nouveau, mais .NET existe depuis longtemps. Il existe des milliers de packages disponibles sur NuGet (le .NET Package Manager; pensez au NPM, Ruby Gems ou Maven). Il existe déjà des packages disponibles pour la désérialisation JSON, les connecteurs de base de données, la génération de PDF ou presque tout ce que vous pouvez penser.
Sécurité. L'équipe de Microsoft prend la sécurité au sérieux et Asp.Net Core est conçu pour être sécurisé à partir de zéro. Il gère des choses comme désinfecter les données d'entrée et empêcher les attaques de contrefaçon de demande de site transversal (CSRF), donc vous n'êtes pas obligé. Vous bénéficiez également de la frappe statique avec le compilateur .NET, ce qui est comme avoir un linter très paranoïaque activé à tout moment. Cela rend plus difficile de faire quelque chose que vous n'aviez pas l'intention d'une variable ou d'un morceau de données.
Tout au long de ce livre, vous apprenez ASP.Net Core (le framework Web). Je mentionnerai occasionnellement le runtime .net, la bibliothèque de support qui exécute le code .net. Si cela vous ressemble déjà au grec, passez simplement au chapitre suivant!
Vous pouvez également entendre parler de .NET Core et .NET Standard. La dénomination devient déroutante, alors voici une explication simple:
.NET Standard est une interface autochtone qui définit les fonctionnalités et les API. Il est important de noter que .NET Standard ne représente aucun code ou fonctionnalité réel, uniquement la définition de l'API. Il existe différentes «versions» ou niveaux de standard .NET qui reflètent le nombre d'API disponibles (ou la largeur de la surface de l'API). Par exemple, .NET Standard 2.0 a plus d'API disponible que .NET Standard 1.5, qui a plus d'API que .NET Standard 1.0.
.NET Core est le runtime .NET qui peut être installé sur Windows, Mac ou Linux. Il implémente les API définies dans l'interface standard .NET avec le code spécifique à la plate-forme approprié sur chaque système d'exploitation. C'est ce que vous installerez sur votre propre machine pour créer et exécuter les applications Core ASP.NET.
Et juste pour bonne mesure, .NET Framework est une implémentation différente de la norme .NET qui est uniquement Windows. C'était le seul runtime .NET jusqu'à ce que .NET Core arrive et a apporté .NET à Mac et Linux. ASP.NET Core peut également s'exécuter sur Windows uniquement .NET Framework, mais je ne toucherai pas trop à cela.
Si vous êtes confus par toute cette dénomination, pas de soucis! Nous allons passer un peu de code réel.
Si vous n'avez pas utilisé de version précédente d'ASP.NET, passez au chapitre suivant.
ASP.NET Core est une réécriture complète de la mise à la terre d'ASP.NET, en mettant l'accent sur la modernisation du cadre et enfin le découpler de System.Web, IIS et Windows. Si vous vous souvenez de tous les trucs Owin / Katana d'ASP.NET 4, vous y êtes déjà à mi-chemin: le projet Katana est devenu ASP.NET 5 qui a finalement été renommé ASP.NET Core.
En raison de l'héritage Katana, la classe Startup est à l'avant et au centre, et il n'y a plus Application_Start ou Global.asax . L'ensemble du pipeline est piloté par le middleware, et il n'y a plus de répartition entre MVC et API Web: les contrôleurs peuvent simplement renvoyer des vues, des codes d'état ou des données. L'injection de dépendance est cuite, vous n'avez donc pas besoin d'installer et de configurer un conteneur comme StructureMap ou Ninject si vous ne le souhaitez pas. Et l'ensemble du cadre a été optimisé pour la vitesse et l'efficacité du temps d'exécution.
Très bien, assez d'introduction. Plongeons-nous sur ASP.NET Core!