phpRS            

Dnešní datum: 10. 09. 2010   | Hlavní stránka | Seznam rubrik | Kniha návštěv |  
  Hlavní menu
Hlavní stránka
Seznam rubrik
Fotogalerie
Kniha návštěv
Stáhněte si
Odkazy
Ankety
TOP 15

  Reklama


  Rubriky

  Poslouchám na síti


Spusť přehrávač


Spusť přehrávač


  Informace o webu
Všehochuť aneb od každého trochu

Content © 1991-2010 Slávek Rydval

View Slávek Rydval's profile on LinkedIn

Vytvořeno pomocí phpRS a Texy!

RSS kanál

Odborné články

* Seznámení s .NET

Vydáno dne 24. 06. 2005 (1629 přečtení)

.NET se stalo fenoménem už v době, kdy se o něm pouze mluvilo. Pravda, dílem to bylo výborným marketingem společnosti Microsoft, ale současně důvodem byla skutečnost, že .NET mělo konkurovat Javě. Multiplatformní, robustní, ryze objektové prostředí.

Cílem tohoto povídání je seznámit neprogramátory s technologií .NET. Jenže problém je právě v tom, že .NET je technologie, tedy něco, co se neprodává. Prodávají se aplikace či služby. Proto nám nezbude než se kolem programování stále točit, byť do něj nezabřednout.

Ještě než se podíváme přímo na .NET, nahlédněme do historie, abychom poodhalili důvody vzniku .NET.

V době operačního systému MS-DOS spolu aplikace nekomunikovaly. V jednu dobu běžela právě jedna aplikace, takže vlastně ani neměla, s kým by si popovídala.

Po příchodu Windows se situace výrazně zlepšila. Aplikace mohly komunikovat pomocí různých protokolů založených hlavně na zprávách. Zpráva nebyla nic jiného než číslo, které jednoznačně určovalo typ zprávy (např. překresli se) a případné parametry.

Jenže to velmi brzo přestalo stačit. V té době totiž zažívalo obrovský rozmach objektově orientované programování, které bylo v rozporu s voláním a přijímáním zpráv. Objektové programování totiž ze své definice spočívá v tom, že konkrétní objekt má nějaké vlastnosti zásadně určené pouze pro čtení (např. barvu, stav) a metody, které s těmito vlastnostmi manipulují (např. načti obsah ze souboru, připoj se k databázi).

Vynecháme-li různé objektové nadstavby nad zprávami (nejznámější je asi knihovna VCL používaná v dnes již pomalu zastaralých Delphi společnosti Borland), pak se ke slovu začaly dostávat komponenty, které bylo možné používat již jako objekty a to i mezi více vývojovými prostředími. Tyto komponenty jsou známé jako COM objekty.

COM objekty ovšem měly několik zásadních nedostatků — složitá registrace do systému, nepříliš dobrá kompatibilita datových typů a další. Architekti z Microsoftu tedy přemýšleli, jak vyřešit co možná nejvíce nedostatků a přidat další výhody — absolutní objektovost, kompatibilitu mezi různými programovacími jazyky, jednoduchou komunikaci mezi aplikacemi, větší bezpečnost atd. Odpovědí byla technologie .NET.

.NET ale není jen další možnost, jak komunikovat mezi aplikacemi, či spíše mezi objekty. .NET je platforma v pravém slova smyslu, podobně jako je například Java. .NET je možné provozovat — alespoň teoreticky — na různém hardware a různých operačních systémech — nalezneme jej ve Windows (od Windows 2003 je součástí instalace operačního systému), v mobilních přístrojích s Windows CE a dokonce i na Linuxu (projekt Mono, ovšem ten má problémy kvůli poměrně hloupým licenčním podmínkám některých částí .NETu). Snahou je dostat se i do mobilních telefonů resp. mobilních přístrojů obecně, ale zde si zatím jednoznačný prim drží Java.

Než začnu popisovat .NET podrobněji, chtěl bych se nyní odprostit od abstraktního popisu a říct — zcela přízemně —, co to znamená .NET ve spojitosti s vaším počítačem. Pokud chcete provozovat .NET aplikaci, musíte mít k tomu na svém počítači tzv. .NET Framework. .NET Framework je to samé, co Java Virtual Machine pro Javu (myšleno technologii, nikoliv jazyk). .NET Framework lze zdarma stáhnout ze stránek Microsoftu a zcela legálně nainstalovat na počítač s (legálními) Windows. Jakmile se vám to povede, lze spouštět .NETové aplikace.

.NET vytváří pro jednotlivé aplikace (případně komponenty, chceme-li aplikace dělit na menší části) společné podhoubí — komponenty spolu navzájem objektově komunikují. A je jedno, zda jsou tyto komponenty v rámci jedné či více aplikací.

