Sens nauki Swinga?

Sens nauki Swinga?
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 95
0

Cześć, czy jeżeli chcę w przyszłości zawodowo programować w Javie, to powinienem nauczyć się Swinga? Czytałem, że następcą Swing jest JavaFX i nawet Oracle zaleca, aby wszystkie aplikacje posiadające GUI tworzyć już tylko na JavaFX. Jednak z drugiej strony dużo napisanych programów zostało stworzonych z wykorzystaniem Swinga i podobno powinno się go znać przynajmniej na średnim poziomie, bo może się kiedyś zdarzyć, że w pracy trzeba będzie zmodyfikować/ulepszyć program napisany w Swingu.
Jak z tym jest?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
2

Sens nauki Swinga jest tylko taki ze możesz potrzebować supportować napisane w nim aplikacje, tak jak sam zauważyłeś. Sensu nauki JavaFX nie ma wcale, bo takich aplikacji praktycznie nie ma i nie będzie. JavaFX wypadła nawet z JDK i jest teraz dodatkową, niezależnie rozwijaną biblioteką...

tomek1221
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
1

Po co się uczyć tego na zapas? JavaFX i Swing to nisza, większość to jednego aplikacje webowe i tutaj warto zainwestować czas. Jak kiedyś gdzieś trafisz i będziesz musiał coś pisać w Swingu to wtedy się nauczysz :)

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 95
0

A czy w Javie pisze się często aplikacje desktopowe z GUI?
Np taka biblioteka, jaką zrobił ten koleś na zakończenie całego kursu: link

superdurszlak
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 2002
1

Często - tak, jako jakieś aplikacje na zaliczenie na studiach

Często komercyjnie - nie, bo po co robić aplikację z topornym GUI (w Swing) lub znośnym, ale nie fancy GUI w czymś, czego prawie nikt nie używa, skoro można zrobić to samo w Springu i wystawić przez weba, bez zmuszania ludzi do ściągania jakiś jarów lub instalatorów? ;)

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 3573
1

A ja myślę że jak uczysz się programować w Javie to wcale nie jest to pozbawione sensu napisania aplikacji w Swingu czy JavaFX. Owszem, komercyjnie tego nie będziesz używał, ale będzie to dobra okazja poćwiczyć pewne elementy z programowania które może przykrywać taki Spring, jak naprzykład wielowątkowość czy operacje IO :)

JW
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wroclaw
  • Postów: 12
0

Hej. Może powiem jak to wygląda z mojej perspektywy - trenera programowania:) Zdecydowanie polecam chociaż pobawić się Swingiem, ale nie dlatego, że pisanie aplikacji okienkowych będzie Ci jakoś bardzo przydatne w pracy. Podczas nauki programowania Swing jest świetnym poligonem do zabawy z obiektowością w praktyce + Swing jest względnie łatwy i przyjemny dla początkującego. Dodatkowo częściowo oswajasz się z wzorcami projektowymi (listener -> observer). No i przede wszystkim aplikacja z wyskakującym okienkiem daje o wiele więcej satysfakcji, niż konsolowa:) JavaFX jest równie mało przydatna w pracy komercyjnej, ale do tego jest jeszcze strasznie ciężka do opanowania na początek.

K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 95
0

Panowie, żeby nie zaśmiecać forum innym tematem, to jeszcze tutaj dopytam: skoro Java nie jest wykorzystywana do pisania aplikacji desktopowych to... do czego jej się używa? xd
Pewnie głównie do pisania aplikacji mobilnych na androida, a także przetwarzania danych na serwerze, czyli backendu (dobrze myślę? xd). Czy jest coś jeszcze?

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
0
kario97 napisał(a):

Panowie, żeby nie zaśmiecać forum innym tematem, to jeszcze tutaj dopytam: skoro Java nie jest wykorzystywana do pisania aplikacji desktopowych to... do czego jej się używa? xd
Pewnie głównie do pisania aplikacji mobilnych na androida, a także przetwarzania danych na serwerze, czyli backendu (dobrze myślę? xd). Czy jest coś jeszcze?

Do napisania minecrafta. Reszta zastosowań to jakieś nieważne śmieci.

JW
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wroclaw
  • Postów: 12
1

Do pisania backendu, jednak backend to nie tylko "przetwarzanie danych na serwerze". Z pomocą Javy pisze się rdzeń działania większości aplikacji. To nie tylko przetwarzanie danych, ale też mechanizmy logowania, zapisywanie do bazy danych, zwracanie danych połączonych z kilku różnych źródeł a do tego zawsze można dodać "front" czyli HTMLa, który jest wypełniany danymi z aplikacji. Do tego połączenia z zewnętrznymi serwisami, praca kilkunastu aplikacji jako jeden spójny system i w sumie wiele innych:) Większość systemów informatycznych ma pod spodem Javę. Do tego oczywiście Android + desktop - nie chodzi o to, że nie pisze się go w Javie tylko generalnie teraz powstaje bardzo mało aplikacji desktopowych w porównaniu do webowych.

Co do samego "przetwarzania danych" bo możesz to trochę błędnie pojmować - każda Twoja interakcja z dowolnym systemem to dane. Wysłanie formularza rejestracji, kilknięcie "lajka" na fejsbuku, otworzenie posta na forum to operacja przetwarzania danych - coś jest zwracane/wyszukiwane, zapisywane, aktualizowane etc. Java jest odpowiedzialna właśnie za to - nie rozum przypadkiem przetwarzania danych jako jakiegoś liczenia statystyk w tle na serwerze.

orchowskia
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Zielona Góra
  • Postów: 83
0

Jeśli uczysz się Javy to swing jest spoko, a jeśli chcesz się nauczyć robić desktopowe aplikacje i pracować w tym komercyjnie to liczy się chyba tylko .NET WPF i stare już WinForms, oraz UWP (chociaż to też nisza). Ja tak zaczynałem i nie miałem później problemu z przesiadką na Jave i backend

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.