Öncəliklə framework sözünün mübahisəli olduğunu düşünürəm. Hesab edirəm ki, hər hansı framework program təminatı yazılmasında hər tərəfdən və ya yazılma mərtəbələrini asanlaşdırmağa çalışan bir kitabxanadır. Yazılma mərtəbələri dediklərim databases, models, controllers, views, components, presenters, networks və s.
Framework yaradıcıları code yazarkən qarşılaşdığı böyük və bilinən problemlərin əksəriyyətini həll etməyə çalışır. Onlar sizin narahatlığınız olmayan dizayn qərarlarına malikdirlər. Həm də diqqətlə hazırlanmış qaydaları var.
Yaxşı framework-lərin eyni zamanda ağıllı defaultları var və konfiqurasiya konsepsiya qaydalarına həmişə sadiq qalırlar. Bu dediklərimə Ruby on Rails ən düzgün misal olardı. JavaScript tərəfdə isə bir çox frameworklər var. Angular, Ember, ReactJs, VueJs.
İndi gəldik ən önəmli suala: 2019-ci ildə hansı JavaScript frameworkü öyrənməlisiniz?
Cavab : Heç biri
İcazə verin səbəbini izah edim
Yalnız bir framework sadiq qalıb həmişə onunla işləyəcəyiniz bir sahədə və dövrdə deyilik. Bir framework necə istifadə edilməsi gərəkdiyini öyrənməniz çox önəm danışıyır. Çünkü frameworklər programlaşdırma dilləri kimi stabil deyillər, versiya arasında dəyişiklər çox ola bilir.
Framwork necə istifadə edilməsi gərəkdiyini hardan necə öyrənmək lazımdı ondan danışaq biraz. Bu çox dəyərli məlumatdır məncə. Bir frameworkü öyrənmək məqsədiniz yaxşı bir iş tapmaqdırsa heç vaxt onu yaxşı öyrənə bilməyəcəksiniz. Framework necə işləyir və necə istifadə edilməlidir deyə düşünsəniz sizin karyeranız üçün daha uzun müddətli və inkişaf etdirici olar.
Bir Frameworkü həqiqətən ona ehtiyaciniz olanda və bir tətbiqdə istifadə edəndə öyrənin. Yoxsa açıb videolar baxıb istifadə etməyəcəksinizsə, öyrənə də bilməyəcəksiniz deməkdir.
Daha çox axtarılan developer olmaq istəyisinizsə aşağıdakı bacarıqların sizdə olması gərəkdiyini düşünürəm.
- Native JavaScipt-i nə qədər mümkündürsə, öyrənməniz gərəkir. Onun yaxşı və ya pis tərəflərini dəqiq bilməlisiniz. Ancaq o zaman siz müasir framework-lərin hansı problemlərə çarə olduğunu anlayacaqsınız. JavaScript-də məlumat strukturlarını necə qurduğunu və istifadəsi haqqında məlumat əldə edin.
- Node və Browser kimi JavaScript işləmə mühitələrində necə işlədiyini öyrənin. Həmçinin event loop və VM’s call stacks haqqında məlumatlı olmanız gərəkir. DevTools-lardan istifadə etməyi öyrənməyiniz isə çox önəmlidir.
- Client və server tərəfləri arasında məlumat paylaşımı və ön yükləmə haqqında öyrənin. JavaScript yüklənməsi və Browser ayrışdırmasını(parsing) necə minimuma endirmək oları onu öyrənin.
- Funksional proqramlaşdırma əsaslarını öyrənin və istifadə edə biləcəyiniz konsepsiyaları istifadə edin. Balaca JavaScript libraryları öyrənin və onları balaca lahiyələrdə istifadə edin.
- Genişləndirilə bilən məlumat API’ları yaratmağı öyrənin.
- Css gücünü və CSS-ilə JavaScript kodunu necə qısalda bilcəyinizi öyrənin. Css FlexBox və Grid layout-larını və UI-Responsive dizayn necə olmalıdır.
- TypeScript-lə JavaScript-ə statik məlumat növləri əlavə etməyi öyrənin. Məlumat növlərin istifadə olunma qaydalarını öyrənin.
- JavaScript Testing sistemlərini öyrənin və istifadə edin.
Mənim fikrimcə, bunları düzgün bilən bir developer üçün ReactJs mi, Angular mı, VueJs mi sual çox mənasız qalacaq.
Oxuduğunuz üçün təşəkkür edirəm.