Wat is .NET?

Voltooid

Wanneer iemand de term .NETgebruikt, is wat ze betekenen sterk afhankelijk van context. In deze les leert u meer over .NET door deze te bekijken als een ecosysteem. Met andere woorden, .NET is een verzameling van veel onderdelen en mensen die samen een krachtige omgeving maken voor het bouwen van toepassingen.

.NET is een ecosysteem voor toepassingsontwikkeling

De term ecosysteem beschrijft de verschillende facetten van een ontwikkelomgeving voor toepassingen en de community eromheen. Deze facetten combineren om een aantrekkelijke reden te creëren om te investeren in het leren van .NET en het bouwen van .NET-toepassingen.

.NET-talen en compilers gebruiken om toepassingen uit te voeren in de .NET-runtime

Softwareontwikkelaars gebruiken .NET-talen zoals C# en F# om broncode te schrijven. Elke coderegel die ze schrijven, drukt een instructie of opdracht uit die de computer moet uitvoeren terwijl het programma wordt uitgevoerd.

Voordat softwareontwikkelaars hun code kunnen uitvoeren, moeten ze deze eerst compileren. De .NET-compiler is een programma waarmee de broncode (in elke ondersteunde programmeertaal) wordt geconverteerd naar een draagbare taal met de naam tussentaal (IL). De .NET-compiler slaat de IL-code op in een bestand met de naam .NET assembly. Door de code te compileren in een tussenliggende indeling, kunt u dezelfde codebasis gebruiken, ongeacht of u de code uitvoert, in Windows of Linux, of op 32-bits of 64-bits computerhardware.

De .NET Runtime- is een uitvoeringsomgeving voor uw gecompileerde .NET-assembly. Met andere woorden, de .NET-runtime is wat uw toepassing uitvoert en beheert terwijl deze wordt uitgevoerd op een hostbesturingssysteem. We bespreken wat de .NET-runtime in slechts een ogenblik doet.

Gelukkig hoeft u als softwareontwikkelaar die net begint met .NET niet in detail te weten hoe deze mechanismen werken. Met ervaring krijgt u meer inzicht in en waardeer de onderliggende kracht van .NET-talen en compilers en de runtime.

Tip

Soms denken mensen dat de C#-programmeertaal is .NET. C# en .NET zijn echter uniek. C# is een syntaxis van een programmeertaal. Als onderdeel van de syntaxis kunt u verwijzen naar en aanroepen van methoden die zijn gedefinieerd in .NET-bibliotheken of assemblies. Vervolgens gebruikt u de C#-compiler die is geïnstalleerd met de .NET SDK om een .NET-assembly te maken op basis van uw C#-code. De .NET-runtime voert vervolgens de .NET-assembly's uit. Dit zijn belangrijke concepten wanneer u meer leert over .NET en C#.

.NET-toepassingsframeworks en -bibliotheken gebruiken om gebruik te maken van vooraf gebouwde functionaliteit

Alle software is ingebouwd in lagen, wat betekent dat software wordt uitgevoerd op verschillende abstractieniveaus op een computer:

  • Op het laagste niveau communiceert software rechtstreeks met de hardware van uw computer. Het regelt de stroom van gegevens op het moederbord, processors, geheugen en harde schijven.
  • Op het volgende niveau kan de eindgebruiker instructies geven via een besturingssysteem.
  • Op het volgende niveau biedt software zoals .NET een manier om toepassingen te ontwikkelen en uit te voeren.
  • Op het volgende niveau kunt u met toepassingsframeworks en -bibliotheken met functionaliteit snel uitgebreide toepassingen bouwen met minder inspanning dan oudere ontwikkelmethoden.

