JavaRush /Java блог /Random UA /Чому Android-розробка? З особистого досвіду. Міркування т...
Oleksandr Klymenko
13 рівень
Харків

Чому Android-розробка? З особистого досвіду. Міркування та факти

Стаття з групи Random UA
Якщо ви з тих, хто ще не визначився, де застосовувати знання java, значить ця стаття безперечно для вас. У статті розглядається такий напрямок, як android-розробка. Історія як я став android-розробником. Поради та перспективи вибору android-розробки. Заходь!
Чому Android-розробка?  З особистого досвіду.  Міркування та факти - 1
Привіт студентам JavaRush! Багато хто з вас вже має уявлення про те, в яких галузях IT сфери використовується наша улюблена java. Деякі з вас, можливо, вже визначабося та зробабо свій вибір. У цій статті я розповім, як я став Android-розробником. Поясню, чому вважаю цей напрямок найперспективнішим. Дам розуміння того, що собою являє android-розробка. І звичайно ж поділюся порадами для успішного старту кар'єри Android-розробника.
Чому Android-розробка?  З особистого досвіду.  Міркування та факти - 2

Почну з історії

Знаю по собі, що багатьом подобається почитати історію розвитку/успіху інших студентів JavaRush. Це навіть слушно мати до цього інтерес. Чужі помилки, правильні вчинки, переживання - все це може стати в нагоді комусь для прийняття рішення в реальній ситуації. Але також є ті, кому не дуже цікаві всі ці розповіді. Нижче йде одна з таких історій, і її прочитання залежить тільки від вашого бажання =) Перше моє знайомство з Android було влітку 2016 року. На той момент я ще не знав java в принципі. Зі знань був лише досвід в університетському програмуванні першого курсу на С/С++ та деякі знання у html/css верстці. Цього ж року у мене з'явився перший смартфон під керуванням OS Android. Пам'ятаю, як мене огорнуло дике бажання написати і запустити на ньому свою програму. Не гаючи часу я почав досліджувати. І виявилося, що основною мовою програмування для розробки під Android є java. Не зневірившись, я почав дивитися навчальні відео, в яких розповідалося як підготувати та налаштувати середовище розробки. Переглянувши в інтернеті всі курси, які на той момент були у безкоштовному доступі, найцікавішими і, на мою думку, добре спланованими виявабосяУроки Олександра Клімова. Пройшовши 18 уроків десь за 2 тижні, я подався у вільне плавання. У мене були свої ідеї і разом із гуглом я намагався їх втілити. Більшу частину розробки я проводив у xml розмітці – це візуальне подання екрану. Якщо виникала необхідність редагування безпосередньо java коду, то я просто вбивав в гугл опис того, що хотів отримати і копіював вже готовий код (найчастіше зі StackOverFlow). Далі в Android Studio правил його доти, доки він не буде працювати. Такий непродуктивний підхід дав мені ясно зрозуміти, що без знань основ java я далеко не просунуся. Через місяць мого пізнання Android за збігом обставин мені запропонували зайнятися розробкою android-додатків на фірмі, де працював мій батько iOS розробником. Природно про жодну зарплату не йшлося й мови, це була добровільна практика, і в разі, якщо мій код буде щось придатний його залишать у кінцевому продукті. Так і сталося, за місяць я більш-менш розібрався в xml верстці і зміг зробити редизайн багатьох екранів однієї з програм. Власник фірми повідомив, що результат моєї роботи був успішно проданий замовнику і видав мені винагороду в розмірі 100$. Так я залишився працювати в цій фірмі на дуже маленькій зарплаті, але з можливістю вчитися на реальних проектах. Копирсаючись днями в цих проектах, і не без допомоги добрих співробітників, я розібрався в java та в основних моментах android-розробки. Так місяць за місяцем я поєднував навчання в університеті з навчанням на роботі. Навесні 2017 року я дізнався про проект JavaRush від моєї одногрупниці, вона придбала підписку і пройшла більшу частину курсу. Мені стало цікаво, і я вирішив спробувати. Проходження безкоштовної частини JavaRush було мені, здебільшого, у дослідних цілях, т.к. мій рівень знань був вищим за цільову аудиторію курсу. Також мені було дуже важливим структурувати свої знання, т.к. свого часу я це пропустив, кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній здебільшого, у дослідних цілях, т.к. мій рівень знань був вищим за цільову аудиторію курсу. Також мені було дуже важливим структурувати свої знання, т.к. свого часу я це пропустив, кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній здебільшого, у дослідних цілях, т.к. мій рівень знань був вищим за цільову аудиторію курсу. Також мені було дуже важливим структурувати свої знання, т.к. свого часу я це пропустив, кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній мій рівень знань був вищим за цільову аудиторію курсу. Також мені було дуже важливим структурувати свої знання, т.к. свого часу я це пропустив, кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній мій рівень знань був вищим за цільову аудиторію курсу. Також мені було дуже важливим структурувати свої знання, т.к. свого часу я це пропустив, кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній кидаючись від теми до теми. Знаєте, пройшовши 10 рівнів та виконавши всі завдання, я отримав насолоду, як від прочитання дуже гарної книги! У знаннях нарешті все стало на свої місця. Не став рухатися далі через відсутність часу, а також через те, що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попередній що багато тем раніше були добре вивчені. Зараз продовжую працювати все в тій же фірмі вже на вищій ставці і з усмішкою згадую свої смішні завдання на самому початку шляху. Мотивацією написання статей є конкурс, а також необхідність структурувати свої знання та бажання поділитись ними, що я і зробив у своїй попереднійстатті про Reflection API .

