ez a cikk egy JavaFX vs Swing összehasonlítás, amely elmagyarázza az előnyöket és hátrányokat.
a Java az 1990-es évek óta nagyon népszerű nyelv, amelyet sokan használnak. Túlóra sok Java GUI keretrendszer jött és ment. Van néhány, amely kiemelkedik a legfontosabbnak, és ezek közül a JavaFX és a Swing.
ebben a “vs” cikkben összehasonlítjuk a régebbi keretrendszert Swing, az újabb Java zászlóshajó keretrendszerrel, JavaFX. Célunk annak eldöntése, hogy egy Java programozó melyik GUI könyvtárat tanulja ebben a korban és időben.
Swing
kezdjük a Swing-el, mivel ez a régebbi GUI keretrendszer.
háttér
a Swing 1997-ben jelent meg a népszerű AWT keretrendszer utódjaként. Az AWT volt az It ‘ s time fő GUI keretrendszere, amely hírnevet szerzett az egyszerű és könnyen használható természetről. Az AWT keretrendszerre épített Swing, számos funkció javítása és cseréje jobbakkal, vagy extra funkciók hozzáadása a már meglévőkhöz.
mondanom sem kell, hogy a Swing gyorsan felváltotta az AWT-t, és a Java szabványos GUI keretrendszerévé vált.
jellemzők
mivel Swing volt annyi ideje, hogy Érett az évek során, ez szerzett hatalmas számú kütyü, amelyek meghaladják a többi GUI keretek. Mint GUI keretrendszer, amely már több mint két évtizede létezik, nagy mennyiségű támogatást nyújt sok IDE-től, valamint a közösségtől.
az egyik oka annak, hogy a Swing népszerűvé vált az AWT-vel szemben, a könnyű felhasználói felület komponenseinek bevezetése volt. Az AWT-hez képest a Swing komponensei gyorsabbak voltak és kevesebb memóriát használtak. Ennek a javításnak az az oka, hogy az AWT-vel ellentétben a Swing nem támaszkodik natív könyvtárakra, csak magát a Java-t igényli.
a Lengőkomponensek valójában platformfüggetlenek. Ez azt jelenti, hogy függetlenül attól, hogy milyen platformon futnak, ugyanolyan megjelenésűek lesznek. Ezt általában “nem natív” GUI-nak nevezik. Másrészt egy olyan natív GUI, mint az AWT, olyan GUI-kat állít elő, amelyek azon a platformon néznek ki, amelyen futnak. Hogy ez egy Pro vagy egy Con, attól függ, hogy a helyzet és a követelmény.
jövőbeli kilátások
még most is sok olyan projekt létezik, amely még mindig használja és fenntartja a Swing keretet. Ezek azonban mind már régóta létező projektek.
a Swing használata a JavaFX, az utódja bevezetése óta csökken. A közösség szinte teljesen átállt a Swingről, és az újabb projektek már nem használják. Figyelembe véve a helyzetet, a Swing használata jelentősen csökken a következő 5 évben.
JavaFX
háttér
a JavaFX az Oracle legújabb zászlóshajója, amely 2008-ban jelent meg a Swing helyett, ígérve, hogy az új szabvány a gazdag asztali és webes alkalmazások létrehozásában. Az új zászlóshajó státuszának köszönhetően a JavaFX sok figyelmet és támogatást kap mind az Oracle, mind a Közösség részéről.
előfordulhat, hogy a Swing “érettebb” és fejlettebb, mint a JavaFX (kora miatt), de ez a különbség évről évre csökken, és lehet, hogy már nem is létezik. Ne feledje, hogy a Swing már nem kap új funkciókat, míg a JavaFX igen.
jellemzők
JavaFX jól ismert, hogy képes létrehozni modern látszó GUI a gazdag funkciók. Ez a képesség, azzal a ténnyel együtt, hogy a JavaFX sok jövőbeli támogatást fog kapni, a legtöbb olyan fejlesztési projekt, amely GUI keretrendszert igényel, most a JavaFX-et használja.
a JavaFX néhány előnye a Swing felett az MVC (modul Nézetvezérlő) támogatása. A Swing MVC-je egyszerűen nem túl következetes az alkatrészei között. A jó MVC támogatással rendelkező keret lehetővé teszi, hogy tisztán elkülönítse munkáját különböző részekre, lehetővé téve a jobb kezelést.
a JavaFX másik jelentős értékesítési pontja az, hogy milyen jól működik az átmenetek, animációk és videókkal kapcsolatos dolgok. Mind a minőség, mind a funkciók tekintetében jobb, és sokkal könnyebben megvalósítható, mint más keretek.
ne felejtsük el az FXML és a CSS használatát a JavaFX-ben. Az FXML egy olyan típusú XML formátum, amely lehetővé teszi a JavaFX elrendezési kód elválasztását az alkalmazás kódjától, lehetővé téve a tisztább kódot. Ami a CSS-t illeti, stílusok hozzáadására használják a JavaFX-hez és összetevőihez. A szintaxis hasonló az interneten használt CSS-hez, de a tulajdonságok neve kissé eltér a JavaFX esetében.
van egy csomó más kisebb dolog is. Például JavaFX hordozható webes környezetben. Ez alapvetően azt jelenti, hogy telepíthet egy JavaFX alapú alkalmazást webhelyként.
Scene Builder
egy másik plusz pont a JavaFX javára a Scene Builder. Ez egyfajta drag and drop eszköz, amely lehetővé teszi gazdag GUI-k létrehozását anélkül, hogy sok kódot kellene írni. Ez egy olyan lehetőség, amely egyre népszerűbb, bár valójában inkább a GUI létrehozásának hagyományos módját részesítem előnyben a JavaFX segítségével.
ha hallottál vagy használtad a QtDesigner-t a PyQt5-hez (Python GUI keretrendszer), akkor a Scene Builder alapvetően a Java megfelelője.
jövőbeli kilátások
mint az új és jelenlegi zászlóshajó, a JavaFX-nek valószínűleg erős jövője lesz. Jelenleg nincs utódja, és a JavaFX fejlesztése továbbra is folytatódik az egyes frissítésekkel kiadott újabb funkciókkal. Ezek nagyon pozitív jelek a longetivitással kapcsolatban.
a Swingnek nagy hatása volt, ezért számtalan anyagot talál a Swing online-on, még inkább, mint a JavaFX. Időbe telik, de a következő néhány évben a JavaFX várhatóan minden tekintetben felülmúlja a swinget.
Extending Swing
valójában lehetséges mind a Swing, mind a JavaFX használata ugyanabban az alkalmazásban. Az AWT, a Swing és a JavaFX szép dolog, hogy mind egymásra épültek (Swing az AWT-n és a JavaFX a Swing-en). Ez lehetővé teszi az egyik keretrendszer egyszerű integrálását a másikba.
ez különösen hasznos azoknak a Swing fejlesztőknek, akik JavaFX komponenseket szeretnének hozzáadni a már meglévő Swing alkalmazásaikhoz. Megkapja a JavaFX újabb funkcióit, anélkül, hogy újra kellene kezdenie. Segít abban is, hogy fokozatosan megváltozzon az egyik keretrendszerről a másikra, ahelyett, hogy egyszerre.
következtetés
ez lehet egy Swing vs JavaFX cikk, de célja elsősorban a kettő közötti növekvő különbség kiemelése volt. A Swing egy GUI keretrendszer, amelynek aranykora régen telt el. Csakúgy, mint Swing helyébe AWT, mint a legjobb keret választás több mint 20 évvel ezelőtt, JavaFX van itt, hogy nem ugyanaz a Swing, és a szemében sok, ez már.
a legjobb dolog, amit most tehetünk, hogy átfogjuk a jövőt és továbblépünk a JavaFX-szel, egy olyan keretrendszerrel, amelyet a következő egy-két évtizedben támogatni kell.
Megjegyzés:
mellékesen megjegyzendő, hogy a Swing és a JavaFX más alternatíváira is kíváncsi lehet. Bár van néhány más GUI keretrendszer, használatuk és közösségi támogatásuk sokkal alacsonyabb, mint a Swing és a JavaFX. Ezen a ponton és időben jobb, ha csak a Swing vagy a JavaFX mellett marad.
Kódprojekt