Présentation de .NET Core

L'article suivant Qu'est-ce que .Net Core fournit une description détaillée de l'architecture du .Net Core. .Net Core est une plate-forme de développement open source conçue et maintenue par Microsoft et la communauté .Net. .Net Core a été conçu en gardant à l'esprit divers besoins et objectifs, en se concentrant sur le développement Web, le développement Windows Phone et le développement d'applications Windows Store. .Net Core est un sous-ensemble du .Net Framework. En termes plus précis, une version fourchue du .Net Framework. Maintenant, vous vous demandez peut-être quel était le besoin de proposer .Net Core alors qu'il ne s'agit que d'un sous-ensemble du .Net Framework. Le noyau .Net a subi des changements fondamentaux dans son fonctionnement. D'abord et avant tout, il est plus modularisé. Cela vous aide à créer des applications avec uniquement les bibliothèques dont vous avez besoin et sans bagages supplémentaires. Deuxièmement, c'est vraiment multiplateforme. Cela en fait le choix de la plateforme de développement du futur.

Architecture de base .Net

  • Avec n'importe quelle plate-forme ou infrastructure de développement, la base et la chose la plus importante est son architecture. L'architecture définit la façon dont les développeurs et les bibliothèques interagiront avec la plateforme. Avant d'en savoir plus sur .Net Core, il est important de voir ce qui est au cœur de .Net Core.

  • C'est là que .Net Core se trouve dans la pile .Net. Les divers cadres et bibliothèques .Net, jusqu'à ce jour, utilisent les bibliothèques d'exécution, les compilateurs et les packages NuGet courants. Ils construisent leurs propres bibliothèques spécifiques à la plate-forme au-dessus de ces packages courants. Les bibliothèques communes contiennent les définitions des éléments primitifs tels que les types de données. Cela ne change guère et est donc la base de tous les frameworks de pile .Net.

Terminologies clés dans l'architecture de .Net Core

Comprenons les terminologies clés de l'architecture du .Net Core.

Core CLR

Core CLR est le Common Language Runtime optimisé pour les déploiements multiplateformes et basés sur le cloud. Ceci, avec .Net Native Runtime, constitue la base de toutes les plateformes basées sur .Net.

.Net Native Runtime

Également appelé Managed Runtime, .Net Native Runtime contient les bibliothèques natives basées sur Windows. Il contient également la compilation Ahead Of Time (AOT) au lieu de la compilation JIT (Just In Time). Cela améliore les performances des applications.

Le .Net Native Runtime et le Core CLR sont les couches qui contiennent des implémentations de types primitifs ainsi que des collections génériques dans .Net. Ces couches ne changent guère et sont constantes dans les différentes piles .Net. Les différentes API de la pile .Net partagent donc les mêmes implémentations.

BCL unifié

La bibliothèque de classes de base unifiée, également appelée CoreFX, se compose des classes de base et fondamentales qui forment le cœur de la plate-forme .Net Core.

Modèles d'application

En plus de la BCL, placez les différents modèles d'application que les développeurs utilisent pour développer des applications spécifiques à la plate-forme. Actuellement, .Net Core possède le modèle ASP .Net pour le développement Web et le modèle Windows Store pour le développement d'applications Windows.

La puissance de NuGet

  • La plate-forme .Net Core, contrairement à son prédécesseur .Net Framework, est livrée sous la forme d'un ensemble de packages NuGet. Ainsi, .Net Core contribue essentiellement à l'écosystème déjà florissant des packages NuGet. Notez que .Net Core n'est pas fourni en tant que package NuGet unique. Au lieu de cela, il a été factorisé, modularisé et expédié sous forme de plusieurs packages NuGet.
  • De plus, Microsoft a éliminé la confusion autour de la nomenclature des packages NuGet et des assemblages concernés. Dans .Net Core, les packages NuGet ont le même nom que l'assembly. Par exemple, les collections immuables sont désormais livrées sous le nom de System.Collections.Immutable au lieu de Microsoft.BCL.Immutable. Cela a grandement simplifié le problème de déterminer quel package NuGet contient quel assembly. Hé, ils portent le même nom maintenant.

Alors, pourquoi Microsoft a-t-il décidé de livrer .Net Core sous la forme d'un ensemble de packages NuGet? Eh bien, voici les raisons:

  • NuGet permet de fournir .Net Core de manière agile. Toute mise à niveau vers une fonctionnalité .Net Core peut simplement être consommée en mettant à niveau le package NuGet.
  • Cela a généralisé les dépendances dans vos applications. Désormais, il n'y a plus de références d'assembly, de bibliothèques et de références NuGet tierces. Ils sont tous maintenant NuGet. Par conséquent, si un package NuGet tiers nécessite une version supérieure de la bibliothèque System.Collections, il vous invite à mettre à niveau le système correspondant. Collections NuGet package et vous avez terminé. Cela devient vraiment très simple.
  • L'approche modulaire de .Net Core garantit que chaque application déploie uniquement les packages dont elle a besoin. Aucun bagage supplémentaire.

Comment .Net Core facilite le travail?

.Net Core est une plate-forme au-dessus de laquelle il existe des cadres tels que ASP .Net Core et Universal Windows Platform qui exploitent et étendent les fonctionnalités de .Net Core. Voyons les fonctionnalités de .Net Core qui facilitent la vie des développeurs.

Multiplateforme et architecture

