Angularjs vs Angular2 | farqi nima?

BurchaklarJS

O'tmishga nazar tashlasak, toza JavaScript API-dan foydalangan holda juda ilg'or veb-dasturlarni yaratish imkoniyati mavjud edi, lekin boshlang'ich kod bazasini saqlab qolish va barchasini sinash juda qiyin edi. Va keyin 2010 yilda AngularJS JavaScript MVW Framework sifatida taqdim etildi. Daraxtning katta afzalliklari bor edi, bu odamlarni sevishga majbur qildi:

  • Kod ishlab chiqarish juda tez edi
  • Har bir ilovani sinab ko'rish oson edi
  • Google loyihaning orqasida edi

Dasturchilar uchun burchakni juda yaxshi qiladigan boshqa narsalar ham bor. Birinchisi, ma'lumotlarning ikki tomonlama bog'lanishi. UI-da avtomatik ravishda UI-da aks ettirilishi uchun JavaScript-da o'zgartirilgan ma'lumotni ko'rish imkoniyatini berdi. Dastlab bu ishni rivojlantirishni ancha osonlashtirdi, chunki HTML-ga tegishli kontrolörni ulashdan tashqari boshqa kodlash talab qilinmadi. Angular dasturchilarga olib keladigan ikkinchi foyda - bu ko'rsatmalar. Ular hozirgi zamonaviy qismda biz ko'rib turgan barcha qismlarning boshlang'ich nuqtasi. Direktivalar ushbu kodni har qachongidan ko'proq ishlatishga va ajratishga imkon berdi. AngularJS qaramlik in'ektsiyasini majbur qildi va bu qaramlikni masxara qilishga yordam berdi. Uning ramka ichida ko'rinishi Angular dasturini sinovdan o'tkazishda oldinga katta qadam qo'ydi.

Ushbu afzalliklarning barchasi tobora ko'proq kompaniyalarga o'zlarining ilovalarini boshqa kutubxonalar ustiga o'rnatilgan echimlardan AngularJS-ga qayta yozishga olib keldi.

Burchak 2

AngularJS - bu ilova yoki MVP-ni tuzishning ajoyib usuli. Mashhurlikning oshib borishi va asosiy xususiyatlarga tobora ko'proq xususiyatlar qo'shilishi bilan, Angular jamoasi Angular 2-ni joriy etib, asl ramkani qayta yozishga qaror qilishdi. Ba'zilar "Angular 2" va "AngularJS" faqat bitta narsani bo'lishadilar: ism. AngularJS-dan Angular 2-ga o'tishning ng-yo'li mavjud (ng-modernizatsiya deb ataladi). Biroq, 2-burchak hali ham o'zidan oldingi odamlarning ba'zi tushunchalarini baham ko'rgan yangi ramka.

Ilova tuzilishining butun kontseptsiyasi 2-burchakda o'zgargan. Ilgari bu MVC doirasi bo'lib, sizga kontrollerlar, ko'rinishlar, xizmatlar va hokazo kabi bir-biriga bog'langan ob'ektlar ko'rinishida dasturlarni yaratishga imkon bergan. AngularJS-ning butun arxitekturasi quyidagicha edi:

img - ng1 arxitekturasi

Endi direktivalar kontseptsiyasi Web Component standartiga va dasturni tuzishning React usuliga yanada yaqinroq bo'lish uchun olib borildi. Bu 2-burchakdagi tarkibiy qismlar haqida. Bu shuni anglatadiki, butun dastur endi tarkibiy qism bo'lib, tarkibiy qismlarning boshqa to'plamini (o'zgarishi mumkin) o'z ichiga oladi. U daraxtga o'xshash tuzilish bilan tugaydi:

img - ng2 arxitekturasi

Angular 2 amaliy arxitekturasining maqsadi bir-biriga bog'liq bo'lmagan, iloji boricha yumshoq tarzda birlashtirilgan qismlarni yaratishdir.

Eng muhimi, tarkibiy qismlarni yaratishda ikkita usulni joriy qilish:

  • Aqlli komponentlar: ular dastur holati haqida bilishadi va ma'lumotlar olish yoki o'zgartirish uchun xizmatlar bilan bog'lanishlari mumkin.
  • Soqov tarkibiy qismlari: Ular faqat kirish va chiqishlarga ega bo'lishi kerak. Kirishga tegishli qiymatlarni taqdim etishda ular tizimning istalgan joyiga (yoki undan tashqarida ham) joylashishga tayyor va ular dastur holatining mavjudligi haqida bilmasliklari kerak.

Ishlash

Bunday tarkibiy qism daraxtiga ega bo'lish ishlashda katta farq qiladi. AngularJS-ning maqsadi eng samarali ramkani yaratish emas edi, lekin buning eng osonini yozish kerak edi. Ishlash ko'proq muammoga aylanganligi sababli, masalani hal qilish uchun Angular 2 taqdim etildi. AngularJS hazm qilish tsikliga ega bo'lib, o'zgarishlarni yuqoriga va pastga tushirishga imkon berdi. O'z navbatida, burchak 2, tarkibiy qismlarning yo'naltirilgan grafigiga ega, ular doimo bir marta tekshiriladi (ildizdan barglarga bitta shpal yo'li orqali). Angular yadro jamoasi a'zolarining so'zlariga ko'ra, ushbu o'zgarishlar Angular 2 ilovalari eng so'nggi AngularJS-da yaratilgan dasturlarga qaraganda 3-10 baravar tezroq ishlaydi.

Ekotizim

Dastlab www.laravelfeed.com da nashr etilgan.