Programowanie androida - co dalej? Materiały do nauki.

0

Cześć, pisze apki na androida od jakiegoś czasu i staram się dążyć do jakiegoś stażu/pracy jako junior.
W moich tworach korzystałem z: ButterKnife, Firebase, Google Games, łączenie z API, parsowanie JSON'a, SQLite.
Staram się tworzyć proste apki w każdej kolejnej ucząc się czegoś nowego. I związku z tym mam kilka pytań:
1.Czego jeszcze warto się nauczyć w kontekście pracy? Dużo słyszałem o wzorcach projektowych, tylko które z nich są najistotniejsze w kontekście androida?
2.Ktoś przeglądając mój kod wspominał o braku warstw i MVVM, gdzie znaleźć jakieś materiały na ten temat albo przykładowe aplikacje?
3.Czy przykładowo taki kurs ma sens: https://www.udemy.com/android-app-development-with-java/ ? Kosztuje obecnie poniżej 40zł i wygląda na to że jest w nim sporo przykładów czego wydaje mi sie że właśnie mi brakuje... Czy ewentualnie są jakieś inne materiały/kursy które mają większy sens?
4. Czytam Thinking in Java, aczkolwiek nie poświęcam temu zbyt wiele czasu... Czy kontynuować czytanie w bardzo powolnym tempie czy jednak warto zainwestować więcej czasu i mniej czytać o kolejnych rzeczach pokroju ButterKnifa, retrofit'a itp a więcej o samej javie?

2

Ad 1. Jeśli chcesz pracować to musisz się nauczyć:

  • system kontroli wersji: najlepiej git
  • pisanie testów: np JUnit
  • korzystanie z mocków przy testach: np Mockito

Ad 2. MVVM/MVC czy inne cudo przeczytasz artykuły o tym kilka razy i niewiele ci w głowie zostanie. Dopiero jak będziesz pisał coś większego i popełnisz kilka błędów architektonicznych, wtedy czytanie o tych wzorcach pozwoli na zrozumienie czegoś. A jeszcze lepiej to pracować z kimś kto się zna i od którego będziesz zrzynał wzorce programowania i kto będzie ci robił sensowne Code Review.

2
  1. Jeżeli chodzi o architekturę w apkach Androidowych to spójrz na:
    https://github.com/googlesamples/android-architecture

Szczególnie zwróć uwagę na przykłady wykorzystujące Architecture Components

  1. Dobra znajomość Javy jak najbardziej będzie procentować, więc warto to ogarnąć.

  2. Tak jak napisano wyżej podstawy Version Control oraz Fundamentals of Testing

2

Byłem swego czasu liderem podczas androidowych praktyk studenckich. Polecałbym Ci zapoznać się z książkami: Clean Code, http://www.empik.com/czysty-kod-podrecznik-dobrego-programisty-robert-c-martin,p1100571160,ksiazka-p oraz https://helion.pl/ksiazki/jak-stac-sie-lepszym-programista-przewodnik-pete-goodliffe,jakpro.htm . Pierwsza pozycja jest bardziej techniczna, nadaje się na Twój poziom. Druga opisuje bardziej drogę pracy programisty.

Samo programowanie to więcej niż pisanie kodu. Jedną z pierwszych spraw związaną z programowaniem jest zrozumienie że kod który piszemy nie piszemy tylko dla komputera ale również ( a może nawet przede wszystkim) dla innego programisty. (Należy zauważyć że innym programistą jesteśmy również my sami kiedy siadami do "starego" modułu po zdobyciu większego doświadczenia).

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