Ključna razlika – AWT vs Swing
Java je programski jezik visoke razine koji je razvio Sun Microsystems. Java podržava objektno orijentirano programiranje koje pomaže u dizajnu i razvoju softvera pomoću objekata. Kada se Java program kompajlira, pretvara se u bajt kod. Taj bajt kod tumači Java Virtual Machine (JVM) na bilo kojoj platformi. Stoga je to programski jezik koji programeri mogu napisati jednom i pokrenuti na bilo kojoj platformi. Java se može koristiti za razvoj različitih aplikacija kao što su desktop, mobilne i web aplikacije. Jezik pruža alate za stvaranje bogatih grafičkih korisničkih sučelja (GUI). Dvije od njih su AWT i Swing. Ovaj članak govori o razlici između AWT-a i Swinga. Ključna razlika između AWT-a i Swinga je u tome što je AWT Javin izvorni alat za prozore, grafiku i korisničko sučelje ovisan o platformi, dok je Swing alat za GUI widgete za Javu koji je proširenje za AWT.
Što je AWT?
Grafičko korisničko sučelje je sučelje za korisnike koje daje upute softveru za obavljanje zadataka. Sastoji se od različitih grafičkih komponenti. Neke komponente GUI-a su prozor, gumb, kombinirani okvir, područje teksta, okvir s popisom i oznaka. Koristeći ove komponente, programer može razviti interaktivno korisničko sučelje za aplikaciju. GUI se temelji na događajima. Klik na gumb, zatvaranje prozora, upisivanje nečega u tekstni okvir neki su od primjera događaja koji se mogu dogoditi u aplikaciji temeljenoj na grafičkom korisničkom sučelju. Danas mnoge aplikacije sadrže GUI. Mobilne aplikacije, sustavi za rezervaciju zrakoplovnih karata, bankomati imaju bogata grafička sučelja za jednostavno korištenje aplikacija.
AWT je kratica za Abstract Window Toolkit. AWT zahtijeva izvorni OS objekt za implementaciju funkcionalnosti. Stoga su AWT komponente teške i zahtijevaju više memorijskog prostora. AWT komponentama također je potrebno vrijeme za izvršenje. Broj komponenti dostupnih u AWT-u je minimalan. Potrebno je uvesti paket javax.awt za razvoj GUI aplikacija temeljenih na AWT-u.
Slika 01: AWT i Swing
Neke komponente AWT-a su gumb, tekstualna polja, padajući okviri, trake za pomicanje, prozor, okvir, ploča, oznake. Nakon izrade objekata, oni se mogu staviti u spremnik. Spremnik pruža prostor za utovar komponenti. AWT ne podržava pluggable izgled i dojam. Stoga AWT aplikacija razvijena u jednom operativnom sustavu možda neće izgledati isto u drugom operativnom sustavu.
Što je Swing?
Swing je GUI widget alat za Javu. Dio je Oracleovih Java Foundation Classes (JFC). To je sučelje za programiranje aplikacija za izradu GUI-ja za Java aplikacije. Izgrađen je na temelju AWT API-ja. Swing je razvijen kako bi pružio fleksibilnije i sofisticiranije komponente od AWT-a. Swing sadrži osnovne komponente kao što su natpisi, tekstualni okviri, gumbi. Također sadrži naprednije komponente. Neki od njih su stabla, tablice, popisi, okna za pomicanje i okna s karticama. Ako programer treba implementirati Swing aplikaciju, potrebno je uvesti paket javax.swing. Paket pruža klase za Java Swing API kao što su JButton, JRadioButton, JTextField, JCheckbox itd.
Swing komponente nemaju kôd specifičan za platformu. Stoga je Swing neovisan o platformi. Za razliku od AWT-a, Swing ne zahtijeva izvorne OS pozive za izgradnju komponenti. JVM je odgovoran za pozivanje izvornih metoda. Swing komponente su lagane. Potreban memorijski prostor također je minimalan. Ovo je značajan čimbenik za brže pokretanje aplikacija temeljenih na Swingu. U razvoju aplikacija, Model, View, Controller (MVC) uobičajeni je obrazac dizajna. Model predstavlja podatke. Pogled predstavlja prezentaciju dok je Controller sučelje između modela i pogleda. Swing slijedi ovaj obrazac. Swing podržava izgled i dojam koji se može priključiti. Sve u svemu, moćniji je od AWT-a.
Koja je sličnost između AWT-a i Swinga?
Oba su alati temeljeni na Javi za izradu grafičkog korisničkog sučelja
Koja je razlika između AWT-a i Swinga?
AWT vs Swing |
|
AWT je Javin izvorni alat za prozore, grafiku i korisničko sučelje ovisan o platformi koji prethodi Swingu. | Swing je GUI widget alat za Javu koji je dio Oracle Java Foundation Class (JFC). |
Ovisnost o platformi | |
AWT komponente ovise o platformi. | Swing komponente ne ovise o platformi. |
Broj komponenti | |
AWT sadrži manji broj komponenti. | Ljuljačka ima veći broj komponenti. |
Komponente | |
AWT komponente su teške. | Komponente ljuljačke su lagane. |
MVC | |
AWT ne slijedi MVC. | Swing slijedi MVC. |
Brzina | |
AWT nije brz kao Swing. | Swing je brži od AWT. |
Potreban memorijski prostor | |
AWT komponente zahtijevaju više memorijskog prostora. | Swing komponente zahtijevaju manje memorijskog prostora. |
Potreban paket | |
AWT zahtijeva uvoz javax.awt paketa. | Swing zahtijeva uvoz javax.swing paketa. |
Priključni izgled i dojam | |
AWT ne podržava pluggable izgled i dojam. | Swing pruža izgled i osjećaj koji se može priključiti. |
Sažetak – AWT vs Swing
Ovaj članak govori o dva alata za dizajniranje grafičkog korisničkog sučelja, a to su AWT i Swing. Razlika između AWT-a i Swinga je u tome što je AWT Javin izvorni alat za prozore, grafiku i korisničko sučelje ovisan o platformi, dok je Swing alat za GUI widget za Javu, koji je proširenje za AWT. Swing pruža bogatije funkcionalnosti u usporedbi s AWT-om. Izgled GUI-ja izgrađenog korištenjem Swinga izgleda ljepše nego GUI s AWT-om. Za razliku od AWT-a, Swing podržava pluggable izgled i osjećaj i povećava upotrebljivost aplikacije.
Preuzmite PDF verziju AWT vs Swing
Možete preuzeti PDF verziju ovog članka i koristiti ga za izvanmrežne svrhe prema napomeni o citatu. Preuzmite PDF verziju ovdje: Razlika između AWT i Swing