Początkujący a ogrom Javy i nie tylko

0

Witam, powiem szczerze, że nie mam zielonego pojęcia jak zawrzeć te pytanie w jednym zdaniu, dlatego taki, a nie inny tytuł napisałem.

Od pewnego czasu interesuję się Javą, dużo piszę programików, ale czytam też książki, artykuły, oglądam wykłady i tego typu podobne rzeczy, jednak pogubiłem się już w tym wszystkim. Jest masa technologii, skrótów, zasad, wzorców, programów, bibliotek, frameworków itd. Już nie wiem czego uczyć się najpierw, żeby nie zgubić się w tym wszystkim oraz z których zasad korzystać, żeby pisać odpowiednio, ale też nie komplikować sobie wszystkiego. Czy byłby ktoś w stanie pokierować mną czego się uczyć ? W przyszłości chciałbym tworzyć aplikacje biznesowe, dla firm.

Spotkałem się z tego typu rzeczami:

Swing, Spring, SpringBoot, Maven, Ant, JBDC, JUnit, Groovy, TDD, DDD, Agile, Testy, Test jednostkowe, Testy Automatyczne, inne test, których nazw nie pamiętam, AWT, SWT, XML, JAXP, PostgreSQL, SQLite, OraceSQL, Clean Code, DRY, KISS, SOLID, poznawanie IDE, poznawanie JVM, poznawanie Garbage Collector, RRTI, refleksja, wszelkiego rodzaju wzorce projektowe, Git, Asercje, Adnotacje, wyrażenia Lambda, Guava, JPA, Mockito i wiele, wiele innych, ale nie pamiętam na tą chwilę.

Dodam, że czytałem o każdej z wymienionych rzeczy, ale w każdym artykule znajduję kolejne 3 rzeczy do poznania lub powiązania z innymi rzeczami. Co tu dużo mówić, zgubiłem się.

Zdaję sobie sprawę, że wiele z tych rzeczy nie dotyczy samej Javy, ale spotkałem się z nimi dopiero w Javie.

Z góry dziękuję za odpowiedzi, pozdrawiam !

No i wesołych Świąt :)

0

Przede wszystkim w jakiej formie:

  1. desktopowe
  2. mobilne
  3. webowe

W zależności od tego co masz na oku część z tego co wymieniłeś odpadnie :-)

2

Może objadaj jakieś oferty pracy na stanowiska, które cię interesują, zobacz czego wymagają i co jest miłe widziane.

1

Czy ucząc się obcego języka mówionego też zadręczasz się że ma wiele słów, a ty jeszcze mało z nich rozumiesz? :P

Tak jak napisał kolega wyżej, aplikacje biznesowe to bardzo szerokie pojęcie. Zbyt szerokie.

Java to głównie aplikacje webowe i takich ofert pracy jest najwięcej. Youtube, Facebook(częściowo) oraz wiele innych potężnych systemów stoi na Javie. Najczęściej oczekiwana jest znajomość Spring Framework lub/oraz JSF.

0

Co do: Clean Code, DRY, KISS - to nie dotyczy tylko Javy, to pojęcia które warto znać i przydadzą się w każdym języku programownia.

Słyszałem opinie, że JSF to już historia / staroć... (?) Ze JavaFX jest teraz na "topie"

4

Co warto poznać? Na pewno framework pod aplikacje webowe (spring), coś do komunikacji z bazą - jpa (oraz jakąś implementację, najpopularniejsza to hibernate), narzędzia do budowania projektu (np. maven), framework do pisania testów - np. jUnit. To takie combo, którego najczęściej pojawia się w ofertach pracy dla java devów.

0
Czarny Terrorysta napisał(a):

Słyszałem opinie, że JSF to już historia / staroć... (?) Ze JavaFX jest teraz na "topie"

Java FX jest przeznaczona do tworzenia GUI w aplikacjach desktopowych, dlatego też raczej nią nie warto się interesować. Zwłaszcza w sytuacji kiedy autor myśli o webie. JSF jest do tworzenia interfejsu webowego. Faktycznie ma teraz mniejszą popularność, ale myślę, że warto go poznać bo są firmy, które go używają. Jeśli JSF to to na pewno w połączeniu z Primefaces.

Jeśli autor myśli iść w web, to na pewno powinien ogarnąć podstawy HTML, CSS, JS, JQuery.

0

Wydawało mnie się że Java FX jest też do WEB-u.

Czy w Javie jest odpowiednik PIP lub Easy_Install (z Pythona) ?

1
Zimny Terrorysta napisał(a):

Czy w Javie jest odpowiednik PIP lub Easy_Install (z Pythona) ?

Jest coś dużo lepszego i nazywa się Maven

0

Zainteresuje się MAVEN-em.

Rozumiem, że z MAVEN można też korzystać też z IntelliJ IDEA? Dopiero co zainstalowałem to IDE i nie bardzo wiem, jak ściągnąć z netu potrzebną bibliotekę.

W Android Studio (które bazuje na IntelliJ IDEA) ściągniecie biblioteki z netu nie było trudne, wpisałem nazwę w okienku Dependencies i wszystko gra. Tu coś nie mogę tego znaleźć.

0

JSF to nie, aż taka staroć JSP to staroć
JSF nie należy kojarzyć ze springiem
W JavaFX można tworzyć "interfejs webowy"
Z mavena możesz nawet korzystać w notatniku to po prostu osobny program jak kompilator, narzuca ci własną strukturę projektu, dzięki czemu różne IDE mają tą samą. Jeżeli chcesz dowiedzieć się jak dorzucić bibliotekę do projektu poczytaj o tym, jest pełno tutoriali musisz poznać strukturę pom.xml

0

@Krwawy Terrorysta zapewne to okienko "dependencies" to była wtyczka do Mavena którą ma IntelliJ ;)
Ale żeby to działalo to musisz stworzyć projekt "Maven project".

0

OK, Maven project.

Powiem szczerze, że odpalenie czegokolwiek (nawet takiego Heloł Worlda) zajęło mi z dobre 20-30 minut. Korzystałem z różnych IDE od JetBrains, ale odpalenie projektu w JAVA / z IntelliJ IDEA to było wyzwanie :) (no, ale to wynika z tego. ze w JAVIE nigdy nic nie robiłem, dopiero startuje ).

0

Widzę, że MAVEN jest dość stary (2004 rok). Czy nie lepszy wydaje Wam się GRADLE (o 8 lat nowszy)?

Tu jest porównanie obu: http://gradle.org/maven_vs_gradle/

0

2004 to data pierwszej wersji. Ostatnia jest z 22 listopada.

0

Gradle jest ok jeśli bawisz się w pisanie pluginów do budowania / robisz coś niestandardowego. Poza tym gradle dorównuje mavenowi głównie dlatego ze korzysta z jego "infrastruktury". Repozytoria z których ciagnie zalezności są repozytoriami mavena :)

0

Ja też to przerabiałem więc wiem jak to jest :)
Jeżeli chcesz w Javie pisać webowe apki to najpierw się ucz samej Javy,a póżniej Spring i Hibernate.
Ileś rzeczy to nie jest żadne rocket science :) i takie coś jak JUnit i testy jednostkowe to ogarniesz przy okazji i jest to bardzo łatwe, SQL też nie jest trudny na potrzeby junior developera. Z IDE też zapoznajesz się pisząc kod i szukając różnych ułatwień i skrótów (np. zamiast ręcznego importu niech IDE zaimportuje pakiety,jak otworzyć plik z klasą jeśli pamiętasz jak sie nazywa a nie chcesz szukać w package explorer itp)

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