Разработка под android для веб-программиста — с чего начать? Более пяти лет я являюсь веб-разработчиком, в последнее время в основном это back-end на PHP. Знаю и понимаю шаблоны проектирования, различные подходы к разработке, работаю с системами контроля версий и т.д. В принципе спокойно читаю java-код в тех же примерах реализации классических шаблонов проектирования. В данный момент я заинтересовался разработкой мобильных приложений под andoid, первым делом начал штудировать официальную документацию, поставил andoid studio и запустил hallow world из примеров. Смута настигла меня после изучения требований к разработчикам в вакансиях на позиции мобильных разработчиков, в частости - java memory model и вообще все, что относится к многопоточности. В комментариях к статьям натыкался на обсуждения, например, различного поведения приложения при том же развороте экрана - насколько я понял, в данном примере происходит переинициализация activity, которая является основным классом приложения, вследствие чего возникает много тонкостей, связанных с работой с потоками. Понял, что в плане теоретической подготовки до спокойного программирования с периодическим изучением мануалов мне далеко, в связи с чем прошу подсказать, что и в какой последовательности хорошо бы изучить до того, как я начну писать свое первое учебное приложение под данную платформу? Спасибо!
Для начала, вам уже есть неплохая база знаний, так как вы знакомы с Java и имеете опыт веб-разработки. Однако, для успешного старта в разработке под android, вам нужно освоить некоторые специфические концепции и подходы.
Вот несколько рекомендаций о том, что и в какой последовательности стоит изучить:
Изучите основы Android:
Разберитесь с Activity, Fragment, View и LayoutПознакомьтесь с жизненным циклом Activity и FragmentПонимание ресурсов - разметки, изображений, строк и т.д.
Погрузитесь в работу с компонентами пользовательского интерфейса:
Изучите различные виды Layouts и как их использоватьОсвойте работу с различными видами Views (Button, TextView, RecyclerView и пр.)Научитесь обрабатывать события нажатия на компоненты интерфейса
Изучите работу с многопоточностью в Android:
Понимание основ Java Memory Model и как оно применяется в AndroidРабота с AsyncTask, Handler, Thread и другими средствами для работы с потоками
Изучите работу с хранилищами данных:
Освойте работу с SQLite базами данныхПознакомьтесь с Shared Preferences для хранения настроек приложения
Попробуйте изучить архитектурные паттерны в Android:
Model-View-Presenter (MVP), Model-View-ViewModel (MVVM) и т.д.Разберитесь, как правильно разделить бизнес-логику и представление
Продолжайте углубляться в Android SDK и API:
Изучите работу с различными сервисами, уведомлениями, медиа-файлами и т.д.Познакомьтесь с Material Design и как его применять в разработке приложений
Это только общий план обучения и каждый пункт требует дополнительного изучения и практики. Для понимания особенностей Android и успешной разработки приложений, важно также писать много кода и делать много практических упражнений. Удачи в обучении и разработке под Android!
Для начала, вам уже есть неплохая база знаний, так как вы знакомы с Java и имеете опыт веб-разработки. Однако, для успешного старта в разработке под android, вам нужно освоить некоторые специфические концепции и подходы.
Вот несколько рекомендаций о том, что и в какой последовательности стоит изучить:
Изучите основы Android:
Разберитесь с Activity, Fragment, View и LayoutПознакомьтесь с жизненным циклом Activity и FragmentПонимание ресурсов - разметки, изображений, строк и т.д.Погрузитесь в работу с компонентами пользовательского интерфейса:
Изучите различные виды Layouts и как их использоватьОсвойте работу с различными видами Views (Button, TextView, RecyclerView и пр.)Научитесь обрабатывать события нажатия на компоненты интерфейсаИзучите работу с многопоточностью в Android:
Понимание основ Java Memory Model и как оно применяется в AndroidРабота с AsyncTask, Handler, Thread и другими средствами для работы с потокамиИзучите работу с хранилищами данных:
Освойте работу с SQLite базами данныхПознакомьтесь с Shared Preferences для хранения настроек приложенияПопробуйте изучить архитектурные паттерны в Android:
Model-View-Presenter (MVP), Model-View-ViewModel (MVVM) и т.д.Разберитесь, как правильно разделить бизнес-логику и представлениеПродолжайте углубляться в Android SDK и API:
Изучите работу с различными сервисами, уведомлениями, медиа-файлами и т.д.Познакомьтесь с Material Design и как его применять в разработке приложенийЭто только общий план обучения и каждый пункт требует дополнительного изучения и практики. Для понимания особенностей Android и успешной разработки приложений, важно также писать много кода и делать много практических упражнений. Удачи в обучении и разработке под Android!