.NET Framework
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

.NET Framework.NET Framework

 

.NET Framework

Google       Google       10. 12. 2008       30 659×

Cílem tohoto článku je objasnit, jak funguje .NET Framework a poznat základní terminologii, která s platformou .NET souvisí.

Co je .NET Framework?

Když dnes hovoříme o platformě .NET Framework, mluvíme pouze o jednom ze systémů infrastruktury .NET. Platforma .NET je velmi rozsáhlá a složitá. Její infrastruktura se skládá z několika systémů:

  • .NET Framework
  • Microsoft Visual Studio.NET
  • .NET Enterprise Servers
  • Microsoft Windows.NET

V tomto článku bych chtěl objasnit pojmy, které přímo souvisí se systémem .NET Framework. Jedná se především o CLR, CLS, BCL, MSIL a JIT. Jde o základní terminologii, která se pojí s .NET Framework a každý programátor by ji měl znát.

.NET Framework se skládá z běhového systému - CLR (Common Language Runtime) - a knihoven tříd systému .NET Framework - BCL (Basic Class Library - základní knihovny tříd).

Common Language Runtime

Běhový systém CLR si můžeme představit jako virtuální stroj, ve kterém pracují aplikační funkce platformy .NET, kde mají všechny jazyky k dispozici knihovny tříd systému. Jednoduše řečeno, na vašem počítači běží další systém, který spravuje aplikace pro .NET. Pro tento systém existuje obdoba strojového kódu, jde o MSIL. Mnohokrát se setkáte v souvislosti s platformou .NET s otázkou výkonnosti, protože aplikace napsané pro .NET jsou omezeny výkonností prostředí, ve kterém běží, tedy CLR. Tato skutečnost je způsobena tím, že kód není kompilován přímo do strojového kódu, ale do MSIL. Tento nedostatek vynahrazují mnohé výhody, jako řízený kód, jednotný typový systém a správa paměti (garbage collector).

Další výhodou je, že pro platformu .NET můžete vyvíjet v mnoha jazycích. Tato vlastnost se nazývá "cross-language interoperability" - možnost spolupráce mezi jazyky. Je jí dosaženo tím, že každý kompilátor daného jazyka musí splnit CLS (Commnon Language Specification). Jde o určitou sadu pravidel, která musí kompilátor dodržovat, aby aplikace po překompilování fungovaly v .NET.

Knihovny třídy systému .NET Framework

Společná knihovna v praxi znamená, že všechny programovací jazyky, které ji používají, mají teoreticky naprosto stejné možnosti. Opět vyvstává otázka, zda je výhoda, že všechny jazyky umí stejné věci. Dle mého názoru se jedná o dobrou věc, člověk si nemusí pamatovat syntaxi dalších programovacích jazyků a vystačí si pouze s jedním.

Microsoft Intermediate Language - MSIL

Aby mohli tvůrci programovacích jazyků vytvářet další jazyky pro platformu .NET, vyvinul Microsoft jazyk MSIL, který je podobný assembleru. Při kompilaci programu pro systém .NET bere překladač jako vstup zdrojový kód příslušného jazyka a výstupem je právě aplikace v MSIL (ještě se nejedná o strojový kód!). CLR zajistí, že při prvním spustění aplikace se program z MSIL přeloží pomocí JIT (just-in-time) kompileru do strojového kódu. Je možné vyvíjet programy i v jazyce MSIL, ale je to velmi nepraktické. Jazyk MSIL je především zajímavý pro tvůrce programovacích jazyků a kompilátorů.

Just in time

  1. Generování kódu při instalaci
    Při tomto způsobu vytváříte strojový kód přímo při instalaci programu a již se nemusíte bát pomalého prvního spouštění.
  2. Metoda JIT
    Jde o běžný způsob kompilace. Metody jsou kompilovány při jejich prvním volání.
  3. Metoda EconoJIT
    Jde o způsob kompilace, který je v hodný pro zařízení s omezenými zdroji a nedostatkem paměti. Tímto způsobem zajistíme, že EconoJIT pozastaví kompilaci, pokud má systém nedostatek paměti.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

3 názory  —  3 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor studuje VoŠ - Vypočetní technika a programování v Č.B. Programuje v PHP, C# a MySQL a aktivně se zajímá o webové technologie.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý