Əgər siz hələ də java biliklərini harada tətbiq edəcəyinizə qərar verməyənlərdənsinizsə, bu məqalə mütləq sizin üçündür. Məqalədə android inkişafı kimi bir istiqamət müzakirə olunur. Necə bir Android inkişaf etdiricisi olmağımın hekayəsi. Android inkişafını seçmək üçün məsləhətlər və perspektivlər. Gəlin!
Niyə Android inkişafı?  Şəxsi təcrübədən.  Əsaslandırma və faktlar - 1
Salam JavaRush tələbələri! Bir çoxunuz artıq İT sahəsində hansı sənayelərin sevimli java-dan istifadə etdiyi barədə təsəvvürünüz var. Ola bilsin ki, bəziləriniz artıq qərar verib və seçiminizi edib. Bu yazıda sizə necə bir Android proqramçısı olduğumu izah edəcəyəm. Niyə bu istiqamətin ən perspektivli olduğunu düşündüyümü izah edəcəyəm. Mən sizə Android inkişafının nə olduğunu başa düşəcəm. Və əlbəttə ki, Android proqramçısı kimi karyeranıza uğurlu başlanğıc üçün məsləhətləri paylaşacağam.
Niyə Android inkişafı?  Şəxsi təcrübədən.  Əsaslandırma və faktlar - 2

Tarixdən başlayacağam

Özümdən bilirəm ki, bir çox insanlar digər JavaRush tələbələrinin inkişaf/uğur hekayələrini oxumağı xoşlayır. Hətta bununla maraqlanmaq da düzgündür. Başqalarının səhvləri, düzgün hərəkətləri, təcrübələri - bütün bunlar kiminsə real vəziyyətdə qərar verməsi üçün faydalı ola bilər. Amma bütün bu hekayələrlə xüsusilə maraqlanmayanlar da var. Aşağıda bu hekayələrdən biri var və onu oxumaq yalnız sizin istəyinizdən asılıdır =) Android ilə ilk tanışlığım 2016-cı ilin yayında olub. O vaxtlar Java dilini heç bilmirdim. Məndə olan yeganə bilik C/C++-da universitetin birinci kurs proqramlaşdırmasında təcrübəm və html/css tərtibatı üzrə bəzi biliklər idi. Elə həmin il Android əməliyyat sistemi ilə işləyən ilk smartfonumu aldım. Öz ərizəmi yazmaq və işə salmaq istəyinin necə baş verdiyini xatırlayıram. Vaxt itirmədən araşdırmaya başladım. Və məlum oldu ki, Android inkişafı üçün əsas proqramlaşdırma dili javadır. Çarəsiz deyildim, inkişaf mühitini necə hazırlamağı və konfiqurasiya etməyi izah edən təlim videolarına baxmağa başladım. İnternetdə o dövrdə sərbəst mövcud olan bütün kurslara baxdıqdan sonra ən maraqlı və mənim fikrimcə yaxşı planlaşdırılan Alexander Klimovun Dərsləri idi.. Təxminən 2 həftə ərzində 18 dərsi bitirdikdən sonra pulsuz üzgüçülük üçün yola düşdüm. Mənim öz ideyalarım var idi və Google ilə birlikdə onları həyata keçirməyə çalışdım. Mən inkişafın çoxunu xml işarələməsində həyata keçirdim - bu ekranın vizual təsviridir. Birbaşa java kodunu redaktə etmək zərurəti yaranarsa, mən sadəcə olaraq Google-a əldə etmək istədiklərimin təsvirini yazdım və hazır kodu kopyaladım (ən çox vaxt StackOverFlow-dan). Sonra Android Studio-da işləyənə qədər redaktə etdim. Bu qeyri-məhsuldar yanaşma mənə aydın etdi ki, Java dilinin əsaslarını bilmədən çox uzağa gedə bilməyəcəm. Android haqqında bir ay biliklərimdən sonra təsadüfən atamın iOS tərtibatçısı kimi çalışdığı şirkətdə mənə Android proqramları hazırlamaq təklifi gəldi. Təbii ki, heç bir maaşdan söhbət gedə bilməzdi, bu, könüllü bir təcrübə idi və kodum nəyəsə faydalı olsaydı, son məhsulda qalardı. Və belə oldu, bir ay ərzində mən xml tərtibatını az-çox başa düşdüm və proqramlardan birinin bir çox ekranını yenidən dizayn edə bildim. Şirkət sahibi işimin nəticəsinin müştəriyə uğurla satıldığını bildirdi və mənə 100 dollar mükafat verdi. Beləliklə, mən bu şirkətdə çox, çox, çox az maaşla, lakin real layihələrdən öyrənmək imkanı ilə işləmək üçün qaldım. Günlərlə bu layihələri araşdırdıqdan sonra və mehriban işçilərin köməyi olmadan mən java və android inkişafının əsas məqamlarını anladım. Beləliklə, aydan-aya universitetdəki təhsilimi işdəki təhsilimlə birləşdirdim. 2017-ci ilin yazında JavaRush layihəsi haqqında sinif yoldaşımdan öyrəndim, o, abunə aldı və kursun çox hissəsini başa vurdu. Maraqlandım və sınamağa qərar verdim. JavaRush-un pulsuz hissəsindən keçmək mənim üçün əksər hallarda tədqiqat məqsədləri üçün idi, çünki... bilik səviyyəm kursun hədəf auditoriyasından yüksək idi. Biliyimi strukturlaşdırmaq da mənim üçün çox vacib idi, çünki... Mövzudan-mövzüyə tələsik bir dəfə bunu qaçırdım. Bilirsiniz, 10 səviyyəni keçdikdən və bütün tapşırıqları yerinə yetirdikdən sonra çox yaxşı bir kitab oxumaqdan həzz aldım! Bilikdə hər şey nəhayət öz yerinə düşdü. Vaxt az olduğundan, həm də bir çox mövzular əvvəllər yaxşı öyrənildiyindən irəli getmədim. İndi eyni şirkətdə daha yüksək templə işləməyə davam edirəm və karyeramın ən əvvəlindəki gülməli tapşırıqlarımı təbəssümlə xatırlayıram. Məqalələr yazmaq üçün motivasiya müsabiqədir, həmçinin biliklərinizi strukturlaşdırmaq ehtiyacı və onu bölüşmək istəyidir, mən Reflection API haqqında əvvəlki məqaləmdə bunu etdim .

