Muze mi prosim nekdo vysvetlit, jaky je tedy rozdil mezi Gnome a KDE. Nekde jsem cetl, ze se jedna o odlisny nahled na stejnou vec, co to znamena? A taky co jsou ta prosterdi vubec zac, jsou to x-windows s nejakou nadstavbou jako WIN API, existuje nejaka literatura? Pouzivam je, ale netusim. Dekuji
Obě prostředí jsou knihovny (a související data) pro vývoj desktopových aplikací, plus aplikace na nich postavené.
Gnome je shluk knihoven s hierarchickou závislostí, kde podstavu tvoří nezávislé knihovny programované v co nejvíce nízkoúrovňovém jazyce (v C) s maximálně efektivním rozhraním (holé funkce) a další vrstvy tvoří nadstavby ve vyšších jazycích (glib object system, C++, Python, Ruby, Java, ...). Nejnižší patra mohou být až na výjimky použity samostatně (dokonce i v nedesktopových projektech) a vyvíjí se jako samostatné projekty. Některé části jsou lepší, jiné horší, každá si žije svým vlastním životem. Snaha je aby se staly nedílnou součástí systému a měly jedinou funkci, kterou budou dělat dokonale (po způsobu Unixových utilitek).
KDE je také soustavou knihoven, které jsou ale mnohem více provázány mezi sebou. Jedna část KDE je vyvíjena tak, aby vyhovovala potřebám jiných částí a dohromady tvoří velké objektové kompaktní API v C++, které efektivně obaluje celý systém. Jedná se vlastně o platformu pro jazyk C++ nad vlastním systémem. Díky provázanosti knihovny neobsahují tolik duplicit, nadbytečných částí a chyb. Zároveň ale nelze použít pouze malou část knihoven bez zbytku KDE, například nemůžete použít komponentový subsystém mimo KDE.
Obecně lze říci, že zatímco je Gnome flexibilnější, KDE je jednodušší na použití. Je to typický boj filosofií stylu: mnoho malých utilitek versus jeden integrovaný systém, práce v terminálu s množstvím různých programů versus práce s myší v neustále stejném prostředí, Unixy versus Windows, množství víceméně kompatibilních systému versus jeden unifikovaný, mnoho programovacích jazyků, které se hodí na odlišné věci, versus jeden téměř univerzální, nutnost naučit se, jak daná věc funguje versus přijít a používat, ...
Obě filosofie mají svoje opodstatnění a jejich výběr záleží hlavně na situaci a na zkušenostech. Osobně si myslím, že z první varianty lze nadstavbami vytvořit varianta druhá, ale je k tomu zapotřebí spousta práce. Při práci s platformou jste omezeni na to, co pro vás její tvůrci připravili a když to nestačí, je nutné platformu modifikovat (viz. výměna poloviny systému při instalaci IE). Z krátkodobého hlediska vždy zvítězí platforma a jednoduchost jejího použití, při běhu na dlouhé tratě má pro změnu jednoznačně navrch flexibilita. Klidně se ale také můžu mýlit.
No to jsem rad, ze tu konecne nekdo rekl, ze Gnome neni wm. Jeste bych rad poznamenal, ze Gnome je spis system, urceny pro objektovou komunikaci programu pomoci technologie CORBA. Na rozdil od KDE je tedy nejen nezavisly na platforme, ale i na konkretnim stroji ;-). Bezne se to sice moc nepouziva (coz je skoda), ale muzete vyuzit v programu na svem pocitaci funkce z programu, bezicim na pocitaci jinem (a tam muze byt i jiny os nez je ten vas).