429 votes

Ce qui ' la différence entre Core .NET, .NET Framework et Novell ?

Microsoft a maintenant de base .NET, .NET Framework et Novell (Mono) dans sa famille de .NET.

Il semble y avoir beaucoup de chevauchement ici. Quelle est la différence entre ces types de .NET ? Quand dois-je choisir pour utiliser .NET Core dans mon projet, au lieu de .NET Framework ou Novell ?

308voto

Fiona Bi Points 1902

Vous devez utiliser .NET de Base, au lieu de .NET Framework ou Xamarin, dans les 6 scénarios typiques selon la documentation ici.

1. Croix-Plate-forme de besoins

Clairement, si votre objectif est d'avoir une application (web/service) qui devrait être en mesure de courir à travers les plates-formes (Windows, Linux et MacOS), le meilleur choix dans la .NET est un écosystème à utiliser .NET de Base que son exécution (CoreCLR) et les bibliothèques de la croix-plate-forme. L'autre choix est d'utiliser le Projet Mono.

Les deux choix sont open source, mais .NET de Base est directement et officiellement pris en charge par Microsoft et aura un lourd investissement en mouvement vers l'avant.

Lors de l'utilisation .NET de Base sur l'ensemble des plateformes, la meilleure expérience de développement existe sur Windows avec l'IDE de Visual Studio qui prend en charge de nombreuses fonctionnalités de productivité, y compris la gestion de projet, le débogage, la source de contrôle, refactoring, riche d'édition, y compris Intellisense, les tests et bien plus encore. Mais riche de développement est également pris en charge à l'aide de Code de Visual Studio sur Mac, Linux et Windows, y compris intellisense et le débogage. Même les tiers éditeurs comme Sublime, Emacs, VI et plus de travail bien et que vous pouvez obtenir de l'éditeur intellisense à l'aide de l'open source Omnisharp projet.

2. Microservices

Lorsque vous créez un microservices orientée système composé de plusieurs indépendants, de façon dynamique évolutive, avec ou sans état microservices, le grand avantage que vous avez ici est que vous pouvez utiliser différentes technologies/frameworks/les langues à un microservice niveau. Qui vous permet d'utiliser la meilleure approche et de la technologie par micro-zones dans votre système, donc si vous voulez construire très performante et évolutive microservices, vous devez utiliser .NET de Base. Finalement, si vous avez besoin d'utiliser une .NET Framework bibliothèque qui n'est pas compatible avec .NET de Base, il n'y a pas de problème, vous pouvez le construire microservice avec le .NET Framework et dans le futur, vous pourriez être en mesure de la remplacer par de la .NET de Base.

La plate-forme d'infrastructure que vous pourriez utiliser sont nombreux. Idéalement, pour les grands et complexes microservice systèmes, vous devez utiliser Azure Service de Tissu. Mais pour les apatrides microservices vous pouvez également utiliser d'autres produits comme Azure Service de l'App ou Azure Fonctions.

Note qu'en juin 2016, ne sont pas tous de la technologie dans Azure prend en charge l' .NET de Base, mais .NET de soutien de Base dans Azure sera de plus en plus de façon spectaculaire maintenant que .NET de Base est RTM libéré.

3. Meilleur performante et évolutive des systèmes de

Lorsque votre système a besoin de la meilleure performance possible et de l'évolutivité de sorte que vous obtenez la meilleure réactivité n'importe comment beaucoup d'utilisateurs que vous avez, alors il est où .NET de Base et ASP.NET Cœur de briller. Le plus que vous pouvez faire avec la même quantité d'infrastructure, matériel, le plus riche de l'expérience que vous aurez de vos utilisateurs finaux, à un coût moindre.

Les jours de la loi de Moore, des améliorations de performances pour seul Cpu ne s'applique plus; mais vous devez faire plus, alors que votre système est en pleine croissance et ont besoin de plus de performances et d'évolutivité pour tous les jours les plus exigeants des utilisateurs qui sont en croissance exponentielle dans le nombre. Vous avez besoin pour obtenir plus efficace, optimiser partout, et l'échelle de mieux sur des grappes de machines, des machines virtuelles et des cœurs du PROCESSEUR, en fin de compte. Il n'est pas juste une question de la satisfaction des utilisateurs; il peut aussi faire une énorme différence de coût/coût total de possession. C'est pourquoi il est important de s'efforcer de performance et d'évolutivité.

Comme mentionné, si vous pouvez isoler les petits morceaux de votre système de microservices ou de tout autre loosely-coupled approche, ça va être mieux que vous serez en mesure non seulement d'évoluer chaque petit morceau/microservice de façon autonome et avoir un meilleur long-terme de l'agilité et de la maintenance, mais aussi vous serez en mesure d'utiliser n'importe quelle autre technologie à un microservice niveau si ce que vous devez faire n'est pas compatible avec .NET de Base. Et finalement, vous seriez capable de refactoriser le code et de le ramener .NET si possible.