Een codebibliotheek bevat functionaliteit voor een specifiek doel in één assembly. Voor .NET zijn duizenden bibliotheken beschikbaar. Deze bibliotheken kunnen van eerste partijen of van derden zijn en kunnen commercieel of open source zijn. De bibliotheken bieden een breed scala aan functionaliteit die u in uw toepassingen kunt gebruiken. U verwijst alleen naar deze assembly's en roept de methoden aan die u nodig hebt. Op deze manier bouwt u als ontwikkelaar voort op het werk van andere softwareontwikkelaars. U bespaart tijd en energie omdat u niet elke functie zelf hoeft te bouwen en onderhouden.

Een toepassingsframework combineert verschillende gerelateerde bibliotheken, samen met starterprojecten, bestandssjablonen, codegeneratoren en andere hulpprogramma's. U kunt deze resources gebruiken om volledige toepassingen te bouwen voor een specifiek doel. Deze toepassingsframeworks worden app-modellengenoemd. .NET-toepassingsframeworks zijn bijvoorbeeld beschikbaar voor populaire app-modellen, zoals webontwikkeling, desktop- en mobiele ontwikkeling en gameontwikkeling.

U kunt de .NET SDK rechtstreeks installeren of door Visual Studio 2022 te installeren. De .NET SDK installeert vooraf een uitgebreide set bibliotheken en toepassingsframeworks die de basisklassebibliotheekworden genoemd. U kunt deze codebibliotheek in uw programma's gebruiken, ongeacht het platform of de app-modellen die u wilt bouwen.

Voor andere bibliotheken van derden gebruiken ontwikkelaars pakketbeheerders zoals NuGet om codebibliotheken te zoeken en te integreren vanuit pakketopslagplaatsen, zoals de NuGet Gallery.

Wat zijn de belangrijkste app-modellen?

U vraagt zich misschien af welke frameworks ondersteuning bieden voor welke app-modellen. Gebruik de volgende tabel om een app-model toe te wijzen aan een .NET Framework.

Appmodel Raamwerk Notities
web ASP.NET Core Het framework voor het bouwen van logica aan de serverzijde.
Web ASP.NET Core MVC Het framework voor het bouwen van logica aan de serverzijde voor webpagina's of web-API's.
Het web ASP.NET Core Razor Pages Het framework voor het bouwen van door de server gegenereerde HTML.
Webclient Blazor Blazor maakt deel uit van ASP.NET Core. De twee modi maken manipulatie van Document Object Model (DOM) mogelijk via sockets als communicatievoertuig voor het uitvoeren van code aan de serverzijde of een WebAssembly-implementatie voor het uitvoeren van gecompileerde C# in een browser.
Bureaublad .NET voor Mac Hiermee kunnen .NET-ontwikkelaars apps bouwen voor Mac-apparaten met systeemeigen gebruikersinterface en API-toegang.
Bureaublad WinForms Een framework voor het bouwen van slagschipgrijze Windows-toepassingen.
Bureaublad Windows Presentation Foundation (WPF) Een framework voor het bouwen van dynamische desktopapplicaties die voldoen aan verschillende vormfactoren. MET WPF kunnen formulierelementen bewegingen uitvoeren, vervagen, glijden en andere effecten met behulp van een rijke bibliotheek met animaties.
Mobiel .NET voor Android Hiermee kunnen .NET-ontwikkelaars apps bouwen voor Android-apparaten met systeemeigen gebruikersinterface en API-toegang.
Mobiel .NET voor iOS Hiermee kunnen .NET-ontwikkelaars apps bouwen voor iOS en iPadOS met systeemeigen gebruikersinterface en API-toegang.
Gebruikersinterface voor meerdere platform-apps .NET MAUI De belangrijkste manier om apps te bouwen voor iOS, Android, Mac en Windows vanuit één gedeelde codebasis met systeemeigen gebruikersinterface en toegang tot systeemeigen API's.

.NET maakt ook gebruik van populaire ontwikkelomgevingen van derden en opensource-gamingomgevingen en -engines zoals Unity.

.NET-hulpprogramma's gebruiken om .NET-apps te bouwen

