AngularJS — Google xodimi Misko Xevery tomonidan boshlangan va 2010-yilda ochiq manba sifatida taqdim etilgan JavaScript freymvorki. U veb-ilovalar dunyosida ikki tomonlama ma’lumot bog’lash (two-way data binding) g’oyasini ommalashtirgan birinchi yirik freymvorklardan biri hisoblanadi.
Misko Hevery va Google tomonidan yaratilishi
Rivoyatga ko’ra, Xevery ichki loyiha ustida ishlayotganda, uning kichik qismini shaxsiy vaqtida qayta yozib, buni ancha kamroq kod bilan amalga oshirgan — bu tajriba AngularJS’ning asosiy g’oyalariga turtki bo’lgan. Google keyinchalik loyihani rasman qo’llab-quvvatishni boshladi.
Ikki tomonlama ma’lumot bog’lash innovatsiyasi
AngularJS’ning eng inqilobiy xususiyati — HTML shablonidagi element va JavaScript o’zgaruvchisi orasida avtomatik, ikki tomonlama sinxronlashni ta’minlashi edi. Foydalanuvchi forma maydoniga matn kiritganda, tegishli o’zgaruvchi avtomatik yangilangan, dasturchi buni qo’lda yozish zarurati yo’q edi — bu o’sha davr uchun katta yutuq hisoblangan.
MVW arxitekturasi
AngularJS o’zini qat’iy MVC (Model-View-Controller) emas, balki “Model-View-Whatever” (MVW) deb tavsiflagan, chunki u dasturchiga controller, service yoki boshqa turli tuzilmalardan foydalanish erkinligini bergan. Bu moslashuvchanlik freymvorkni turli xil arxitektura uslublariga moslashtirgan.
Angular’ga qayta yozilishi
2016-yilda Google AngularJS’ni davom ettirish o’rniga, uni butunlay yangi, TypeScript asosidagi “Angular” (raqamsiz, “2” versiyasidan boshlab) bilan almashtirdi. Bu ikki freymvork texnik jihatdan deyarli mos kelmaydi, AngularJS’dan Angular‘ga o’tish esa amalda to’liq qayta yozishga teng bo’lgan.
Rasmiy qo’llab-quvvatlashning tugashi
Google AngularJS uchun rasmiy uzoq muddatli qo’llab-quvvatlashni 2022-yil yanvar oyida to’xtatdi, bu esa freymvorkning rasmiy hayot tsiklini yakunladi. Shunga qaramay, ko’plab eski, o’nlab yil oldin yozilgan veb-ilovalar hamon AngularJS asosida ishlashda davom etmoqda, chunki ularni to’liq qayta yozish sezilarli xarajat talab qiladi.
Bog’liq tushunchalar
Angular, Google, JavaScript, Two-way data binding, MVC arxitekturasi, TypeScript