4. Commande en ligne de style de développement pour Mac, Linux ou Windows.

Cette approche est facultatif lors de l'utilisation .NET de Base. Vous pouvez également utiliser la totalité de l'IDE de Visual Studio, bien sûr. Mais si vous êtes un développeur qui veut se développer avec un léger éditeurs et l'utilisation lourde de la ligne de commande .NET de Base est conçu pour les CLI. Il fournit de simples outils de ligne de commande disponible sur toutes les plateformes prises en charge, permettant aux développeurs de créer des applications de test et avec un minimum d'installation sur le développeur, de laboratoire ou de production des machines. Les rédacteurs du Code Visual Studio utiliser les mêmes outils de ligne de commande pour leur expérience en matière de développement. Et IDE similaire à Visual Studio utiliser les mêmes outils CLI, mais cacher derrière une riche IDE de l'expérience. Les développeurs peuvent désormais choisir le niveau qu'ils veulent interagir avec la chaîne d'outils à partir de la CLI à l'éditeur de l'IDE.

5. Besoin d'à côté .NET versions pour chaque niveau de l'application.

Si vous voulez être en mesure d'installer des applications avec des dépendances sur les différentes versions de cadres de .NET, vous avez besoin d'utiliser .NET de Base qui fournit 100% de côté par côté, comme expliqué précédemment dans ce document.

6. Windows 10 UWP .NET applications.

En outre, vous pouvez aussi lire:

  1. Quand devrais-je PAS utiliser .NET de Base?
  2. Quand dois-je encore l'utiliser .NET Framework 4.x, au lieu de .NET de Base?
  3. Quand dois-je utiliser Xamarin, au lieu de .NET de Base?

202voto

Nate Barbettini Points 26922

C'est la façon dont Microsoft explique:

.NET Framework, .NET Core, Xamarin

.NET Framework est le "plein" ou "traditionnel" goût de .NET distribué avec Windows. Utilisez cette fonction lorsque vous créez un ordinateur de bureau Windows ou UWP application, ou de travailler avec les anciens ASP.NET 4.6+.

.NET de Base est multi-plateforme .NET qui fonctionne sur Windows, Mac et Linux. Utilisez cette fonction lorsque vous voulez construire la console web ou des applications qui peuvent s'exécuter sur n'importe quelle plateforme, y compris à l'intérieur des conteneurs Docker. Cela ne comprend pas UWP/les applications de bureau actuellement.

Xamarin est utilisé pour construire des applications mobiles qui peuvent s'exécuter sur iOS, Android ou Windows Phone appareils.

Xamarin s'étend habituellement sur le dessus de Mono, qui est une version de .NET qui a été construit pour le support multi-plateforme avant que Microsoft a décidé officiellement de la croix-plate-forme .NET de Base. Comme Xamarin, l'Unité de la plateforme fonctionne également sur le dessus de Mono.


Un point commun de confusion est où ASP.NET de Base s'inscrit dans. ASP.NET Noyau peut fonctionner sur le dessus de l'autre .NET Framework (Windows) ou .NET de Base (cross-platform), comme détaillé dans cette réponse: la Différence entre ASP.NET Noyau (.NET de Base) et ASP.NET Noyau (.NET Framework)

53voto

logeshpalani98 Points 181

Vous pouvez consulter dans cette ligne - la Différence entre ASP.NET Noyau (.NET de Base) et ASP.NET Noyau (.NET Framework)

.NET Framework, .NET Core, Xamarin

Xamarin est pas un débat. Lorsque vous souhaitez développer votre mobile (iOS, Android et Windows Mobile) applications à l'aide de C#, Xamarin est votre seul choix.

L' .NET Framework prend en charge des applications Web et Windows. Aujourd'hui, vous pouvez utiliser Windows Forms, WPF, et UWP pour construire les applications Windows .NET Framework. ASP.NET MVC est utilisé pour créer des applications Web .NET Framework.

.NET de Base est l'open-source et multi-plate-forme de framework pour créer des applications pour tous les systèmes d'exploitation, y compris Windows, Mac et Linux. .NET de Base prend en charge UWP et ASP.NET de Base seulement. UWP est utilisé pour construire Windows 10 cibles de Windows et des applications mobiles. ASP.NET Core est utilisé pour construire des applications web.

vous voulez en savoir plus, consultez ce lien
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/ https://docs.microsoft.com/en-us/dotnet/articles/standard/choosing-core-framework-server

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X