Разработка под 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы