Książka nt. Javy i Androida

0

Witam! :)
Jestem obecnie baaardzo początkującym programistą C++ i C# i mam zamiar przez najbliższy czas skupić się na tych językach. Jednak w nieodległej bardzo przyszłości chciałbym nauczyć się programowania w Javie, a konkretniej pisania aplikacji na platformę Android. I mam tutaj kilka pytań:

  1. Czy warto uczyć się tego języka? Słyszałem o nim wiele niepochlebnych opinii.
  2. Czy jest on cały czas wiodącym językiem używanym do programowania aplikacji mobilnych na w.w. system operacyjny i będzie prawdopodobnie w przyszłości? Wiem, że to pytanie może trochę banalne, jednak, jak wiemy, technologia, szczególnie jeśli chodzi o sferę mobilną zmienia się w bardzo dynamicznym tempie :)
  3. Jeżeli odpowiedź na pyt. 2 jest twierdząca, to czy ta książka: http://helion.pl/ksiazki/java-podstawy-wydanie-ix-cay-s-horstmann-gary-cornell,javpd9.htm jest wartą uwagi pozycją dla początkującego programisty, czy może spojrzeć na coś innego?
  4. Jeżeli odpowiedź na pytanie drugie brzmi przecząco, to co drodzy forumowicze moglibyście mi polecić?
  5. Jaką polecilibyście mi książkę nt. programowania na Androida w oparciu o Javę (lub nie)?
    Z góry dziękuję za wszelkie odpowiedzi :)
0
  1. warto uczyć się każdej technologi, bo jeżeli chodzi o "opłacalność" to już kiedyś to napisałem, zainwestuj hajs w KGHM.
  2. ostatnio(już trochę więcej niż ostatnio) na świat wyszedł Xamarin, jest to alternatywa zdobywająca popularność, ale nie oszukujmy się, przez android sdk musisz przejść.
  3. Każda książka będzie dobra, bo każda omawia większość zagadnień, czy to będzie coś z helionu, czy to będzie head first java albo tutorial ze strony oracla, jeden grzyb.
  4. Żadnej bym Ci nie polecił, polecił bym oficjalną dokumentacje ze strony androida, tam jest wstęp dla początkujących http://developer.android.com/training/basics/firstapp/index.html oraz opis całego api. A jeżeli czegoś nie rozumiesz, to wpisujesz problem w google i na 99,9% znajdujesz rozwiązanie.
0

Hmmm... Dzięki za odpowiedź i ten tutorial z oficjalnej strony, z pewnością mi się przyda :) Jak coś, to jestem cały czas otwarty na dalsze propozycje :)

0

Ja osobiście czasem poza oficjalną dokumentacją korzystam też z http://www.vogella.com/android.html
Poza tym kilka wskazówek dotyczących ListView: https://www.google.com/search?q=site%3Acyrilmottier.com&q=ListView

4
  1. Czy warto uczyć się tego języka? Słyszałem o nim wiele niepochlebnych opinii.

Warto się uczyć każdego języka. Ponadto Java jest powszechnie używana nie tylko w aplikacjach mobilnych, ale też internetowych, biznesowych, etc. Jest to powszechnie stosowana technologia używana w wielu poważnych systemach, więc tym bardziej warto ją dobrze poznać.

  1. Czy jest on cały czas wiodącym językiem używanym do programowania aplikacji mobilnych

Tak, jeśli chodzi o aplikacje biznesowe, użytkowe, etc. czyli większość tego, co jest dostępne w Google Play. Gry często pisze się w C# i Unity, ale jest też sporo bibliotek do tworzenia gier w Javie. Można też pisać w C++ z użyciem NDK, ale robi się to bardzo rzadko. Ten język można wykorzystać tylko wtedy, gdy chcemy dokonać jakiejś niskopoziomowej optymalizacji, modyfikować system lub podpiąć do projektu bibliotekę w C++.

Materiały:

Android

  1. http://developer.android.com/sdk/installing/studio.html - warto nauczyć się porządnie obsługiwać to IDE
  2. http://developer.android.com/index.html - oficjalna dokumentacja - podstawowa sprawa
  3. http://www.vogella.com/android.html - wspomniane już tutoriale Vogelli
  4. http://vladnevzorov.com/ - patrz tagi: http://vladnevzorov.com/tag/android-application-architecture/ , http://vladnevzorov.com/tag/android-application-development/

Java

  1. http://docs.oracle.com/javase/tutorial/ - oficjalne tutoriale
  2. Książka "Effective Java" - autor: Joshua Bloch - jest też polskie tłumaczenie
  3. Oca Java Se 7 Associate Study Guide - podstawy Javy i przy okazji przygotowanie do certyfikatu OCJAP

Czytałem kiedyś książkę "Android 2. Tworzenie aplikacji". Wyszły też wersje tej książki dla Androida 3 i 4, choć pewne podstawy i architektura systemu jest w większości bez zmian. Są jedynie dodawane nowe funkcjonalności, część rzeczy jest usprawniona i GUI podrasowane oraz dostosowane do tabletów. Książka jest dobra, jeśli ktoś chce się nauczyć podstaw i zgłębić wiedzę na temat tej platformy. Niemniej jednak, czasem czułem się jakbym czytał dokumentację, co było średnio ekscytujące.

Dodatkowo, przejrzyj sobie źródła apki konferencyjnej Google I/O. Google udostępnia jej kod na zasadach open-source. Warto się uczyć na podstawie kodu najlepszych.
https://code.google.com/p/iosched/

Warto też zapoznać się z bibliotekami firmy Square z Kalifornii. Spora część tych rozwiązań jest pionierskich i naprawdę dobrych, więc warto z nich korzystać.
http://square.github.io/

Ponadto, spora część kodu zawartego w tutorialach w necie jest strasznie słaba, ponieważ opisują tylko, jak rozwiązać jakiś problem, a nie opisują, jak to zrobić zgodnie ze sztuką i odpowiednimi wzorcami, dlatego najlepiej poczytać sobie też trochę więcej o Domain Driven Design, wzorcach projektowych i programowaniu obiektowym, żeby nie pisać smutnego kodu i nie upychać wszystkiego do klas dziedziczących po Activity.

Pozdrawiam.

0

Czytałem opinie, że raczej powinno się omijać oficjalną dokumentację z daleka z tego względu, że jest mocno przestarzała i nie sugeruje optymalnych rozwiązań. Nie wiem ile w tym prawdy gdyż na codzień do nauki używam generalnie google, stackoverflow i tutków Vogelli.

0

Jakieś chyba dziwne opinie, bo szczerze widzę, że jak tylko wypuścili 4.4 to zaraz (w ten sam dzień) pojawiła się dokumentacja do API w tej wersji jak np. http://developer.android.com/guide/topics/providers/document-provider.html
Tymczasem większość tutoriali to wersje jakieś 4.0 czy 4.2.
Sam korzystam głównie z oficjalnej dokumentacji.

Aha kanał na youtube "android developers" też warto odwiedzić.

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