Hány féle GUI framewörk létezik?

Képzeld, ebből is van több! Gyárilag a Java-hoz jár az

Van ezen kívül még egy csomó, amit külön kell letölteni:

Na kérem tehát lehet választani! De miért is van ennyi? Nem tök egyforma ablakokat és gombokat használ minden progi?

Egy Windows 7 képernyő

De igen! itt minden gomb egyforma, minden program, minden ablak azonos színösszeállítást használ! Hehe, könnyű nekik! Mert ezek a programok kizárólag Windows-on futnak!

Multiplatform - sokkal több kihívás

Ugye emlékszel a Java rész elejére? A Java legnagyobb előnye, hogy multiplatformos, azaz ugyanaz a Java program fut Windowson, Linuxon, Apple számítógépeken. Nono, de akkor már van egy kis bibi.

Windows - Linux - Mac: minden mááás!

Egyszerűen azért van annyiféle framework, mert mindegyik picit másként akarja megoldani azt, hogy minden platformon egyformán szépen nézzen ki a program.

Most akkor direkt bonyolítják az életet a Javasok?

Valójában, a sokféle dolog nem Java jelenség. Egyszerűen arról van szó, hogy 4-5 év alatt olyan sokat változik a világ, annyira sok új dolog érkezik (ablak-animációk, ribbon-menük, hamburger-menü), és a programozási elvek is olyan gyorsan fejlődnek, hogy a régi dolgokat felváltják az új dolgok.

A .Net környezetben (C#) például van

framework a GUI készítésére. Szerintem a dolog megérthető a következő két kép alapján:

Windows 3.1 - 1992

Windows 10 - 2015

Egészen bizonyos vagyok, hogy 1992-ben még egyáltalán nem terveztek be olyan dolgokat, amit egy mostani Windows 10-en láthatunk. Ezt meg kell bocsátanunk a mérnököknek, és el kell fogadnunk, hogy néha bizony a régi dolgokat ki kell dobni, és helyettük új alapokon új frameworköket kell csinálni.

Melyiket érdemes használni?

Jajj ez nehéz kérdés :)

Szóval, ha 1998 és 2014 között felteszik ezt a kérdést, akkor talán a Swing lenne a jó válasz.

Azonban erről nekem van egy ettől sokkal érdekesebb történetem, amit a következő oldalon fogok elmesélni.

Sokféle GUI framework van...

...és mindegyiknek más-más előnye és hátránya van. A Java világban sok éven át a Swing volt a leginkább elterjedt, és lehetséges hogy a legújabb JavaFX rendszer a Swinget néhány éven belül teljesen kiszorítja.