Wątek przeniesiony 2022-11-28 15:17 z Java przez Riddle.

Tworzenie interfejsu użytkownika przy pomocy kreatora

0

Czy lepiej jest tworzyć takie aplikacje pisząc wszystko samemu, czy lepiej korzystać z kreatora, i robić wszystko wygodniej. Tworzenie z wykorzystaniem kreatora niesie za sobą możliwość nierozumienia tego co nam ten kreator tworzy, ale czy ma to jeszcze jakieś inne wady przez, które nie korzystacie z tej opcji?

Uczę się stopniowo programowania w Javie i jestem na rozdrożu bo nie wiem w, która stronę iść. Osobiście uważam, że na początku lepiej jest poznać podstawy pisania takich programów ręcznie, żeby wiedzieć co się z czego bierze a później przejść całkowicie na tworzenie aplikacji z wykorzystaniem kreatora. Jak to wygląda z waszego doświadczenia, która opcję preferujecie i dlaczego.

1

Jeśli koniecznie chcesz pisać aplikację desktopową to spojrzyj na JavaFX, jest to znośne rozwiązanie. Ogólnie jednak odradzałbym pisanie aplikacji desktopowych, lepiej naucz się jakiegoś webowego frameworka np. Spring.

2

@Frycek_99:

Java ma dwa *) główne środowiska GUI, starszy Swing, nowszy o większych możliwościach kolorystyczno-wizualnych (style jak CSS itd) FX. Niby ten nowszy miał zastapić, ale jak co do czego, to starszy Swing żyje, a nowszy FX dostał w czapę (zostały wyłączony z pakietu dystrubucyjnego z rytmicznymi aktualizacjami)

FX jest środowikiem XML+Java, niejednemu piórka wybrało.
Swing jest czysto javowskim, bardziej "wiernym jak pies"

Odwrotnie niż @tekan , zalecam Swing

Mają się do siebie coś a'la WinfForms (czysty kod C#) i UWP (C# + XML) w dotnecie .

tekan napisał(a):

Ogólnie jednak odradzałbym pisanie aplikacji desktopowych, lepiej naucz się jakiegoś webowego frameworka np. Spring.

Romans ze Swingiem może nie przedłuży się w małżeństwo, ale zdecydowanie poznanie nie zrobi krzywdy, nie nauczy jakiś patologicznych wzorów (jak wiele innych)
Kanoniczny wręcz przykład modelu MVC poza webem. Moim zdaniem warto mieć w sobie to doświadczenie

Do Swinga zdecydowanie należy brać IDE Netbeans

*) historycznie istniał taki SWT, bazujący na natywnych kontrolkach, więc na owe czasy szybszych, choć mało jednolitych.
Był związany z mega-projektem Eclipse

1

Swing w mojej opinii jest dobry tylko jeśli chcesz prototypować aplikacje, i napisać coś na szybko. Jeśli to ma być poważna aplikacja, to albo JavaFX albo UI w ogóle w czymś innym (nie javowym), np widok w electronie.

ZrobieDobrze pisze że JavaFX jest środowiskiem xml+java, co nie jest prawdą, bo JavaFX przede wszystkim udostępnia interfejs javowy (tak samo jak Swing), a dodatkowo udostępnia FXML w którym można robić widok. Niemniej korzystanie tylko z interfejsu javowego jest jak najbardziej nadal możliwe. Tutaj przykład: https://stackoverflow.com/questions/36868391/using-javafx-controller-without-fxml - można napisać całą aplikacje w JavieFX bez grama XML'a.

Dodatkowo, to o czym pisze ZrobieDobrze (że małżeństwo z technologią), to jest prawda tylko wtedy jeśli nie masz poprawnie oddzielonej core'a aplikacji od widoku, wtedy faktycznie JavaFX może Ci bardziej naszkodzić; jeśli masz spaghetti: widok+core. Z poprawnie oddzielonymi warstwami od siebie (tak jak powinno być), to nie ma z tym problemu.

Co do pytania, czy używać kreatora, oprócz tej wady że kreator wstawia coś, czego Ty nie umiesz, to jest prawda, może to być wada. Oprócz tego drugą wadą jaką widzę, jest to że możliwe że jeśli edytujesz albo rozszerzysz kod który kreator Ci wstawił, to ten kreator może przestać działać poprawnie - innymi słowy jak wyjdziesz poza to co kreator Ci oferuje, to może zacząć Ci przeszkadzać. Poza tym innych wad chyba nie ma.

0

Skoro nie rozumiesz co tworzy kreator, to nie będziesz w stanie tego zmienić. Dla mnie to wada, która przekreśla używanie takich narzędzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1