10 шагов, чтобы стать Android разработчиком ч. 2
Продолжаем двигаться по нашему плану развития Android разработчика. Следующий пункт относится к языку Kotlin.
Предыдущую часть и сам план можно посмотреть по ссылке
3. Изучить язык Kotlin.
Если вы начнёте искать учебные материалы по Android разработке, то заметите, что все они про язык программирования Kotlin. Язык был одобрен Google как основной для мобильной разработки, и поэтому это будет ваш основной инструмент. Если до этого пункта вы уже успели освоить Java, то изучение основных принципов языка Kotlin для вас будет не проблема. Я за выходные прочитал вот эту книгу: Head First. Kotlin и уже мог что-то писать на Kotlin. Книгу при желании можно бесплатно скачать в электронном виде, но лично я решил её купить. Вид книги на полке как бы настраивает тебя на продолжение практики, плюс бумажные книги всегда приятнее читать. Практиковаться вы будете на следующем пункте, при создании мобильных приложений. Главное - понять основные принципы языка и периодически подглядывать в книгу, когда какой-то код вам покажется непонятным. Практику из книги выполнять не нужно.
Если так случилось, что вы решили не следовать предыдущему пункту, а начали именно с этого языка ваш путь разработчика, то для изучения языка я вам рекомендую курсы создателей языка hyperskill Плюсы и минусы курса вы можете почитать в предыдущей статье. В нём изучается голый Kotlin без привязки к мобильной разработке. Возможно, на данном ресурсе курс мобильной разработки с языком Kotlin появится позже. Сами курсы на момент написания статьи бесплатные, т.к. находятся на стадии бета-тестирования. Их я начинал проходить для ознакомления, и прошёл где-то 30 процентов. Курсы мне очень понравились. Там также есть возможность автоматически проверять задания, поэтому вы можете сами планировать скорость прохождения курсов. Другие ресурсы по изучению Kotlin я не тестировал, но думаю, - там работают те же принципы, что и при изучении языка программирования Java, - продавец курсов не главное, главное - это хороший преподаватель.
4. Освоить Android Studio с применением языка Kotlin.
Когда я сам дошёл до этого пункта, я решил начать изучение с книг, уж больно мне понравилась серия книг про программирование Head First. И в этой серии как раз-таки была книга Head Firsе Android. Я нашёл эту книгу в электронном варианте и начал погружаться в мир Android. Прочитав где-то 20 процентов книги и делая очередное практическое задание оттуда, я заметил, что мой код не работает. Какая-то функция из какой-то библиотеки выдавала ошибку. Я начал искать подобную проблему в интернет и узнал, что не один я такой, кто занимался таким же способом, по книге. Я попал на сайт overflow, где на данную проблему ответили, что библиотека обновилась, и названия методов также обновились. Так я впервые узнал, что Android разработка очень быстро меняется и те способы решения определённых задач, которые описаны в книге, могут уже не использоваться, т.к. устарели. В то же время я заметил, что когда ты ищешь какие-либо решения по Android разработке, то почти всегда в свежих записях используется Kotlin, а не Java. А книга Head Firsе Android подразумевала разработку именно на языке Java. Меня это смутило, и я решил, что мне нужна более новая книга, и чтобы там было обучение с использованием языка Kotlin.
После непродолжительных поисков я узнал об одной из самых популярных книг по Android программированию на русском языке: Android. Программирование для профессионалов Четвёртое издание этой книги использовало примеры на языке Kotlin. Но через какое-то время я снова столкнулся с той же самой проблемой, - часть написанного кода в книге уже устарела. Плюс ко всему мне не нравился тот факт, что, делая задания из книг, ты не знаешь, насколько грамотно ты всё сделал. Некому проверить твои домашние задания. Я понял, что книги можно использовать только как дополнительный источник знаний, т.к. Android разработка слишком быстро развивается.
Разочаровавшись в книгах, я начал искать другие способы освоить Android Studio. Я смотрел в сторону разных курсов: как платных, так и бесплатных. В какой-то момент я наткнулся на курс Udacity от Google. Мне подумалось тогда, что если курс от самих Google, то там наверняка будет самая актуальная информация на текущий момент, т.к. все изменения в библиотеках и способах разработки создаются с помощью Google. К сожалению, курс стоил 400$ и не имел пробного периода. Но мне повезло: когда я через неделю снова зашёл посмотреть курсы на Udacity, на этом курсе было написано, что первый месяц подписки будет бесплатным. Я, конечно же, воспользовался такой возможностью, а потом на сайте курса мне было предложено проходить его за 100$ в месяц, и я решил согласится, т.к. курс мне очень понравился.
Теперь перечислю плюсы и минусы курса:
+ на курсе самая актуальная информация по андроид-разработке, и она постоянно обновляется;
+ в конце каждого раздела даётся задание на создание приложения, которое должно использовать технологии, пройденные в разделе. Эти приложения можно загружать в GitHub и в дальнейшем демонстрировать работодателю. Я считаю, что наличие кода, который можно показать работодателю, - очень важно для начинающего разработчика;
+ задания, которые даются в конце каждого раздела, проверяет живой человек, и если что-то не так в вашем коде, то он пишет вам об этом и просит переделать;
+ Вы можете проходить курс в удобном для вас темпе;
+ В курсе очень хорошо подаётся материал. И если чего-то не понял в видео, то можно прочитать его текстовый вариант. Текстовый вариант — это не перевод речи из видео в текст. Это объяснение темы, другими словами;
- В каждом разделе разные преподаватели, которые читают лекции в видео. Это плохо тем, что некоторые чуть похуже объясняют, чем другие. Поэтому не забываем пользоваться текстовым вариантом курса;
- Курс на английском языке. В курсе есть как видео, так и дублирующие видео текстовые версии. Видео даётся с Youtube, а это значит, что можно выводить субтитры и переводить их с помощью встроенных возможностей Youtube. Текст же переводится встроенным в браузере переводчиком (мне показалось, что Yandex браузер переводит лучше Google Chrome);
- Курс, по мне, стоит дорого, если брать его без скидки. Если бы не скидка, я бы не мог себе его позволить. 400$ - это реально дорого, тем более, если вы работаете и проходите курс, то вы можете потратить на него полгода или даже больше.
На данный момент я дошёл где-то до половины курса. В конце курса нужно будет сделать большой проект, который охватывает все знания, полученные на курсе. После сдачи проекта, если всё нормально, то выдаётся сертификат о прохождении курса. На данный момент на курсе нет бесплатного пробного первого месяца, но надписи на сайте намекают, что скидку всё-таки возможно выпросить.
Во время прохождения курса, я нашёл бесплатный текстовый курс на сайте anroid.development. Я обратил внимание, что курс структурирован таким же образом, как и мой платный курс, только в текстовом виде и без заданий, которые проверяются живыми людьми. Сам курс находится по этой ссылке. Там даже примеры даны такие же, как на моём курсе от Udacity. Я считаю, что данный курс может полностью заменить тот платный, на котором я занимаюсь, единственный важный момент: в конце каждого раздела вам самим нужно будет придумывать себе задания, используя те знания, которые вы прочитали. И так после каждого раздела. Иногда, когда я смотрю видео курса Udacity, и мне кажется, что ведущий непонятно объясняет, я захожу на текстовый курс и уже оттуда изучаю тему. Есть несколько причин, по которым я до сих пор занимаюсь на платном курсе: это возможность сдать задание на проверку, получение сертификата в конце и, конечно, факт, который стимулирует меня заниматься более активно - трата денег на курс.
Хочу отметить, что данные статьи не являются рекламой каких либо курсов. Я просто описываю свой опыт обучения. Я мог бы написать с таким же успехом и про другие курсы, но у меня не было опыта их прохождения. Так что, если вам кажется, что вы знаете лучший способ обучения, то, возможно, это так и есть. Каждый человек индивидуален, но, если вы нашли полезной ту информацию, которую я тут пишу, то обязательно ставьте лайк и подписывайтесь.
В следующей статье я продолжу более подробно рассматривать путь Android разработчика и мои планы по поводу трудоустройства. Не пропустите.
Оригинал статей на dzen: Android Head First