Разработка под android для веб-программиста — с чего начать?
Более пяти лет я являюсь веб-разработчиком, в последнее время в основном это back-end на PHP.
Знаю и понимаю шаблоны проектирования, различные подходы к разработке, работаю с системами контроля версий и т.д.
В принципе спокойно читаю java-код в тех же примерах реализации классических шаблонов проектирования.
В данный момент я заинтересовался разработкой мобильных приложений под andoid, первым делом начал штудировать официальную документацию, поставил andoid studio и запустил hallow world из примеров.
Смута настигла меня после изучения требований к разработчикам в вакансиях на позиции мобильных разработчиков, в частости - java memory model и вообще все, что относится к многопоточности.
В комментариях к статьям натыкался на обсуждения, например, различного поведения приложения при том же развороте экрана - насколько я понял, в данном примере происходит переинициализация activity, которая является основным классом приложения, вследствие чего возникает много тонкостей, связанных с работой с потоками.
Понял, что в плане теоретической подготовки до спокойного программирования с периодическим изучением мануалов мне далеко, в связи с чем прошу подсказать, что и в какой последовательности хорошо бы изучить до того, как я начну писать свое первое учебное приложение под данную платформу?
Если речь про экспресс погружение: то пока книги не читайте, начните с ютуба (только не зацикливайтесь на стартандроид), статей на хабре, встроенных семплов Android Studio, изучите жизненные циклы (например тут https://github.com/xxv/android-lifecycle), сделайте десяток простых приложений + можно сразу контроль версий пощупать вкупе (bitbucket например) и только после этого садитесь за чтение Java Core, ООП, Git Pro и тщательное изучение https://developer.android.com/index.html
P.S. Если что-то не получается старайтесь искать правильные ответы сразу на SO.