Чому android-розробка перспективний напрямок для початківця java-програміста?

Почну з опису загальної картини того, що є android-розробкою і які знання необхідні для початку.
Чому Android-розробка?  З особистого досвіду.  Міркування та факти - 3
Серед усіх напрямків, у яких основним технічним інструментом є java, android-розробка найневимогливіша до знань саме цієї мови програмування. Багато можливостей java в android не використовуються у зв'язку з їхньою непотрібністю, а багато з них взагалі були виключені у певних версіях gradle збирача. У зв'язку з цим поріг входження за знаннями, безпосередньо java, на рівні пройдених JavaRush курсів: java core і java syntax. Звичайно не варто забувати про розуміння багатопоточності, тут такий досвід буде дуже доречним. З такими знаннями java ви почуватиметеся цілком впевнено. Пройдемося по UI (User Interface) частини android'a. Верстка або розташування елементів програми здійснюється за допомогою шарів xml. Тут вам необхідно комбінувати різні теги, щоб отримати очікуваний результат. Якщо ви мали справу з html версткою, то освоїться досить швидко. Але навіть якщо html вам не знайомий, то складного в цьому нічого немає, а кількість матеріалу на цю тему в інтернеті достатньо. Приклад xml розмітки в IDE Android Studio:
Чому Android-розробка?  З особистого досвіду.  Міркування та факти - 4
Далі, важливим моментом є знання та розуміння системи контролю версій git. Важко уявити розробку android-програми без цієї технології. Але й тут не потрібно бути розширеним фахівцем. Вам, як новачкові, рідко, коли доведеться виконувати складні маніпуляції з вашим репозиторієм. Також, якщо вам далеке використання терміналу і постійне введення якихось команд, а використання git'a має на увазі саме це, тобто популярна графічна оболонка SourceTreeяка намалює всі ваші гілки і дасть чітке розуміння, де ви знаходитесь. Що ж, тепер поговоримо про перспективи вибору напрямку Android-розробки. Незважаючи на вищесказане, за досить низьким порогом входження у вивчення android'a ховається ціла гора можливостей та шляхів розвитку! Android OS платформа, що досить швидко розвивається. Практичний щороку виходить нова версія, яка несе в собі нові фічі для користувачів та різноманітні плюшки для розробників. У зв'язку з цим ваша робота ніколи не перетвориться на рутину підтримки якоїсь певної стабільної версії, завжди буде щось нове, завжди куди рухатиметься. Наприклад, нещодавно Google оголосабо kotlin офіційною мовою розробки під Android. А також представабо нову архітектуру android-додатку з використанням патерну проектування MVVM (Model-View-ViewModel). Не варто забувати про популярність платформи:
Чому Android-розробка?  З особистого досвіду.  Міркування та факти - 5
У плані кар'єрного зростання вам не доведеться постійно кодувати спочатку за одну зарплату, а за деякий час за іншу і т.д. Останнім часом популярна така посада, як архітектор, завданням якого є курування та проектування додатків, просуваючи своє бачення його архітектури. При належних знаннях патернів проектування вам будуть відчинені і ці двері. Велика кількість гаджетів і пристроїв під керуванням Android говорить про те, що необов'язково писати тільки мобільні додатки. Можна займатися розробкою програм для годинників, телевізорів, автомобілів та навіть холодильників! Як бачите перспектив дуже багато, і цей список можна продовжувати, але боюся обсяг статті вийде не маленький. Але, щоб втілити всі ці можливості в реальність, я хочу поділитися з вами деякими порадами. Як уже говорилося вище, android розвивається з пристойною швидкістю, і багато елементів розробки просто старіють. Не витрачайте свій час на їхнє вивчення. Швидше за все на заміну таким вже прийшли нові, краще присвятіть свій час вивчення більш сучасних підходів. Завжди слухайте поради тих, хто довше вас працює в цій сфері, часом деякі поради цінніші за будь-яку інформацію в кути. А також не бійтеся просити поради у таких людей. Знайдіть собі джерело додаткової інформації по світу android, наприклад дайджести статей мобільного розробника часом деякі поради цінніші за будь-яку інформацію в гугле. А також не бійтеся просити поради у таких людей. Знайдіть собі джерело додаткової інформації по світу android, наприклад дайджести статей мобільного розробника часом деякі поради цінніші за будь-яку інформацію в гугле. А також не бійтеся просити поради у таких людей. Знайдіть собі джерело додаткової інформації по світу android, наприклад дайджести статей мобільного розробникахабре або інших популярних айті спільнотах. На цьому закінчуватиму. Сподіваюся, моя стаття допомогла вам уявити світ android-розробки, і ви винесли для себе трохи корисного =) Пишіть свої feedback'и у коментарі або підтримайте лайками. Всім спасибі та удачі в будь-яких напрямках java!
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