Uběhl rok a kousek a společně s novým serverovým operačním systémem Microsoftu je tu i Visual Studio .NET 2003 (a 64-bitový databázový server MS SQL Server 2000). Ne náhodou byly všechny tři produkty uvedeny na trh současně. 64-bitový SQL Server je totiž určen pro 64-bitový Windows 2003 Server a Visual Studio umožňuje vyvíjet jak pro zmíněná Windows (.NET Framework je součástí serveru, takže odpadá nutnost distribuce), tak i pro databázový server (ovšem nenechte se tímto zmást, jak uvidíte dále, pomocí Studia lze tvořit aplikace pro cokoliv, na čem .NET Framework může běžet). Právě díky Windows 2003 Server, kolem kterého se „motalo“ nejvíce zpráv, bylo Studio (a i databázový server) trochu v pozadí, což je škoda.
Pojďme si ve zkratce říct, co to Visual Studio .NET (dále jen VS.NET)
2003 vlastně je. Jedná se o vývojový nástroj, který umožňuje
vytvářet projekty od těch nejjednodušších jako jsou textové konzole až
po ty nejnáročnější v podobě webových služeb komunikujících mezi
sebou pomocí XML. Cílovou platformou je primárně .NET (Compact) Framework,
který může být — podobně jako např. Java — na všech různých
platformách (jde jen o to napsat jeho implementaci pro konkrétní operační
systém či zařízení). V některých případech (např. Visual C++) je
možné přeložit aplikaci přímo pro platformu Windows a není pak potřeba
mít na cílovém počítači nainstalovaný .NET Framework.
O VS.NET 2003 se tvrdilo, že v něm najdete to, co se nestihlo dát do
předchozí verze. Dalo by se tedy říct, že letošní vydání je
rozšíření loňského. Ale nenechte se zmást. Samozřejmě obsahuje dost
vlastností, které mohly být součástí verze 2002, ale stejně tak obsahuje
možnosti, které dříve zahrnuty do distribuce být prostě nemohly (např.
díky tomu, že Windows 2003 Server byl stále ještě ve vývoji). Nejen
z uvedených důvodů dnes přistoupím k recenzi trochu jiným způsobem.
Nebudu zde popisovat pouze novinky (ovšem místa dostanou nejvíce), ale
popíši i některé vlastnosti, které byly sice nové loni, ale do recenze se
nevešly (viz SWN 4/2002) a jsou stále aktuální.
Jak bývá u software tohoto druhu zvykem, i VS.NET 2003 je rozděleno do
několika základních edic, které lze zakoupit: Professional, Enterprise
Developer a Enterprise Architect, přičemž v ruce (a na počítači) jsem
měl poslední uvedenou edici. Při rozbalení krabice jsem zavzpomínal na
staré časy, kdy se software dodávalo na několika (desítkách) disket a
instalace se nazývala diskotékou. Kompletní instalace VS.NET 2003 je na
6 CD, přičemž na dalších desíti jsou vývojářské verze .NET Enterprise
Serverů (jmenujme alespoň MS SQL 2000 Server, BizTalk Server, Windows
2003 Server) plus Visual SourceSafe a Visio.
Před vlastní instalací je však zapotřebí provést velké množství
úprav v systému. Tu nainstalovat poslední opravný balíček, tam poslední
internetový prohlížeč, tuhle zase IIS a další. Bohužel ne vše je na CD
obsaženo (např. poslední service pack pro Windows 2000). Na systémovém
disku je potřeba mít dostatek místa nejen pro .NET Framework, ale i pro
další součásti VS.NET (To mě ovšem přivádí do stavu šílenství, ze
kterého nebývá návratu. KDY UŽ SI KONEČNĚ BUDU MOCI NAINSTALOVAT SOFTWARE
KAM CHCI JÁ A NE VÝROBCE?!). Teprve pak je možné začít instalovat. Doba
instalace včetně přípravy se může pohybovat kolem hodiny a půl až
klidně přes čtyři hodiny. Každopádně postupoval jsem přesně podle
instrukcí a nestalo se, že bych zabloudil, nebo že by se vyskytl (byť
jediný) problém.
Konečně nastal ten správný čas, kdy je možné VS.NET spustit. První,
co zaregistrujeme, jsou změny na výchozí stránce (Start page), která byla
předělána. Sekce My Profile a Project mají nyní vlastní záložku a
záložka Online Resources obsahuje rozšířené informace přímo od
Microsoftu (ovšem je nutné mít rozumné připojení k Internetu — tedy
u nás ještě minimálně osm let nedostupná věc). Drobná vylepšení
zaznamenal i Solution Explorer, jmenujme dvě přibyvší tlačítka pro práci
s nástrojem řízení zdrojů (např. Visual SourceSafe, řeč o něm bude
dále) — Checked Out Exclusive a Checked Out Shared.
Máte-li nainstalovanou předchozí verzi, je možné z ní kdykoliv
převzít nastavení do verze 2003 (Studio se na začátku zeptá automaticky,
později je k dispozici speciální přepínač).
Další změna, nebo v tomto případě spíše rozšíření, je nový .NET
jazyk J# (jde o jednu z věcí, která se nestihla do verze 2002 a po
dokončení ji bylo možné dodatečně stáhnout z webu společnosti
Microsoft). Jazyk J# je kompatibilní se syntaxí Javy, což by mělo umožnit
pokud možno rychlý a bezbolestný přechod do prostředí .NET (někteří
lidé se mylně domnívají, že to, co napíší v J# jim poběží na
nějakém Java Virtual Machine). Myslím si, že je tohle správný postup, jak
nalákat vývojáře od konkurenčního jazyka a prostředí.
Novinky jsou i v jednotlivých jazycích (případně v jejich podpoře).
Protože nemá význam vypisovat zde všechny pro každý z nich, uvedu ty
nejzajímavější (z mého pohledu) pro C# (vyznavači ostatních jazyků
jistě prominou). Dokumentační komentáře začínaly třemi lomítky, nyní
je možné použít i konstrukci
/** <summary>text</summary> */
. IntelliSense byla vylepšena kromě jiného o velmi kouzelnou věc —
zachytávání událostí. Dejme tomu, že máte na formuláři tlačítko a
chcete mu přidat v kódu nějakou událost. Napíšete tedy např.
this.button1.Click +=
a IntelliSense vám nabídne zadat nejen událost, ale hned pro ni vytvořit
metodu (co by za to vývojáři v Delphi dali). Pro začátečníky bylo
vytvořeno více příkladů (pro Windows Forms, programování grafiky a
další).
Jestliže v loňské verzi bylo po instalaci k dispozici datové
připojení pouze pro MS SQL Server, dnes je tomu již jinak. Nově se tu
objevili poskytovatelé dat pro OLE DB, ODBC a Oracle 8i a 9i (je nutné mít
Oracle klienta alespoň 8.1.7). Na Internetu pak existují i další
poskytovatelé třetích stran pro zde nezmíněné databázové servery, např.
pro Firebird. Opět jde o věci, které bylo možné dodatečně stáhnout, ale
servírování přímo z CD je přeci jenom příjemnější (a programátory,
stejně jako ženské, je potřeba rozmazlovat). Ovšem pokud jste přeci jenom
měli staženého poskytovatele např. pro ODBC, je nutné věnovat pozornost
změnám v .NET Frameworku 1.1 (viz dále).
Vaše aplikace nemusí běžet pouze na běžných osobních počítačích
(ať již jako Windows Forms aplikace či jako webová služba na Internetu),
ale i na kapesních počítačích typu PDA, na kterých je nainstalovaný .NET
Compact Framework, jehož podpora je přímo součástí VS.NET. O podporu jde
doslova a do písmene. Jakmile napíšete aplikaci, můžete si ji nechat
přeložit a ihned vyzkoušet na emulátoru Windows CE nebo nasadit přímo na
konkrétní přístroj. Samozřejmostí je i možnost ladění těchto
aplikací. Nedostatkem ovšem je neshoda velikosti fontů na vývojovém
počítači a na cílovém zařízení. To, co vypadá dobře ve VS.NET nemusí
být nutně správné na kapesním zařízení (viz obrázek). Druhou nevýhodu,
kterou jsem pocítil, je poněkud zdlouhavé spouštění aplikace na
emulátorech.
Jednou z vlastností, které dělá vývojové prostředí atraktivním, je
možnost ladění kódu a hledání chyb. To samozřejmě umí Studio od
počátku, nyní nově obsahuje bezpečnostní rozšíření, které např.
omezuje Just-In-Time ladění. Vzdálený debuging dokáže použít pípy
(pipes), případně si můžete nechat automaticky stáhnout ladící symboly
ze serveru. Příjemná je schopnost automaticky vstoupit (a ladit) webovou
službu.
Pro webové služby nabízí VS.NET nový dialog pojmenovaný Web Reference,
který umožňuje procházet a zobrazovat XML webové služby ve vašem
projektu. Podporovány jsou také nové specifikace typu WS-Security, WS-Routing
či WS-Attachments.
Společně s VS.NET je dodávána i nová verze .NET Frameworku,
konkrétně 1.1 (zde bych rád upozornil na to, že pokud otevřete projekt
z loňské verze, je automaticky změněn cílový .NET Framework právě na
tuto novou verzi). Obsahuje ASP.NET Mobile Controls, které dříve byly
dostupné pouze zvlášť. Přibyly také nové jmenné prostory pro připojení
k databázím, např. System.Data.Odbc (pozor, ve verzi 1.0 bylo možné
tohoto poskytovatele dat stáhnout zvlášť a zařadit se do jmenného prostoru
Microsoft.Data.Odbc) nebo System.Data.SQLServerCe pro mobilní verzi MS SQL
Serveru. Několika změn doznalo i ADO.NET, ASP.NET a zabezpečení. Dále je
zde podpora protokolu IPv6. Velmi dobrou vlastností je i možnost běhu
aplikací pro .NET Framework verze 1.0 a 1.1 současně. Jednu výtku ale
přeci jenom mám. Windows Forms stále neumožňují vše, co platforma Win32,
což je přeci jenom trochu škoda — i dnes je stále dost vývojářů
tlustých klientů a občas jim tu a tam něco chybí.
Jedno ze zklamání (ovšem přiznám se, čekal jsem ho), je Visual
SourceSafe (recenzi viz zde),
nástroj pro verzování zdrojových souborů. Již několik let je tento
nástroj ve své šesté verzi a nezdá se, že by jeho vývoj kamkoliv jakkoliv
pokročil. V dnešní době každý příčetný člověk (kterýmžto běžný
manažer bohužel nebývá) nutně musí volat po plnohodnotném konfiguračním
řízení včetně správy požadavků (přičemž základní funkčnost
postačující i větším týmům dokáže napsat jeden člověk za cca půl
roku). Každopádně je zde místo pro produkty třetích stran, kterým Visual
Studio .NET umožňuje integrovat se.
Drobné výhrady mám k nápovědě. Ta je dodána v podobě MSDN Library,
což s sebou nese jak výhody (nepřeberné množství informací nejen
relevantních k VS.NET, ale je zde např. i dokumentace k MS SQL Serveru
apod.) tak i značné nevýhody plynoucí z nedostatečně silného
dotazovacího jazyka, použití boolevského modelu a neexistence věcí jako je
např. thesaurus apod. (pro vysvětlení pojmů viz články Dokumentografické
informační systémy (DIS 1 a DIS 2). Navíc občas člověk
narazí i na broken linky.
Ačkoliv doporučená konfigurace je v podstatě stejná s mým
počítačem, přesto bych si troufl tvrdit, že jde o rozumné minimum. Při
větším projektu se totiž počítač zamyslí nebo něco „hledá“ na
disku. Přesto se prodlevy nechají (musí) vydržet a mohu říct, že mé
požadavky VS.NET plnilo srovnatelně rychle jako Delphi a citelně rychleji
než verze předchozí.
VS.NET je moderní vývojový nástroj, ze kterého by si měly brát
ponaučení ostatní firmy prodávající vývojářské nástroje (a od
kterých vývojáři-uživatelé utíkají právě sem). Nová verze přinesla
mnoho příjemných novinek, které nadále zvyšují již tak vysokou kvalitu
tohoto nástroje (ale pozor, stále je co zlepšovat a je vhodné se poučit
jinde).
Pokud máte loňskou verzi Studia a plně vám vyhovuje, asi přecházet
nebude nutné (ačkoliv některé „vychytávky“ rozhodně stojí za to),
ovšem má-li se stát platforma .NET vaším denní chlebem a chcete vyvíjet
webové služby, databázové aplikace nebo programy pro kapesní zařízení,
neváhejte a zbytečně neztrácejte čas přemýšlením zda ano či ne. VS.NET
2003 je v tomto případě nutností. Osobně vůbec nevěřím tomu, že
konkurence přijde s lepším a levnějším nástrojem pro .NET, než je
tento. Krásou je i komfortní ladění nejen pro klasické PC, ale i kapesní
zařízení.
Obrázky
| Vývoj pro kapesní zařízení. Na pozadí VS.NET 2003, v popředí
emulátor Windows CE s běžící aplikací, kterou lze ladit. Všimněte si
nesrovnalosti mezi návrhem formuláře a vlastním výsledkem. |
|
| Po stisku tabelátoru se doplní nový handler pro událost. Po druhém
stisku kódu se vytvoří i vlastní metoda včetně názvu a parametrů. |
|
| Změny na úvodní stránce jsou ihned patrné. Někomu se líbí, někomu
se líbit nemusí. |
|
Plusy, mínusy, závěr
Plusy
- Pohodlné ladění pro kapesní zařízení
- Poskytovatelé dat pro Oracle, ODBC a ADO
- IntelliSense
- Ladění
- Cena
Mínusy
- Nápověda
- Trochu pomalejší emulátory kapesních zařízení
- Morálně zastaralý Visual SourceSafe
Závěr
- Velmi kvalitní vývojový nástroj pro platformu .NET Framework a Windows.
PRODUKT MĚSÍCE
Kontakt
Tento článek byl napsán pro časopis Softwarové noviny 8/2003.
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.