Strona główna Forums Jak zacząć ? Jak zacząć z JAVĄ ?

Jak zacząć z JAVĄ ?


Strona główna Forums Jak zacząć ? Jak zacząć z JAVĄ ?

Tagged: 

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #1589
    CVC
    Keymaster

    Przy rozpoczynaniu swojej przygody z Javą możesz mieć niezły mętlik w głowie, ponieważ ostatnio Java bardzo szybko zaczęła wydawać nowe wersje i o ile do tej pory przez długi czas królowała Java 7, po niej od kilku lat króluje Java 8 tak teraz już słyszymy od wydaniu Javy 9, 10 czy nawet 11. Można się zagubić ? Niemniej jednak na początku nie ma co się przejmować numerkami, a skupić się na podstawach, które pozostają niezmienne.
    Na początek proponowałbym zrobienie jednej z dwóch rzeczy(w zależności od tego czy wolisz oglądać czy czytać): kupienie kursu na udemy i przerobienie go dokładnie z prowadzącym(https://www.udemy.com/java-the-complete-java-developer-course/ – ten kurs jest bardzo dobry, ale możesz też wybrać inny, który omawia podstawy) albo przeczytanie książki „Java. Podstawy.” autorstwa Horstmanna. Oczywiście możesz zrobić obie te rzeczy, pamiętając, że w książce znajdziesz zdecydowanie bardziej obszerne wyjaśnienia i opisy. Jeśli natomiast jesteś już troszkę obeznany z programowaniem to polecałbym zajrzeć do oficjalnego tutoriala od Oracle: https://docs.oracle.com/javase/tutorial/ . Nie jest on tak obszerny jak poprzednie pozycje, ale też w dość prosty sposób tłumaczy podstawowe kwestie.

    Powyższy punkt jest najważniejszy z całego tekstu. Żeby programować w Javie, musisz mieć perfekcyjnie opanowaną Javę. Bez tego nie da się ruszyć dalej. Dlatego zanim będziesz chciał ruszyć, poświęć odpowiednią ilość czasu na naukę podstaw.
    Ucząc się Javy nie można też pominąć aspektu nauki swojego IDE czyli środowiska programistycznego. Teraz najczęściej wybieranym przez programistów IDE jest Intellij Idea i ja też je polecam. Warto zapoznać się ze skrótami klawiszowymi, bo często ułatwiają one pracę.
    Teraz, gdy już umiesz Javę musisz zastanowić się w którą stronę chcesz iść, a możliwości jest co najmniej kilka. Najpopularniejszym kierunkiem jest rozwijanie się w kierunku backend deva i na tym tutaj się skupię. Możesz też oczywiście iść np. w stronę aplikacji mobilnych i nauczyć się API Androida.

    Jeżeli chodzi o backend w Javie to obecnie najpowszechniej używanym frameworkiem jest Spring. Spring ma najprawdopodobniej najlepszą dokumentację jaką spotkasz w życiu dlatego też polecam od niej zacząć ? https://docs.spring.io/spring/docs/current/spring-framework-reference/
    Oczywiście nie karzę Ci czytać wszystkiego, ale na początku trzeba zapoznać się z pojęciami takimi jak „bean”, „dependency injection”, „spring container” itp. Są one opisane w module „Core” w dokumentacji. Poza „Core” polecam na początek przeczytać przynajmniej wstęp do każdego z rozdziałów, bez wchodzenia w szczegóły, tak by zapoznać się z możliwościami tego frameworka. Oczywiście zrozumienie pewnych tematów może nie być łatwe na początku. Wszystko przyjdzie wraz z braniem udziału w kolejnych projektach, dlatego spokojnie jeśli wszystkiego nie zapamiętasz. Nikt nie pamięta wszystkiego ?

    Gdy już będziesz znał podstawowe pojęcia zalecałbym zrobienie czegoś praktycznego. https://spring.io/guides tutaj znajdziesz różne poradniki jak krok po kroku zrobić dane zagadnienie z użyciem Springa. Warto zrobić np. „Building a RESTful Web Service”, „Scheduling Task”, „Consuming a RESTFul Web Service” i delikatnie zmodyfikować działanie każdego z nich.

    Jak pewnie zauważyłeś robiąc powyższe poradniki używany jest tam Maven lub Gradle. Są to narzędzia do budowania i zarządzania zależnościami w projekcie. Warto wybrać jeden i z niego korzystać na początku. Bardziej popularny w aplikacjach webowych wydaje się być Maven i zalecam jego wybór. Wystarczy poznanie kilku podstawowych komend tzn mvn clean, mvn install, tak by móc sobie samemu zbudować projekt.
    Na dobry początek polecam przeczytać: https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

    Kolejnym etapem jest nauczenie się SQLa oraz przynajmniej podstawowych zagadnień bazodanowych. Przede wszystkim chodzi o to, by umieć zamodelować jakąś strukturę danych z zachowaniem odpowiednich zasad modelowania w tym np. dobierać odpowiednie związki między tabelami, wiedzieć czym się różni relacja jeden do wielu od jeden do jeden i wiele do wielu, wiedzieć jak w bazie danych realizuje się relacje wiele do wielu. https://www.guru99.com/database-design.html tutaj jest dobry artykuł na ten temat. To jest minimum które pozwoli zacząć używać realnych danych w Twoich aplikacjach.

    Gdy już zapoznasz się z bazami danych dobrze byłoby wiedzieć jak użyć takiej bazy danych w Twoim projekcie Javowym. Z pomocą przychodzi tutaj standard JPA czyli Java Persistent Api oraz ORM czyli Object Relational Mapping. Najpopularniejszym ORM jest Hibernate. Na początku oczywiście też nie trzeba znać wszystkiego – wystarczy to co znajdziesz np. tutaj: https://www.journaldev.com/17803/jpa-hibernate-annotations

    Ostatnim punktem jest nauczenie się jednego z systemów kontroli wersji. Ponieważ bardzo rzadko się zdarza, że nad kodem pracuje tylko jedna osoba w danym czasie potrzebne jest jakieś repozytorium, do którego będziemy mogli wrzucać efekty swojej pracy i sprawdzać efekty pracy innych. Do tego przydałoby się śledzić historię zmian w plikach w razie gdyby kiedyś trzeba było do czegoś wrócić, lub poprawić. Najczęściej używanym narzędziem do tego celu jest Git. I tutaj też na początku nie potrzeba zbyt wiele, wystarczy zapoznać się z komendami, które znajdziesz tutaj: https://github.com/NREL/SAM/wiki/Basic-git-tutorial

    Chociaż ilość wiedzy może wydawać się przerażająca, to tak naprawdę wszystko przyjdzie z czasem ? Tak jak pisałem na początku – najważniejsze jest bardzo dobre ogarnianie Javy. Pozostałe rzeczy warto znać w takim stopniu by chociaż wiedzieć do czego służą i żeby się nie przestraszyć gdy ktoś o nie zapyta ? Myślę, że przedstawiona tu wiedza pozwoli na zdobycie pierwszej pracy. A później zostaniesz już pokierowany w odpowiednie miejsca i dostaniesz informacje czego dalej powinieneś się uczyć i na co zwracać uwagę. Dalsze kroki zależą już w dużej mierze od tego przy jakim projekcie pracujesz.
    Życzę powodzenia! ?

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.