Dalším důležitým faktorem je to, že je naprosto nepodstatné, v jakém (.NETovém) programovacím jazyce byla komponenta napsána. Jinými slovy, jedna komponenta může být v jazyce C#, druhá ve Visual Basicu.NET a třetí třeba v J#. Princip je totiž v tom, že výsledkem překladu zdrojového kódu (a nyní se omlouvám za trochu programátorštiny) není nativní kód pro Windows — tedy klasický .EXE soubor, jak jej můžeme znát — ale tzv. mezikód, který se distribuuje jako aplikace. Při prvním spuštění tohoto mezikódu jej .NET Framework přeloží pro konkrétní procesor, na kterém .NET Framework běží a spustí jej (tedy jej neinterpretuje jako to dělali např. dřívější verze Visual Basicu!). Ačkoliv tedy první spuštění aplikace může být pomalejší, tak vlastní běh (a — zjednodušeně řečeno — libovolné další spuštění) může být znatelně rychlejší než u klasického EXE souboru. Důvodem je to, že .NET Framework přeloží mezikód s ohledem na daný procesor, tedy snaží se využít všechny jeho instrukce. EXE soubor naopak kvůli zpětné kompatibilitě používá obecnější (a tedy pomalejší) instrukce, není-li optimalizován.

Jen pro zajímavost — zmínili jsme jazyk C#. Jde o nový programovací jazyk a jedno z prohlášení Microsoftu zní, že .NET Framework a C# byly vyvinuty jeden pro druhého. Architektem a otcem C# (a knihovny .NET) je Andreas Hejlsberk, který pracoval dříve pro Borland a měl na svědomí již jednou zmíněné Delphi a knihovnu VCL.

.NET Framework v sobě skýtá několik velmi důležitých částí — ADO.NET pro přístup k databázím, ASP.NET pro tvorbu webových aplikací a služeb, WinForms pro tvorbu klasických tlustých klientů a další. Zřejmě nejdůležitější jsou webové služby, na které je v současné době kladen velký důraz, na druhou stranu bez uložení do databáze by se většina těchto služeb mohla zrušit. Z tohoto důvodu jsou jednotlivé části dobře provázané, ale současně jednoduše rozdělitelné právě díky objektovosti.

Neméně důležitou vlastností je i bezpečnost. Na základě definovaných oprávnění a přidělených rolí lze v rámci aplikace povolit např. některé operace, které běžnému uživateli zůstávají skryty. Dosud to šlo řešit pouze na úrovni operačního systému a věru, nebylo to nijak jednoduché.

.NET má citelnou výhodu v tom, že přišel dlouho po uvedení Javy. Dokázal se poučit z chyb, které Java sebou vleče a jíž se nedokáže zbavit. Rozhodně ale nelze říct, že by .NET byl lepší než Java. .NET nemá svůj Framework pro mnohá zařízení, kde dominuje Java. Zde má Microsoft stále co dohánět.

Podobně, jako existují směšné hádky mezi tábory Pascalistů a Céčkařů, Linuxářů a Windowsáků, Nokiářů a Siemensáků, existují stejně komická hádky mezi .NETysty a Javaři. Nelze však říct, co je lepší. Vždy musíme mít konkrétní projekt, úlohu, vizi, na kterou lze nasadit jedno nebo druhé, nebo dokonce obojí. Každý systém má své výhody i nevýhody, které lze uplatnit či akceptovat v dané situaci.

A co budoucnost? V současné době se připravuje druhá verze .NETu, která by měla přijít na trh letos společně s Microsoft SQL Serverem 2005 a samozřejmě vlajkovou vývojovou lodí Visual Studiem .NET 2005. Proč zrovna společně s SQL Serverem? Myslím si, že hlavním důvodem je ukázat životaschopnost této platformy. Microsoft novou verzi SQL Serveru totiž z většiny přepsal právě pro platformu .NET a v jistém smyslu půjde o malou revoluci. Např. uloženou proceduru bude možné napsat nejenom v SQL jako doposud, ale např. v C# či Visual Basicu .NET.

.NET se podobně jako ostatní technologie vyvíjí a stejně jako ostatní časem vyhynou. V tomto případě to ale bude trvat déle než tomu bylo u jiných. Důvodem je nejen dobrá architektura a přijmutí .NETu komunitou vývojářů (a na nich to vlastně stojí), ale i to, že Microsoft mnoho svých aplikací pro .NET píše. A pokud je budeme chtít používat, .NET si budeme muset nainstalovat, pokud jej už v rámci operačního systému nebudeme mít předinstalovaný.


Tento článek byl napsán pro Click 6/2005.

Upozornění: tento text neprošel redakční úpravou, takže je tak, jak byl napsán včetně případných chyb. Žádná část tohoto článku nesmí být použita bez předchozího souhlasu autora.

Seznam mých dalších článků je v tomto přehledu.




[Akt. známka: 1,00 / Počet hlasů: 1] 1 2 3 4 5

Celý článek | Autor: Slávek Rydval | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek

  Čtenář
Jméno:
Heslo:


Registrace | Info
Zapomenuté heslo

  Vyhledávání

Hledej
na Nawebce!


Rozšířené vyhledávání

  Kalendář
<<  Září  >>
PoÚtStČtSoNe
  1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30    

  Reklama


rkEdit především pro vývojáře
rkEdit především pro vývojáře