Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou NET a programovacím jazykem C#. V průběhu budou vysvětlena následující témata: 1. Vlákna, nativní volání 2. Dokumentačí komentáře, atributy, reflexe 3. Práce s XML, práce s databázemi ADO.NET 4..NET Remoting 5. C# 2.0, projekt Mono, Cω [1] C# lectures by Prof. Dr. H. Mössenböck (Microsoft Curriculum) Způsob zakončení: on-line dokumentace vývojových produktů společnosti Microsoft: http://msdn.microsoft.com/library/default.asp Zápočet se uděluje za aktivní účast a vypracování a odevzdání zápočtového programu.
Metodický list č. 1 Název hodiny: Vlákna a nativní volání V této hodině se seznámíme s tvorbou vícevláknových aplikací pod platformou.net a naučíme se řešit problémy, které v takých aplikacích mohou vzniknout. V druhé části si ukážeme, že platforma.net není izolována od zbytku systému, ale umožňuje vzájemnou komunikaci s legacy aplikacemi. [1] části Threads a Native Calls Vícevláknové aplikace Třída Thread Třída ThreadPool Vzájemné vyloučení Třída Monitor Volání Windows API funkcí Vzájemná interoperabilita.net a COM
Metodický list č. 2 Název hodiny: Dokumentační komentáře, atributy a reflexe Tato hodina bude rozdělena na dvě části. V první se seznámíme s dokumentačními komentáři jazyka C# a naučíme se generovat automatickou dokumentaci. V druhé části se seznámíme se atributy a ukážeme si základní mechanizmy Reflection (reflexe), tj. schopnosti kódu prohlížet sám sebe a manipulovat sám se sebou. Vše si předvedeme na praktickém příkladě aplikace s podporou vytváření uživatelských plug-in modulů. [1] části XML Comments, Attributes Dokumentační komentáře v jazyce C# Generování dokumentace Atributy Vytváření vlastních atributů Reflexe Vytváření plug-in modulů
Metodický list č. 3 Název hodiny: Práce s XML a databázemi Většina dnešních aplikací si potřebuje ukládat a spravovat nějaká data. My si ukážeme, jak takové aplikace psát v jazyce C#. Nejprve se naučíme pracovat s přenosným datovým metaformátem XML a v druhé části hodiny si ukážeme práci s SQL databázemi (pomocí knihovny ADO.NET) [1] části Base Class Library, ADO.NET Formát XML Čtení a tvorba XML dokumentů Dotazy XPath a transformace XSL Základy ADO.NET Práce s tabulkami SQL dotazy Grafické aplikace s přístupem do databází
Metodický list č. 4 Název hodiny:.net Remoting V této hodině si předvedeme některé pokročilé vlastnosti platformy.net. Ukážeme si, jak lze pomocí.net Remoting jednoduše vytvořit distribuovaná aplikace (kdy různé části aplikace spolu komunikují po síti). Probereme jak možnost vytvoření komunikačního kanálu přímo v aplikaci, ale i použití standardních konfiguračních souborů (které umožňují v zásadě nemodifikovat aplikaci). [1] část WebServices (částečně) Základy.NET Remoting Tvorba jednoduché aplikace Změna konfigurace pro vzdálený výpočet Tvorba komunikačních kanálů
Metodický list č. 5 Název hodiny: C# 2.0 a C# a Linux V této hodině si představíme novinky, které přinese verze 2 jazyka C#. Dále si ukážeme, že aplikace vytvořené pro platformu.net (např. v jazyce C#) nemusí jít spouštět pouze pod systémy Windows, ale že je lze přenést i třeba pod operační systém Linux (a to bez nového přeložení). Na závěr si ještě ukážeme další možné směry směřování platformy.net experimentální jazyk Cω (jehož části jsou již obsaženy v jazyce C#). [3] Novinky v jazyce C# 2.0 (Generics, příkaz yield return) Představení projektu Mono Experimentální jazyk Cω (nativní práce s XML/databázemi, nativní vícevláknovost kódu) Způsob zakončení: Zápočet se uděluje za aktivní účast a vypracování a odevzdání zápočtového programu.