.NET

Från Wikipedia

Hoppa till: navigering, sök
.NET Framework
Utvecklare: Microsoft
Senaste utgåva: 3.5.21022.8 (3.5) / 19 september 2007
Senaste betautgåva: 3.5.30428.1 (3.5 SP1 Beta) / 10 maj 2008
Operativsystem: Windows NT 4.0, Windows 98 och nyare
Programkategori: System platform
Licens: MS-EULA, BCL under Microsoft Reference License[1]
Webbplats: http://www.microsoft.com/net/

.NET Framework är en systemkomponent som är en del av operativsystemet Microsoft Windows. Den består utav en samling komponenter som hanterar exekveringen av program som är skriva speciellt för ramverket. Den innehåller också av ett stort klassbibliotek innehållande förkodade lösningar för vanliga programmeringsuppgifter såsom kryptografi, databashantering, anslutning till nätverk, webbtjänster och algoritmer. Det här är Microsofts svar till Suns Java-plattform. Till skillnad från Java så är konceptet bakom .NET Framework standardiserat som Common Language Infrastructure (CLI) (publicerat som ECMA-335 och ISO/IEC 23271).

.NET Framework är inkluderat i Windows Vista och Windows Server 2008. Den nuvarande version kan också installeras på Windows XP och Windows Server 2003.

Innehåll

[redigera] Primära designmål

Interoperabilitet

Interaktion med äldre applikationer är viktigt och därför finns det inbyggda funktioner som tillåter kommunikation med applikationer utanför .NET-miljön. Tillgång till COM-komponenter ges av namnutrymmena System.Runtime.InteropServices och System.EnterpriseServices. Annan funktionallitet tillhandahålls av P/Invoke.

Gemensam exekveringsmotor

Programspråken i .NET Framework kompileras till ett intermediärt språk kallat Common Intermediate Language (CIL). Koden tolkas inte utan kompileras till maskinkod under exekveringen, så kallad Just-In-Time-kompilation (JIT). Koncepten går under det gemensamma namnet Common Language Infrastructure (CLI). Microsofts implementation kallas Common Language Runtime (CLR).


Språkoberoende

.NET Framework introducerar ett gemensamt typsystem (Common Type System eller CTS). CTS definierar datatyper och byggstenar som stöds av CLR och hur de interagerar med varandra. Detta gör det möjligt för .NET-språken att utbyta instanser av typer mellan varandra.


Klassbibliotek

Base Class Library (BCL), en del av Framework Class Library, innehåller det mest grundläggande för .NET Framework. BCL innehåller classer som omsluter en del vanliga funktioner såsom filhantering, grafiskrendering, databasinteraktion och manipulation av XML-dokument.


Förenklad *deployment*

Installation av programvara måste ses till så att de inte påverkar programvara som redan är installarad. .NET Framework innehåller verktyg som uppfyller dessa krav.


Säkerhet

Program kontrolleras alltid innan de exekveras för att förebygga fel i koden, som t.ex. buffertöverskridning.


Portabilitet

