JavaRush/Java блог/Android/Дорожная карта новичку
Paul Soia
26 уровень

Дорожная карта новичку

Статья из группы Android
участников
Часто новички задаются вопросом: "Что же надо знать, чтоб стать разработчиком?". В вакансиях куча непонятных слов. В книгах столько информации, что кажется надо было с детства начинать это изучать. К этому всему еще и период сейчас в андроид разработке такой, что надо знать два языка: Java и Kotlin. Я попробую составить роадмап для новчика: что же точно надо знать для того, чтобы попасть на первую работу. Дорожная карта новичку - 1Итак, первое и самое главное — это Java Core. Да, начать сейчас лучше с Java. Как по мне, JavaRush лучший способ это сделать. Не надо отвлекаться ни на что, пока не пройдете полностью базовые вещи. При этом будет большим плюсом, если вы найдете ментора, который может подсказать и рассказать. Дальше уже можно попробовать Android SDK. На первых порах надо разобраться, как пользоваться TextView, EditText, Layouts (Frame, Linear, Relative), ImageView, Button. После них переходить к RecyclerView. На этом этапе практика — ваше всё. Надо всё это пробовать, смотреть, как оно работает, какие у этих компонентов характеристики, чем они отличаются. Дальше можно углубляться и разбираться с Activity и Fragments. Жизненный цикл, запуск. Также передача данных между двумя Activity (Intent) и двумя Fragments (Bundle). На этом этапе вы уже готовы сделать что-то чуть сложнее калькулятора. Надо писать небольшой проект, который состоит из нескольких экранов. Главное — задействовать побольше компонентов, чтоб разобраться, как они взаимодействуют друг с другом. И опять таки большим плюсом будет, если кто-то будет видеть ваш код и сможет подсказать. Вот здесь уже можно пробовать Kotlin. Кроме того, в проект надо добавлять взаимодействие с REST API. Для этого используется библиотека Retrofit. Мануалов по ней очень много. Открытых API также очень много, есть на чем тренироваться (например, Instagram, Facebook и многие другие). Результатом должна быть загрузка данных с сервера и отображение их на экране. Также вам тут пригодится библиотека Glide (либо, как альтернатива, Picasso). Из основного это всё. Дальше стоит разбираться уже с паттернами разработки. В андроиде гугл продвигает MVVM, потому его и пробуйте. Также узнайте, что такое Clean Architecture. И в довершение — Dependency Injection. Одновременно с этим можно пробовать ходить на собеседования. По всем пунктам на просторах интернета полно статей и примеров. При изучении всё же важнее понимание как и почему оно работает, а не заучивание названий. Также важно уметь пользоваться дебагом для обнаружения ошибок. А это возможно только при большом количестве практики. По моим ощущениям этот процесс можно пройти за полгода. Но это только если уделять достаточно времени на обучение. Тут остается лишь пожелать терпения.
Комментарии (17)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Марк Android Developer в Яндекс
29 августа 2020, 20:28
Firebase могу порекомендовать, можно сделать полноценное приложение с бэком и такими штуками, как FCM. И хорошо будет сразу смотреть Best Practice по реализации той или иной фичи, например, отслеживание местоположения. Потому что если реализовать это плохо, то приложение начнет сильно есть батарею и расходовать трафик, что не очень хорошо)
Paul Soia Android Developer в Tallium
29 августа 2020, 20:58
Есть много всего, о чем я здесь не писал. В том числе и firebase. Это всё действительно нужные штуки, но всё же не для первой работы. Я склоняюсь к тому, что лучше изучить самый минимум, а потом уже расширять свой арсенал.
Ustinya Golovkina
Уровень 4
23 августа 2020, 21:04
Спасибо за статью) Часто слышу от знакомых разрабов про Котлин, но пока сконцентрируюсь на Java.
Алексей Мурников Android Developer в Touch Instinct
23 августа 2020, 07:44
Спасибо, буду рад прочитать еще материалов про андроид) Подскажите, на чем концентрировать внимание в Джаве/Котлине при подготовке к первой работе? Например, работа с файлами/сетью/многопоточность и тэпэ. Или нет универсального ответа?
Paul Soia Android Developer в Tallium
23 августа 2020, 10:11
Работа с файлами для андроида не сильно популярная штука. Многопоточность важна, классы, интерфейсы. Это всё общие вещи. Лучше всего разбираться при написании своего проекта. В котлине стоит разбираться еще с корутинами. Типичный проект на андроиде - MVVM+LiveData+Coroutines. Также забыл упомянуть про Shared Preferences. Но это простая штука.
Алексей Мурников Android Developer в Touch Instinct
23 августа 2020, 10:25
А какой проект(ы) вы могли бы порекомендовать выбрать, чтобы и потренироваться на необходимых технологиях, и работодателю показать не стыдно было, но и можно было самостоятельно сделать в разумные сроки. У меня пока есть идея анонимного мессенджера, где для создания юзера не нужно подтверждение по телефону или почте. Или мессенджера на основе Вк (типо Facebook Messenger). Не знаю, насколько такие проекты соответствуют озвученным выше требования, т.к. я пока что полностью сконцентрирован на Джавараше, но здесь курс уже почти закончен, и скоро нужно будет отправляться в самостоятельный путь.
Paul Soia Android Developer в Tallium
23 августа 2020, 10:34
Мессенджер сложная штука. Для первого проекта лучше взять что-то попроще. Есть много открытых апи, можно выбрать что интересно. Для тех же ВК или ФБ реализовать авторизацию и отображение фоток. Что-то типа такого.
Алексей Мурников Android Developer в Touch Instinct
23 августа 2020, 11:08
Спасибо)
Глеб
Уровень 22
29 октября 2020, 01:22
Что вы имеете ввиду под "Для тех же ВК или ФБ реализовать авторизацию и отображение фоток. Что-то типа такого" ? Сделать приложение которое после авторизации в социальную сеть показывает фотографии профиля ?
Paul Soia Android Developer в Tallium
29 октября 2020, 06:53
Да, именно так
Daniil
Уровень 20
Expert
22 августа 2020, 13:20
Хотелось бы кое-что добавить. Я сам только начинаю учить Android разработку и уже не раз сталкивался с необходимостью сохранения данных. В книге по которой изучаю, после фрагментов идёт изучение SQLite. Так что думаю, что эту тему тоже нужно изучать на ранних этапах. Так же в другом популярном курсе изучении Room идёт после RecyclerView. Так что наверное новички должны и это знать)
Paul Soia Android Developer в Tallium
22 августа 2020, 13:51
Да, но чаще всего базы данных использовали для того, чтоб можно было пользоваться приложением без интернета. А это сейчас происходит всё реже. В рабочих проектах мы сейчас не используем бд. Но знать надо. Тот же Room можно попробовать и в самом конце изучения. В андроиде в 99% случаев используются просиые запросы.
Daniil
Уровень 20
Expert
22 августа 2020, 14:25
Хорошо, я понял) Спасибо)
Ksenia Mario
Уровень 23
Master
24 августа 2020, 14:31
"В рабочих проектах мы сейчас не используем бд" а как храните данные?
Paul Soia Android Developer в Tallium
24 августа 2020, 19:59
По мелочи в Shared Preferences. А так никакого хранения нет. Просто данные на сервере очень быстро меняются, потому при каждом открытии определенного экрана запрашиваем данные опять с сервера.
Daniil
Уровень 20
Expert
22 августа 2020, 13:07
Большое спасибо, для меня это очень актуально. Жду ещё про Android)
Alukard Vampire hunter в The Hellsing Expert
22 августа 2020, 13:06
Спасибо бро, информативненько