Porzucenie Springa na rzecz JavyFX

0

Cześć.
Ostatnio zacząłem się uczyć Springa, jednakże nie wychodzi mi to. Nie umiem się do tego także przekonać na razie, wg mnie strasznie ciężki framework i na razie mnie bardziej odpycha (poprzez problemy związane z nim) niż przyciąga. I tutaj wpadł mi do głowy pewien pomysł. Najpierw bym się nauczył javafx, potem nauczył łączyć się javyfx z bazą danych, następnie napisał 1-2 jakieś projekty wykorzystujące to i wrzucił na Githuba, licząc na to że uda mi się dostać do jakiejś firmy do pracy/staż a potem wysłaliby mnie na szkolenia ze springa, może wtedy bym się do tego przemógł. Ma to sens? Po ilu mniej-więcej miesiącach nauki JavyFX i jak połączyć ją z bazą danych, można dostać staż? Czy w javieFX pisze się tyle samo w .xml jak w Springu?
PS: Znacie jakiś tutorial jak podpinać komponenty z xml do klas?

0
  1. W Springu nie pisze się nic w xmlu od lat chyba że ktoś bardzo chce
  2. Nie wiem czy jest liczba miesięcy po których znajdziesz pracę w JavieFX bo desktop w javie to znikomy procent, a większość z tego to utrzymanie starych swingowych aplikacji. Więc oceniam szanse na 0%
0

W kursie artura owczarka, z którym miałem tyle problemów że głowa mała (w sumie sam o tym powinieneś wiedzieć jak mi to nie idzie), większość rzeczy zamieszcza on w .xml jako beany. Czy bez tego da się nauczyć Springa, używając tylko Interfejsów, Klas i Enum? Po co w takim razie są te pliki .xml jeśli nie są one używane?

0

Biorąc pod uwagę że fxml to praktycznie xml oraz że w Springu nie musisz mieć ani jednego pliku xml to JavaFX ci raczej nie podejdzie.

1
  1. Takiś sobie znalazł kurs to tak masz. A jakby na wideo ktoś rył kod na glinianych tabliczkach to też byś narzekał ze taki ten język X głupi, na tabliczkach trzeba go ryć? :D :D
  2. Tylko że twój problem polega na bezmyślnym przepisywaniu niezrozumiałego kodu ;] Zamiast poczytać o tym co w ogóle tam sie dzieje to ty próbujesz przepisać tutorial licząc że nagle cie oświeci.
1

Twój pomysł jest w połowie dobry. Ja tak właśnie zdobyłem pracę w Javie.
Z tym że *w połowie", bo niestety bez znajomości jakiegoś frameworka to raczej będzie ciężko.
I sam Spring to będzie ZTCW raczej mało.

Pozostaje Ci wziąć jakiś kurs typu "aplikacja w Spring" lub "n aplikacji w Spring" i go dokładnie przestudiować.
Na udemy.com masz wiele takich kursów.
Jeden z takich kursów:

https://www.udemy.com/build-an-online-bank-with-java-angular-2-spring-and-more/learn/v4/overview

0

Ten kurs ktoś mi polecił, więc się zacząłem z niego uczyć. W innym kursie, który kiedyś zacząłem robić był od razu z Tomcatem, tylko że tam miałem sporo problemów, bo albo brakowało mi plików z odcinka, albo mi się totalnie nie kompilowało to co było w odcinku. W tutorialach z javy, czy javyFX (jak kiedyś od thenewboston to jeszcze oglądałem) rozumiałem większość rzeczy i potrafiłem napisać coś swojego. Natomiast w Springu przepisuję tutorial, bo kompletnie tego jeszcze nie rozumiem i nie leży mi pisanie w .xml.

1

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/
https://www.manning.com/books/spring-in-action-fourth-edition

Spring to nie jest technologia którą można zrozumieć wyklepując tutoriale, zwłaszcza jeśli nie rozumiesz dependency injection.

0

Im dłużej myślę, tym coraz gorzej to widzę :D
Więc co byście mi zaproponowali? Bo spring na razie mi nie wychodzi i wątpię żeby w najbliższym czasie mógł mi wyjść.
Zmienić język? I próbować innego języka? Czy nadal próbować uczyć się czegoś związanego z Javą? Np aplikacje mobilne?

0