.NET Frameworks design gör att den i teorin är multiplattforms-kompatibel. Ett program som är skrivet för att använda .NET Framework ska kunna exekveras på ett system där ramverket är implementerat. Microsofts kommersiella implementation stödjer Windows, Windows CE och Xbox 360. Utöver detta har Microsoft gjort sin teknologi tillgänglig som öppna standarder (Common Language Infrastructure, dess komponenter, programspråken C# och C++/CLI) och tillhandahåller specifikationer för dessa. Detta gör det möjligt för tredjepartsutvecklare att själv implementera kompatibla implementationer på andra platformar.

[redigera] Arkitektur

Visuell överblick över Common Language Infrastructure (CLI)
Visuell överblick över Common Language Infrastructure (CLI)

[redigera] CLI (Common Language Infrastructure)

Huvudartikel: Common Language Infrastructure

.NET Frameworks huvudaspekter är del av Common Language Infrastructure, eller CLI. Syftet för CLI är att tillhandahålla en språkoberoende plattform för programutveckling och exekvering. Detta inkluderar funktioner för undantagshantering, skräpinsamling, säkerhet och interoperabilitet. Microsofts implementation av CLI kallas Common Language Runtime, eller CLR. CLR består av fyra primära delar:

[redigera] Assemblies

Den intermediära CIL-koden lagras i .NET assemblyn. Enligts specifikationerna sparas assemblierna i Portable Execution (PE) formatet, gemensamt på Windows plattformen som DLL och EXE-filer. Ett assembly innehåller ett manifest med metadata.


[redigera] Metadata

All CIL är självbeskrivande genom .NET Metadata. CLR kontrollerar metadatan för att försäkra sig att rätt metod kallas. Metadan genereras vanligen av kompilatorn men utvecklarna kan skriva egen med hjälp av attribut. Metadatan innehåller information om assemblyn, och används också för att implementera reflektiv programmering i .NET Framework.


[redigera] Klassbibliotek

Namnutrymmen i BCL[2]
System
System.CodeDom
System.Collection
System.Diagnostics
System.Globalization
System.IO
System.Resources
System.Text
System.Text.RegularExpressions

Micrsoft .NET Framework innehåller ett antal klassbibliotek. Klassbiblioteket är hierarkiskt organiserat i namnutrymmen. De flesta av de inbyggda API:erna är en del av namnutrymmena System.* eller Microsoft.*.

  • Base Class Library (BCL) är ett subset av hela klassbiblioteket som tjänar som grund-API för Common Language Runtime. Klasserna i mscorlib.dll och en del av klasserna i System.dll och System.core.dll anses vara en del BCL. BCL finns implementerat i .NET Compact Framework, Microsoft Silverlight och Mono.

[redigera] Säkerhet

[redigera] Minneshantering

CLR sköter minneshanteringen (allokering och frigöring av minne) för att underlätta för utvecklaren. Minne för .NET typer (objekt) allokeras från heapen, ett minne som sköts om av CLR. Objekten på heapen existerar sålänge det finns en referens till dem, antingen direkt eller indirekt via en graf av objekt. När det inte finns någon referens till objektet så kan den inte längre användas, det har blivit skräp. Objektet har dock fortfarande minne allokerat till sig. .NET Framework inkluderar en skräpinsamlare som med jämna mellanrum sveper igenom heapen och letar efter orefererade objekt vars minne den sedan avallokerar. Skräpinsamlaren körs bara när en viss del av minnet har använts.

[redigera] Standardisering och licensering

[redigera] Versioner

Microsoft startade utvecklingen av .NET Framework i slutet av 1990-talet. Det gick då under namnet New Generation Windows Service (NGWS) och den första betan av .NET Framework 1.0 släpptes sent under 2000.[3]

.NET Frameworks arkitektur
.NET Frameworks arkitektur
Version Versionsnummer Datum
1.0 1.0.3705.0 2002-01-05
1.1 1.1.4322.573 2003-04-01
2.0 2.0.50727.42 2005-11-07
3.0 3.0.4506.30 2006-11-06
3.5 3.5.21022.8 2007-11-19

[redigera] .NET Framework 1.0

Det här är den första releasen av .NET Framework. Den släpptes den 15 februari 2002 och finns tillgänlig för Windows 98, NT 4.0, 2000, och XP.

[redigera] .NET Framework 1.1

[redigera] .NET Framework 2.0

Nytt:

[redigera] .NET Framework 3.0

.NET Framework 3.0, tidigare kallat WinFX, innehåller nya API:er som finns utgör en del av Windows Vista och Windows Server 2008. Det finns även tillgängligt för Windows XP SP2 och Windows Server 2003. Denna release innehåller inga större ändringar i arkitekturen utan utnyttjar CLR 2.0. Ingen nya version av .NET Compact Framework släpptes samtidigt som denna.

.NET Framework 3.0 består huvudsakligen av fyra nya komponenter:

[redigera] .NET Framework 3.5

Delar av källkoden för Base Class Library släpps under Microsoft Reference License.

[redigera] Framtida utveckling

[redigera] .NET vs. Java

[redigera] Kritik

[redigera] Alernativa implementationer

Det finns ett flertal alternativa implementationer av CLI standarden. Här är en lista över några av dem.

[redigera] Se även

[redigera] Referenser


[redigera] Externa länkar


.NET Framework
Arkitektur Base Class Library · Common Language Runtime · Code Access Security · Assembly · Metadata
Common Language Infrastructure (CLI)

Common Language Infrastructure (CLI) · Common Type System · Common Intermediate Language · Virtual Execution System

CLI-programspråk C# · Visual Basic .NET · C++/CLI (Managed) · J# · JScript .NET
Den här artikeln är hämtad från http://sv.wikipedia.org/wiki/.NET
Personliga verktyg