Framework
Framework
NET
framework
.NET Framework
.NET Framework is a technology that supports building and
running Windows apps and web services. .NET Framework is
designed to fulfill the following objectives:
•Cross-Platform Design
•Cost-Effective
•Large Community
•Rapid Development
•Security Features
If you are writing the code in F#, C#, or Visual Basic, your code will run
each of the compatible operating systems. This allows companies to reach
an extensive variety of platforms while staying within the .NET ecosystem.
At the same time, with the cross-platform design, it also becomes possible
for the .NET community to share their large pool of engineering skill sets.
One of the crucial and most advantageous features of .NET Core is flexible
deployment. It can be installed as a part of the application you are
developing as well as separately. The modular design allows including all
the dependencies that you need. Moreover, the deployment with .NET is as
easy as copying a folder.Another benefit is that you can have more than one
.NET Core version running side by side on the same machine. Hence,
making it easy to cover different projects and seamlessly perform a
deployment task.
Advantages of .NET
5. dotNET Core Supports a Wide Range of Applications
With the .NET framework, you get the opportunity to develop an application in
a multitude of domains, such as gaming, mobile, IoT, and AI.Microsoft has
recently announced a collaboration with SWIFT, which means putting AI and
data at the center of Fintech. This will include creating an ecosystem that offers
efficient and secure operations for banks and corporations.
When choosing the appropriate technology, one of the first things that you check
is the IDEs and tools that are mandatory or add to productivity. A lot of them are
free, but the best ones come with licensing costs per developer, which can sum
up to thousands of dollars. No matter, whether you are a Startup trying to find
your way into the market or a big company, the money could be spent in a better
way..
8. Large Community
•Vendor Lock-in
•Memory Leaks
•Learning Curve
•Platform Dependency
•Open-Source Challenges
•Community Perception
•Containerization Complexity
•Third-Party Integration
Disadvantages of .NET
1. Limited Object-Relational Support
The entity acts as the bridge between the object-oriented .NET Framework
and SQL databases. However, some developers believe The Entity
Framework doesn’t offer the required flexibility and doesn’t support all the
available database designs.
2. Vendor Lock-in
.NET is a framework by Microsoft. While Xamarin and .NET Core are open
sources, the whole ecosystem is far from being community-driven. This
means that your products will depend upon decisions made by Microsoft.
Disadvantages of .NET
3. Memory Leaks
The problem of memory leaks is common with every technology. .NET is also
one of those platforms that are frequently criticized for memory-related and
memory leak issues. Although dotNET possesses a garbage collector for this
problem, engineers are still required to invest additional efforts into resource
management.
The transition to the dotNET core could be long and difficult. The applications
built with older .NET versions are far more than those built with .NET core.
Transiting these applications to the latest versions of .NET can be a little bumpy.
Applications built on the .NET Framework often require the installation of the
framework’s runtime environment on the target machines. This additional
installation step can increase the deployment complexity and the size of the
application package. However, with the introduction of .NET Core and its self-
contained deployment option, this disadvantage has been mitigated to some
extent.
Disadvantages of .NET
6. Learning Curve:
While the .NET Framework offers a wide range of features and functionalities, it
can have a steep learning curve for beginners. The framework’s extensive
libraries and tools require developers to invest time in learning and
understanding its concepts and best practices. Additionally, keeping up with the
frequent updates and new versions of the framework can also pose challenges for
developers.
7. Platform Dependency:
8. Open-Source Challenges:
Although the .NET ecosystem is extensive, some niche libraries and tools may
have more comprehensive support in other frameworks. Teams focusing on
specific integrations may need to evaluate the availability and maturity of
third-party components within the .NET ecosystem.
Common Language Runtime
The Common Language Runtime (CLR) is a virtual machine component of
Microsoft's .NET Framework that manages the execution of .NET programs. It
provides a managed execution environment by offering services such as:
The CLR converts managed code into machine instructions, which are then executed
on the computer's CPU. The CLR also allows programs to share common object-
oriented classes written in any of the supported languages. For example, developers
use various languages, but CLR ensures they all integrate seamlessly.
Common Language Runtime
Common Type System
The Common Type System (CTS) is a component of the .NET framework that defines
how types are declared, used, and managed in the common language runtime. It also
supports type safety, cross-language integration, and high-performance code
execution. The CTS provides a rich hierarchy of types without the need for libraries or
header files in the code.
CTS provides the types in the .NET Framework with which .NET applications,
components and controls are built in different programming languages so information
is shared easily. In contrast to low-level languages like C and C++ where
classes/structs have to be used for defining types often used (like date or time), CTS
provides a rich hierarchy of such types without the need for any inclusion of header
files or libraries in the code.
A .NET programming language (C#, VB.NET, J# etc.) does not compile into
executable code; instead it compiles into an intermediate code called Microsoft
Intermediate Language (MSIL). As a programmer one need not worry about the
syntax of MSIL - since our source code in automatically converted to MSIL. The
MSIL code is then send to the CLR (Common Language Runtime) that converts
the code to machine language, which is, then run on the host machine. MSIL is
similar to Java Byte code.
MSIL is the CPU-independent instruction set into which .NET Framework
programs are compiled. It contains instructions for loading, storing, initializing,
and calling methods on objects.
Combined with metadata and the common type system, MSIL allows for true
cross- language integration Prior to execution, MSIL is converted to machine
code. It is not interpreted.
Meta Data
Metadata is data about the data or documentation about the information which is
required by the users. In data warehousing, metadata is one of the essential
aspects.