Jak nie Java to może Python / Flask?
Albo Groovy / Grails?
Albo Angular / Node.js?
...

0

A coś bardziej desktopowego? C#? Czy w aplikacje w C# tez się buduje jak w Javie? Tzn wykorzystuje pliki takie jak .xml .fxml, gdzieś gdzie się nie używa html? Czy w pythonie też można pisać aplikacje desktopowe?

3

W oryginale chyba chodziło Ci najszybsze zdobycie stażu - tu i Spring i bazy danych to dobry wybór.
Gdyby Ci chodziło o nauczenie się programowania byłby to natomiast wybór fatalny. Nauczyć się programowania możesz rozwiązując zadania.. albo bawiąc się -
do zabawy w javie polecam np. http://jmonkeyengine.org/ - dużo przykładów, proste, widzisz co robisz, rusza się, skacze - jest fun - i jest to w miarę sensowne programowanie (zupełnie potem nieprzydatne w typowej pracy Javowca :-( ).

0
Aisekai napisał(a):

A coś bardziej desktopowego? C#? Czy w aplikacje w C# tez się buduje jak w Javie? Tzn wykorzystuje pliki takie jak .xml .fxml, gdzieś gdzie się nie używa html? Czy w pythonie też można pisać aplikacje desktopowe?

C# jest jak najbardziej desktopowy.
Poza tym jest Delphi, C++Builder, Free Pascal
W C++/Qt, Pythonie czy JavaScript też można robić aplikacje desktop, ale nie będzie to takie łatwe - ZTCW.

XML-a niestety nie unikniesz, bo teraz jest dość często stosowany.

0

W sumie to nie chodziło mi o najszybsze zdobycie stażu - chociaż to byłoby bardzo fajne - tylko o alternatywny sposób nauczenia się Springa. Bo, nie powiem, samemu ciężko mi się go uczy, a z tutoriali dość sporo rzeczy nie rozumiem i bardzo często mam błędy kompilacyjne. Btw czyli w Springu nie używa się dzisiaj .xml? Bo na to pytanie nie dostałem odpowiediz

0

Vpiotr, Shalom powiedział że od lat się nie pisze w .xmlu. Czyli jak jest w końcu?

2

Zasadniczo w springu XMLe przeniosły się do kodu w Java (annotacje). I jest to troszkę lepiej. Dzięki temu zamiast nieczytelnych XML masz nieczytelne pliki Java. Plus jest taki, że pliki Java możesz sprawdzić kompilatorem. Minus jest taki, że najważniejsza logika jest annotacjach i ich parametrach (Stringly typed) - więc ten kompilator i tak nic specjalnego sprawdza :-). Plus jest tego taki, że w takim razie nauczysz się pisać testy -testy są OK(no prawie). Ale pojawia się minus, bo testowanie czegokolwiek z kontenerem (typu Spring) jest upierdliwe. Ale plus jest taki, że jak masz kod "Springowy" to łatwo można użyć mocków - np. korzystając z Mockito. Tylko to ma taki minus, że wtedy czasem testujesz tylko Mockito. No ale to z pewnością jest plus - bo Mockito to open source, dodatkowo o polskich korzeniach - patriotyzm na maksa :-)

Tera Polska

Mam nadzieję, że Ci rozjaśniłem.

0

@Aisekai może Twoim problemem jest za mała wiedza na temat Javy i obiektowości?

Przykładowo jeżeli nie znasz lub nie rozumiesz refleksji. Spring wyda Ci się niezrozumiałą magią. Gdy jednak ją znasz może domyślać się jak to działa.
Jeżeli nie znasz dobrze projektowania obiektowego nie zrozumiesz po co to całe wstrzykiwanie zależności.

Zrozumienie Springa i podobnych mu wymaga "wyprogramowania", a nie bah bah bah czytania tutorial za tutorialem. Za każdym tutorialem powinien iść jakiś projekt.

0

Nie wiem, możliwe. Jednakże, bardzo zniechęcają mnie błędy kompilacyjne w takich ilościach jakich nie miałem nigdzie indziej.
Z obiektowości coś tam rozumiem, nie wiem czy dużo nie wiem czy mało, ale na pewno coś ogarniam. Popróbuję jeszcze tego Springa, może nauczę się w końcu pisać tak, żeby nie było błędów kompilacyjnych od samego początku. Głównie te błędy mam przez .xml

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