Niyə Android inkişafı başlanğıc Java proqramçısı üçün perspektivli istiqamətdir?

Mən Android inkişafının nə olduğunu və işə başlamaq üçün hansı biliklərin lazım olduğunun ümumi mənzərəsini təsvir etməklə başlayacağam.
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 3
Əsas texniki aləti java olan bütün sahələr arasında android inkişafı bu xüsusi proqramlaşdırma dilini bilmək baxımından ən tələbsizdir. Android-də bir çox java funksiyaları yararsız olduğuna görə istifadə edilmir və onların bir çoxu gradle builder-in müəyyən versiyalarında tamamilə istisna edilmişdir. Bu baxımdan, java-nın özünü bilmək üçün giriş həddi tamamlanmış JavaRush kursları səviyyəsindədir: java core və java sintaksisi. Əlbəttə ki, çox iş parçacığını başa düşməyi unutmamalısınız, burada belə təcrübə çox faydalı olacaqdır. Bu cür Java bilikləri ilə özünüzü kifayət qədər inamlı hiss edəcəksiniz. Android-in UI (İstifadəçi İnterfeysi) hissəsindən keçək. Tətbiq elementlərinin düzülüşü və ya düzülüşü xml təbəqələrindən istifadə etməklə həyata keçirilir. Burada gözlənilən nəticəni əldə etmək üçün müxtəlif etiketləri birləşdirməlisiniz. Əgər html tərtibatı ilə məşğul olmusunuzsa, onu çox tez mənimsəyəcəksiniz. Ancaq html ilə tanış olmasanız belə, bunda mürəkkəb bir şey yoxdur və İnternetdə bu mövzuda kifayət qədər material var. Android Studio IDE-də xml işarələmə nümunəsi:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 4
Sonra, vacib bir məqam git versiyasına nəzarət sistemi haqqında bilik və anlayışdır. Bu texnologiya olmadan Android tətbiqetməsini inkişaf etdirməyi təsəvvür etmək çətindir. Ancaq burada qabaqcıl mütəxəssis olmaq lazım deyil. Bir başlanğıc olaraq, deponuzla nadir hallarda mürəkkəb manipulyasiyalar etməli olacaqsınız. Həmçinin, əgər terminaldan istifadə etmək və davamlı olaraq bəzi əmrləri daxil etmək sizə yaddırsa və git istifadə etmək məhz bunu nəzərdə tutursa, o zaman məşhur SourceTree qrafik qabığı var ki, bütün budaqlarınızı çəkəcək və harada olduğunuzu aydın şəkildə başa düşəcək. Yaxşı, indi Android-in inkişaf istiqamətini seçmək perspektivləri haqqında danışaq. Yuxarıda göstərilənlərə baxmayaraq, Android-i öyrənməyə girişin kifayət qədər aşağı həddinin arxasında çoxlu imkanlar və inkişaf yolları var! Android OS kifayət qədər sürətlə inkişaf edən platformadır. Demək olar ki, hər il istifadəçilər üçün yeni funksiyalar və tərtibatçılar üçün müxtəlif hədiyyələr gətirən yeni versiya buraxılır. Bu baxımdan, işiniz heç vaxt müəyyən bir sabit versiyanın dəstəklənməsi rutinə çevrilməyəcək, həmişə yeni bir şey olacaq, həmişə hərəkət etmək üçün bir yer olacaq. Məsələn, bir müddət əvvəl Google kotlin-i Android üçün rəsmi inkişaf dili elan etdi. Onlar həmçinin MVVM (Model-View-ViewModel) dizayn nümunəsindən istifadə edərək Android tətbiqi üçün yeni arxitektura təqdim etdilər. Platformanın populyarlığını unutma:
Почему Android-разработка? Из личного опыта. Рассуждения и факты - 5
Karyera artımı baxımından bir maaş üçün əvvəlcə kodlaşdırmalı olmayacaqsınız, bir müddət sonra isə digəri üçün və s. Bu yaxınlarda məşhur bir mövqe, vəzifəsi tətbiqlərə nəzarət etmək və layihələndirmək, onun memarlığına dair baxışını təbliğ etmək olan bir memar mövqeyidir. Dizayn nümunələri haqqında düzgün məlumatla bu qapılar sizin üçün açıq olacaq. “Android” sistemi ilə işləyən çoxlu sayda qadcet və qurğular onu deməyə əsas verir ki, yalnız mobil proqramlar yazmaq lazım deyil. Siz saatlar, televizorlar, avtomobillər və hətta soyuducular üçün proqramlar hazırlaya bilərsiniz! Gördüyünüz kimi, çoxlu perspektivlər var və bu siyahını davam etdirmək olar, amma məqalənin uzunluğu kifayət qədər böyük olacağından qorxuram. Amma bütün bu imkanları reallaşdırmaq üçün bəzi məsləhətləri sizinlə bölüşmək istəyirəm. Yuxarıda qeyd edildiyi kimi, Android layiqli sürətlə inkişaf edir və bir çox inkişaf elementləri sadəcə köhnəlir. Onları öyrənmək üçün vaxtınızı itirməyin. Çox güman ki, yeniləri artıq onları əvəz edib, vaxtınızı daha müasir yanaşmaları öyrənməyə həsr etmək daha yaxşıdır. Həmişə sizdən daha uzun müddət bu sahədə çalışanların məsləhətlərinə qulaq asın, bəzən bəzi məsləhətlər Google-da hər hansı bir məlumatdan daha dəyərlidir. Həm də belə insanlardan məsləhət istəməkdən çəkinməyin. Özünüzə Android dünyası haqqında əlavə məlumat mənbəyi tapın, məsələn, Habré və ya digər məşhur İT icmalarında mobil tərtibatçı məqalələrinin həzmləri. Mən burada bitirəcəm. Ümid edirəm məqaləm Android inkişaf dünyasını təsəvvür etməyə kömək etdi və bir az faydalı oldunuz =) Rəyinizi şərhlərdə yazın və ya bəyənmələrlə dəstək olun. Hamınıza təşəkkür edirəm və istənilən java istiqamətində uğurlar!