.NET platform, .NET environment or .NET framework which is correct? And what's the difference between platform/environment/framework?
Asked Answered
V

5

9

In some documents (i.e. ECMA-334) the name of '.NET framework' is used, but in other documents (in many books), '.NET platform' is used. I saw someone refer .NET as .NET environment.

  • Which one is correct nomenclature for .NET?
  • In general, what's the difference between platform/environment/framework?

ADDED

It's not easy to see that those three names are the same as

  • We don't say Qt platform, but we say Qt framework
  • We say cross platform to indicate the interoperability upon many OS, but not cross framework.

If people just say .NET environment, .NET platform, and .NET framework as the same meaning only for the .NET, I can buy that.

Valentine answered 12/4, 2010 at 14:3 Comment(2)
in response to your edit: Yes, the case .NET-framework/platform/environment may be special, I can not think of other platforms/environments/frameworks where these three could be used to describe it in a way that fits .NET.Rohr
Regarding Qt: We do not say "Qt platform" because Qt is a framework, not a platform (has no runtime environment/virtual machine) as far as I know. While .NET is both a framework and a platform (and environment too ;))Rohr
R
16

These are semantically identical. Usage depends only on the context where it is used:

  • You build code using .NET framework (equals .NET libraries)

  • The code runs on the .NET platform (in the CLR)

  • You need to install .NET environment (.NET framework redistributable)

None of them is the only "correct one" while all are correct for all scenarios.

Rohr answered 12/4, 2010 at 14:8 Comment(0)
V
2

All are correct. They're essentially synonyms.

Varmint answered 12/4, 2010 at 14:7 Comment(0)
E
2

Agreed, although, I'd say general practice is to refer to it as the .NET framework.

.NET covers a lot of areas that in other ecosystems are separate entities/projects. So for example, on the Java platform, you build an app with a framework like Spring or Struts. In .Net you'd use ASP.NET MVC, or say Entity Framework, but those are both inherently part of the platform. Think of platform as "not requiring an additional install".

Elastin answered 12/4, 2010 at 14:27 Comment(0)
M
1

Environment is a generic one where the needs for platform is provided.

Architectures are usually focused on specific problem contexts while frameworks are designed to be used in entirely different problem contexts.

This is more generic answer which is appicable to all and just not .Net

Monroy answered 12/4, 2010 at 14:36 Comment(0)
A
0

Looking at project properties in Visual Studio I taught it was about runtime vs. development environment, too. But apparently that is wrong, the correct answer is the Platform is just the specifications of the environment, and Framework is the libraries that need to be installed.
So; looking at project properties:

  • [development environment] platform: Project properties does not ask for this! "VS Installer" is the one to worry about this. Your projects will not care!
  • [development environment] framework: libraries for CLR, BCL, SDKs, and other .Net libraries (ex: .Net Framework 4.7.2)
  • [runtime environment] platform: Mainly OS, but also CPU architecture, device type (laptop, phone,...etc)
  • [runtime environment] framework: Project properties does not ask for this! Since it is the same as development framework minus any SDKs or IDE libraries. Your Dev machine already has it, and your deployment machines will have it installed separately.

a platform example: Windows 10, x64, desktop
runtime examples: .Net Framework, .Net Core, Mono, .Net Standard
project type examples: WPF, ASP.Net-core, Xamarin
framework is libraries/executables installed to support runtime and project types.

Aweinspiring answered 30/10, 2020 at 9:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.