Разработка под android для веб-программиста — с чего начать?

Более пяти лет я являюсь веб-разработчиком, в последнее время в основном это back-end на PHP.
Знаю и понимаю шаблоны проектирования, различные подходы к разработке, работаю с системами контроля версий и т.д.
В принципе спокойно читаю java-код в тех же примерах реализации классических шаблонов проектирования.
В данный момент я заинтересовался разработкой мобильных приложений под andoid, первым делом начал штудировать официальную документацию, поставил andoid studio и запустил hallow world из примеров.

Смута настигла меня после изучения требований к разработчикам в вакансиях на позиции мобильных разработчиков, в частости - java memory model и вообще все, что относится к многопоточности.
В комментариях к статьям натыкался на обсуждения, например, различного поведения приложения при том же развороте экрана - насколько я понял, в данном примере происходит переинициализация activity, которая является основным классом приложения, вследствие чего возникает много тонкостей, связанных с работой с потоками.
Понял, что в плане теоретической подготовки до спокойного программирования с периодическим изучением мануалов мне далеко, в связи с чем прошу подсказать, что и в какой последовательности хорошо бы изучить до того, как я начну писать свое первое учебное приложение под данную платформу?

Спасибо!
  • Вопрос задан
  • 1932 просмотра
Решения вопроса 1
voidnugget
@voidnugget
Программист-прагматик
Сore Java - первый и кусочек второго тома
Effective Java Джошуа Блоха - обязательно
Java Concurrency in Practice Браяна Гоетса - обязательно
из серии Pragmatic Programmer
Programming Concurrency on the JVM: Mastering Synchronization
Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions
Pragmatic Unit Testing in Java 8 with JUnit
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
atetc
@atetc
Админ Android dev-s чата: https://goo.gl/8JKF1f
Если речь про экспресс погружение: то пока книги не читайте, начните с ютуба (только не зацикливайтесь на стартандроид), статей на хабре, встроенных семплов Android Studio, изучите жизненные циклы (например тут https://github.com/xxv/android-lifecycle), сделайте десяток простых приложений + можно сразу контроль версий пощупать вкупе (bitbucket например) и только после этого садитесь за чтение Java Core, ООП, Git Pro и тщательное изучение https://developer.android.com/index.html

P.S. Если что-то не получается старайтесь искать правильные ответы сразу на SO.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