>> Výhody a nevýhody programování textových aplikací V našich seminářích se budeme zabívat především psaním aplikací pro CLI (tedy příkazový řádek). Účelem této hodiny je poskytnout vám objektivní pohled na tyto aplikace ve srovnání s aplikacemi grafickými. > Pokud v C píšeme konzolové aplikace, získáme tyto výhody: - Textové aplikace jsou rychlejší. - Při vzdáleném přístupu k počítači se text (SSH/Telnet) přenáší rychleji než grafika (VNC/MST). - Zkušenějším uživatelům usnadňují práci a posouvají pro ně efektivitu úplně jinam, než si BFU (běžný Franta uživatel) dokáže představit. - Bude velmi snadné, aby další aplikace/skripty mohly využívat naší aplikaci (např. je běžnou praxí, že se nejdříve napíše textová aplikace a grafika se píše až jako nástavba na ni - úplně samostatný spustitelný soubor). - Veškeré výpisy programu i vstupy do něj můžeme ukládat nebo načítat do souboru, případně rovnou zpracovávat výstup jiného programu. - Tyto aplikace mohou být použity jako webové aplikace (buď jako binární CGI aplikace, nebo prostřednictvím interpretovaných skriptů). - Textové aplikace (především ty v čistém Ansi C) jsou snadno přenositelné na všechny platformy, pro které jsou dostupné kompilátory (Nejen Windows a Unixy, ale také obrovské množství dalších systémů). - Pokud se naučíte psát textové aplikace, bude pro vás snadné vytvářet grafické aplikace pomocí tzv. GUIBuilderů známých například z vývojového prostředí Visual Basicu implementovaného Microsoftem nebo IBM. Pro více info viz. níže. > Nevýhody textových programů - Pokud píšete aplikace pro běžné uživatele, budou pro ně neefektivní, protože neovládají příkazový řádek na potřebné úrovni. - Tyto uživatelé si samozřejmě budou stěžovat ;D (Dobrým kompromisem pro jednodušší aplikace je napsat si další program, který bude fungovat jako grafická nadstavba). > Výhody grafických aplikací - Spousta tzv. "eye-candy" -> Spokojení uživatelé - Ovládání zvládne i p*blb > Nevýhody grafických aplikací - Je obtížné je ovládat pomocí jiných programů a tedy nemůžeme práci s nimi potřebně automatizovat. - Jsou náročnější na systémové prostředky. > GUIBuildery - prostředí pro jednoduchý návrh grafického rozhraní programů v C/C++ - Borland C++ Builder (Windows) - Kylix (Linux - kompatibilní s C++ Builderem a Delphy - zastaralé) - Microsoft Visual Studio (Windows) - wxDev-Cpp (Windows, programy ale možno kompilovat i na Linuxu s potřebnými knihovnami - wxWidgets) - GLade (Linux - GTK+2) - další... (cokoli, s čím se vám dobře pracuje...)