Softwareontwikkelaars zijn afhankelijk van hulpprogramma's voor het schrijven van code, het toevoegen van verwijzingen naar codebibliotheken, het compileren van code en het opsporen van fouten in code. In deze sectie worden verschillende .NET-hulpprogramma's beschreven die u gaat gebruiken om .NET-toepassingen te bouwen.

Visual Studio 2022 is de Microsoft-vlaggenschip-ontwikkelingsomgeving. Miljoenen ontwikkelaars gebruiken het om .NET-toepassingen te bouwen. Een grafische gebruikersinterface (met menu's, vensters, visuele ontwerpers, dialoogvensters en wizards) begeleidt ontwikkelaars bij het ontwikkelingsproces van toepassingen. Visual Studio 2022 is beschikbaar in drie edities: Community, Professional en Enterprise. Elke editie bevat verschillende hulpprogramma's en is gelicentieerd voor verschillende doeleinden.

Visual Studio Code is de Microsoft-vlaggenschipcode-editor die ondersteuning biedt voor meerdere programmeertalen en wordt ondersteund op Windows, Mac en Linux. C# Dev Kit-extensie zorgt voor verbeterde C#-ontwikkeling in Visual Studio Code en verbetert de ervaring van het werken met .NET-projecten met ondersteuning voor een oplossingsverkenner, projectsysteem, testverbeteringen en verkenner, ai-ondersteunde ontwikkeling en een krachtige taalservices voor de beste C#-taalfuncties zoals codenavigatie, herstructureren, semantisch bewustzijn en meer.

Ontwikkelaars die de voorkeur geven aan een opdrachtregelwerkstroom, kunnen gebruikmaken van een combinatie van Visual Studio Code, de populairste code-editor ter wereld en de .NET-opdrachtregelinterface, ook wel bekend als de .NET CLI-.

Bovendien kunt u kiezen uit talloze hulpprogramma's van eerste partijen en hulpprogramma's van derden voor veel geavanceerde .NET-toepassingen. Opties zijn onder andere code profilers, unittest-runners en codecoverage-analyzers.

U vindt andere .NET-hulpprogramma's voor andere scenario's. Later in deze module werkt u bijvoorbeeld met Try .NET. U gebruikt deze browserinterface om eenvoudige toepassingen te schrijven om u te helpen de programmeertaal C# te leren.

Oplossingen en antwoorden zoeken in documentatie en zelfstudies

Microsoft biedt actief een uitgebreide set documentatie, zelfstudies en training. U vindt leermateriaal in populaire modaliteiten om u te helpen bij elke stap in uw leerproces.

De volgende tabel bevat een aantal geweldige resources waarnaar u een bladwijzer wilt maken en terugkeren.

Hulpbron Doel
Microsoft Learn Bieden snelle startgidsen en definitieve referentiedocumentatie.
patronen en praktijken Helpt ontwikkelaars en softwarearchitecten oplossingen te vinden voor algemene behoeften voor het ontwikkelen van toepassingen. Resources overstijgen vaak de details van het schrijven van code op laag niveau en gaan dieper in op het kiezen van producten en services die schijnbaar oneindig schaalbare architecturen mogelijk maken.
.NET-video's Biedt video-instructies van het .NET-team. Deze video's begeleiden ontwikkelaars bij veelvoorkomende gebruiksscenario's.
Aan de slag met C# Biedt praktijklabs om u te helpen uw vaardigheden op te bouwen door instructies, oefeningen, media, kenniscontroles en een middel om uw voortgang bij te houden.

Interactie met de .NET-community om oplossingen te leren en te delen

Het .NET-ecosysteem gaat verder dan talen, bibliotheken en hulpprogramma's voor de mensen. U kunt zowel leren van als bijdragen aan de community.

  • Learn: .NET-communityleden organiseren live online evenementen en persoonlijke bijeenkomsten. Ze bouwen opensource-software, nemen deel aan Q&A-forums en nemen videozelfstudies op. Ze schrijven boeken en blogberichten die je helpen te leren en oplossingen te vinden als je niet zeker weet wat je vervolgens moet doen.
  • Bijdragen: .NET is open source op GitHub. De projecten in deze opslagplaats worden beheerd door de .NET Foundation. Deze onafhankelijke organisatie is gewijd aan het kweken van een vertrouwd, commercieel vriendelijk opensource-ecosysteem rond het .NET-ontwikkelplatform. In deze opslagplaats kunt u uw unieke perspectief en stem delen om anderen te helpen leren.

Hoe vergelijkt het .NET-ecosysteem zich met anderen?

Als u bekend bent met de wereld van softwareontwikkeling, vraagt u zich misschien af hoe het .NET-ecosysteem zich verhoudt tot anderen. Eerlijk gezegd kunnen andere ecosystemen soortgelijke claims maken als sommige of veel van de tot nu toe gemaakte verklaringen in deze eenheid.

Een van de meest onderscheidende kenmerken van .NET is echter dat de voortdurende ontwikkeling en ondersteuning afkomstig is van niet alleen een belangrijke technologieleider, maar ook van de community. Belangrijke delen van .NET zijn ontwikkeld via opensource-middelen. Community-input en bijdragen worden zowel verwelkomd als aangemoedigd. In feite is 87 procent van de inzenders buiten Microsoft. Op basis van community-invoer verplaatst Microsoft het platform actief naar voren met functieverbeteringen, bugfixes en prestatieverbeteringen. Er zijn meer dan 100.000 pull-aanvragen van de community geaccepteerd.

Daarnaast heeft het .NET-ecosysteem een impuls:

  • Er zijn meer dan 5 miljoen .NET-ontwikkelaars!
  • De resultaten van Stack Overflow-polls tonen consistent aan dat .NET Core & .NET het meest geliefde framework zijn.
  • Studenten houden van .NET; 40 procent van de ontwikkelaars die nog niet bekend zijn met .NET zijn studenten.
  • De GitHub-opslagplaatsen voor .NET en ASP.NET behoren tot de top 30 van de snelst groeiende open-source softwareprojecten (OSS).
  • GitHub vermeldt C# in de top vijf programmeertalen en de taal neemt in populariteit toe volgens de 2020 TIOBE-programmeercommunity-index.
  • .NET heeft het snelste webframework op aarde volgens TechEmpower-benchmarks, een onafhankelijke, opensource-set webprestatiebenchmarks die tientallen talen en toepassingsframeworks meten.

Een korte geschiedenis van .NET

Het oorspronkelijke .NET Framework werd begin 2002 voor het eerst uitgebracht. Sindsdien zijn veel updates en nog veel meer functionaliteit gevolgd. Na jaren van verbeteringen en nieuwe functies groeide het oorspronkelijke .NET Framework, met name belangrijke codebibliotheken, aanzienlijk.

Na 2002 heeft Microsoft gewerkt om een versie van .NET te maken met platformoverschrijdende compatibiliteit. Het doel was ontwikkelaars in staat te stellen één codebasis te schrijven en te gebruiken in macOS-, Linux- en Windows-besturingssystemen.

Door deze inspanningen werd .NET Core rond 2014 geïntroduceerd. Microsoft heeft het oorspronkelijke .NET Framework onderhouden, maar nieuwe functies en verbeteringen zijn gereserveerd voor .NET Core. Core is later uit de naam verwijderd. De volgende primaire versies zijn .NET 5, .NET 6, .NET 7, .NET 8, enzovoort. Versies worden over het algemeen elke november uitgebracht.

Waarom is de .NET-geschiedenis het vermelden waard? Omdat u waarschijnlijk blogberichten, video's en broncode vindt die gericht zijn op het oorspronkelijke .NET Framework. In sommige gevallen werken de instructies of code nog steeds, maar in andere gevallen moet u mogelijk aanpassingen aanbrengen aan de nieuwe .NET.