Angular — Google tomonidan ishlab chiqilgan, TypeScript asosidagi to’liq huquqli veb-freymvork. Hozirgi Angular (2016-yildan boshlab) 2010-yilda taqdim etilgan AngularJS‘ning butunlay qayta yozilgan versiyasi bo’lib, ikkalasi texnik jihatdan deyarli mos kelmaydi, garchi nom o’xshash bo’lsa-da.
AngularJS’dan Angular’gacha bo’lgan qayta yozish
AngularJS mobil qurilmalar va yirik ilovalar uchun samaradorlik muammolariga duch kelgach, Google jamoasi uni tuzatish o’rniga butunlay yangi arxitektura bilan qayta yozishga qaror qildi. Bu qaror jamoat orasida munozaraga sabab bo’ldi, chunki AngularJS loyihalarini yangi Angular’ga o’tkazish avtomatik emas, balki amalda qayta yozishga teng edi.
TypeScript asosida qurilishi
Angular boshidanoq Microsoft’ning TypeScript tilida yozish uchun loyihalashtirilgan, bu esa katta jamoalarga statik tur tekshiruvi orqali xatolarni kompilyatsiya bosqichidayoq aniqlash imkonini beradi. Bu tanlov React kabi JavaScript‘ga asoslangan kutubxonalardan farqli o’laroq, Angular’ni boshidanoq korporativ, yirik jamoalar uchun mo’ljallangan qildi.
To’liq freymvork yondashuvi
React faqat interfeys qatlamiga e’tibor qaratuvchi kutubxona bo’lsa, Angular marshrutlash, forma boshqaruvi, HTTP so’rovlari va dependency injection kabi imkoniyatlarni o’z ichiga olgan to’liq freymvork hisoblanadi. Bu “batteries included” yondashuv dasturchiga qo’shimcha kutubxonalar tanlash zaruratini kamaytiradi, ammo freymvorkni o’rganish egri chizig’ini oshiradi.
Ikki tomonlama bog’lash
Angular’ning mashhur xususiyatlaridan biri — ikki tomonlama ma’lumot bog’lash (two-way data binding), unda interfeys elementi (masalan, matn maydoni) va u bilan bog’langan o’zgaruvchi bir-birini avtomatik sinxronlaydi: foydalanuvchi matn kiritganda o’zgaruvchi yangilanadi, o’zgaruvchi kod orqali o’zgartirilganda esa interfeys yangilanadi.
React bilan qiyoslash
Angular to’liq freymvork sifatida barcha qarorlarni oldindan belgilagan holda taqdim etadi, React esa kutubxona sifatida dasturchiga ko’proq erkinlik va tanlov qoldiradi. Bu farq ko’pincha jamoa hajmi va loyiha turi bo’yicha tanlov mezoniga aylanadi: qat’iy tuzilishga muhtoj yirik korporativ loyihalar ko’pincha Angular’ni, moslashuvchanlik istagan jamoalar esa React‘ni afzal ko’radi.
Bog’liq tushunchalar
TypeScript, Google, React, Dependency injection, Komponent, Marshrutlash, Two-way data binding