.Net Core suit le principe de build-once-run-Anywhere. Ainsi, il est multiplateforme. Il prend en charge les plates-formes Windows, MacOS et Linux. Vous pouvez créer votre application sur n'importe quelle plateforme et l'exécuter sur une autre. En outre, une application intégrée à .Net Core est cohérente dans son comportement sur toute architecture telle que x64, x86 ou ARM.

Outils de ligne de commande

.Net Core est livré avec des outils de ligne de commande faciles à utiliser pour ceux qui aiment coder en noir et blanc. Ces outils sont pratiques pour le développement local ainsi que pour l'intégration continue du code dans les référentiels.

CI / CD flexible

.Net Core prend en charge l'intégration continue et le déploiement continu. Ainsi, vous n'avez qu'à vous soucier de la logique du code. Le reste est entièrement géré par la plate-forme .Net Core.

Langues et IDE

Applications et bibliothèques .Net Core et peuvent être codées en C #, F # et Visual Basic. Ceci est également soutenu par l'intégration avec vos IDE préférés tels que Visual Studio, VS Code, Sublime, Vim, etc.

Compatibilité et support

Compatible avec .Net Framework, .Net Standard, Mono API et Xamarin. Étant open-source, il bénéficie d'un grand soutien de la communauté ainsi que de Microsoft.

Apis

.Net Core expose des API pour de nombreux scénarios à usage général et à hautes performances. D'une part, il existe des API pour les types de données primitifs (bool, int, etc.) et les collections (listes, dictionnaires, etc.). D'un autre côté, il existe des API pour les types hautes performances tels que Vector et Pipelines.

Compétences requises

.Net Core est une plateforme de développement d'applications. Il existe des cadres basés sur .Net Core que les développeurs peuvent utiliser pour créer des applications par-dessus. Pour apprendre le développement dans .Net Core, vous avez besoin d'une compréhension de base du développement ASP .Net, de l'architecture MVC et du fonctionnement des packages NuGet et des références d'assembly dans ASP .Net. Cela simplifiera considérablement votre courbe d'apprentissage. De plus, la connaissance de C # est indispensable pour développer une application dans .Net Core.

Pour ceux qui sont déjà développeurs dans .Net Framework et qui souhaitent migrer leurs applications vers .Net Core, il est conseillé de garder à l'esprit les points suivants:

  • .Net Core prend en charge l'architecture ASP .Net MVC. Toutefois, si votre application est basée sur des formulaires Web, .Net Core ne prend pas en charge les formulaires Web.
  • Si votre application est basée sur l'architecture ASP .Net MVC, le seul avantage de la déplacer vers la plate-forme .Net Core est la compatibilité croisée. Si la compatibilité croisée ne change pas vraiment la donne pour votre application, ASP .Net MVC est tout aussi bon.
  • .Net Core se concentre principalement sur le développement Web et Windows Store. Ainsi, actuellement, il n'y a pas de support pour les applications de bureau.
  • Les applications de console sont les plus bénéficiées de la migration .Net Core. Cela les rendrait utilisables sur plusieurs systèmes d'exploitation.
  • Les applications Web intégrées Silverlight devraient être migrées vers HTML avant d'envisager .Net Core. Le support Silverlight a été interrompu par Microsoft.

Comment .Net Core contribue à la croissance de carrière

.Net Core est véritablement multiplateforme. Il s'agit de la future plateforme de Microsoft pour les environnements de développement intégrés pour les appareils du futur. .Net Core se concentre sur le Web, le Windows Store et les appareils tactiles.

L'apprentissage de .Net Core vous aidera grandement à créer des applications qui répondent aux besoins futurs des appareils et des plates-formes. Les principes de conception de .Net Core garantissent que vous suivez les meilleures pratiques de développement. Il existe un besoin croissant pour une expérience d'application plus robuste et interactive, qu'elle soit basée sur le Web ou mobile. Cela, à son tour, rend nécessaire une plate-forme améliorée, plus simple et conviviale pour les développeurs. Il est révolu le temps où une application développée sur une plate-forme ne fonctionnerait pas sur une autre plate-forme. La demande d'aujourd'hui est de développer des applications qui sont construites une seule fois et qui s'exécutent partout. .Net Core est construit sur cette idéologie et en apprenant qu'il vous aiderait à créer de meilleures applications pour les appareils modernes.

Conclusion - Qu'est-ce que .NET Core

La plate-forme .NET Core n'est pas comme son prédécesseur .Net Framework. Il s'agit d'une nouvelle pile .NET optimisée pour le développement open source et la livraison agile via NuGet. Bien que le .NET Framework ait été conçu pour être multiplateforme, il s'agissait principalement d'une plate-forme Windows uniquement. .NET Core est véritablement multiplateforme. Microsoft cherche à être prêt pour l'avenir et .Net Core est une étape très fructueuse vers cela.

Il est recommandé aux lecteurs intéressés de se plonger davantage dans .Net Core en lisant les blogs des développeurs Microsoft. Pour ceux qui souhaitent commencer à créer des applications dans .Net Core, la meilleure façon est de commencer avec un projet shell dans .Net Core dans Visual Studio.

Articles recommandés

Ceci est un guide sur Qu'est-ce que .NET Core. Nous discutons ici de l'architecture .NET Core, du travail, des compétences requises ainsi que de la croissance de Carrer. Vous pouvez également consulter nos autres articles suggérés -

  1. ASP.NET Framework
  2. Qu'est-ce que ASP.NET?
  3. Cycle de vie de la page ASP.NET
  4. Carrière dans ASP.NET
  5. D'entretiens chez Xamarin | Top 18