Angularjs vs Angular2 | fərq nədir?

BucaqlıJS

Arxaya baxdıqda təmiz JavaScript API istifadə edərək çox inkişaf etmiş veb tətbiqetmələri yaratmaq imkanı var idi, ancaq ilkin kod bazasını qorumaq və hamısını sınamaq həqiqətən çətin idi. Və sonra 2010-cu ildə AngularJS JavaScript MVW Çərçivəsi olaraq təqdim edildi. Ağacın böyük üstünlükləri insanları sevməyə vadar etdi:

  • Kod istehsalı müqayisəsiz dərəcədə sürətli idi
  • Hər tətbiq parçası asanlıqla sınaqdan keçirildi
  • Google layihənin arxasında idi

Bucaqlıları proqramçılar üçün yaxşı edən digər şeylər də var. Birincisi, məlumatların iki tərəfli bağlanmasıdır. Uşağlı, UI-də avtomatik olaraq əks olunmaq üçün JavaScript-də dəyişdirilmiş məlumatları görməyə imkan verdi. Başlanğıcda inkişaf etməyi çox asanlaşdırdı, çünki lazımi bir nəzarətçini HTML hissəsinə bağlamaqdan başqa heç bir kodlaşdırma tələb olunmadı. Anguların proqramçılara gətirdiyi ikinci faydası direktivlərdir. Müasir cəbhədə gördüyümüz bütün komponentlər üçün başlanğıc nöqtəsidir. Direktivlər kodun əvvəlkindən daha çox istifadə olunmasına və ayrılmasına imkan verdi. AngularJS bir asılılıq inyeksiyasını məcbur etdi və asılılıqlara lağ etməkdə kömək etdi. Çərçivə içərisində görünüşü, Angular ön tətbiq tətbiqlərini sınaması vəziyyətində irəliyə doğru bir addım atdı.

Bütün bu üstünlüklər getdikcə daha çox şirkətə öz kitablarını digər kitabxanaların üstündə qurulmuş öz həlllərindən AngularJS-ə yazmağa vadar etdi.

Bucaq 2

AngularJS bir tətbiq və ya MVP başlamaq üçün əla bir yoldur. Artan populyarlıq və getdikcə daha çox xüsusiyyətləri nüvəyə gətirməklə, Angular komandası, Angular 2 təqdim edərək orijinal çərçivəni yenidən yazmaq qərarına gəldi. Bəziləri Angular 2 və AngularJS yalnız bir şeyi bölüşürlər: ad. AngularJS-dən Angular 2-ə köçmə yolu (ng-yükseltme deyilir) var. Lakin, Angular 2 hələ də sələfinin yalnız bəzi anlayışlarını bölüşən yeni bir çərçivədir.

Tətbiq quruluşunun bütün konsepsiyası 2-ci bucaqda dəyişdi. Əvvəllər nəzarətçilər, görüşlər, xidmətlər və s. Kimi bir-birinə daha çox bağlanan qurumlar şəklində tətbiqlər yaratmağa imkan verən MVC çərçivəsi idi.

img - ng1 memarlığı

İndi direktivlər konsepsiyası Veb Komponentləri standartına və Tətbiqin Strukturlaşdırma Reaksiyasına daha yaxın olmaq üçün daha da itələdi. Bütün bunlar 2-ci bucaqdakı komponentlərə aiddir. Demək ki, bütün tətbiqetmələr indi başqa bir komponent dəsti olan (yönləndirilə bilən) bir tərkib hissəsidir. Ağac kimi bir quruluşla bitir:

img - ng2 memarlığı

Angular 2 tətbiqi arxitekturasının məqsədi bir-birindən asılı olmayan, mümkün qədər rahat birləşdirilmiş komponentlər yaratmaqdır.

Əhəmiyyətli olan, komponentləri yaratmaq üçün iki yol təqdim etməkdir:

  • Ağıllı komponentlər: tətbiqetmə vəziyyəti haqqında məlumat əldə edirlər və məlumatları almaq və ya dəyişdirmək üçün xidmətlər ilə əlaqə qura bilərlər.
  • Lal komponentlər: Yalnız giriş və çıxış olmalıdır. Girişə düzgün dəyərlər verdikdə sistemin hər hansı bir yerində (və ya hətta kənarda) yerləşdirməyə hazırdırlar və tətbiq vəziyyətinin mövcudluğu barədə bilməməlidirlər.

Performans

Belə bir ağac ağacına sahib olmaq, performansda böyük bir fərq yaradır. AngularJS ilə məqsəd ən səmərəli çərçivə yaratmaq deyildi, əvəzinə yazmaq asan oldu. Performans daha çox problemə çevrildiyi üçün məsələni həll etmək üçün Angular 2 təqdim edildi. AngularJS dəyişiklikləri yuxarı və aşağı tetiklemeye imkan verən həzm dövrünə sahib idi. Bucaq 2, əksinə, həmişə bir dəfə yoxlanılan (kökdən yarpaqlara qədər bir yolverici yola görə) komponentlərin istiqamətli bir qrafikinə malikdir. Angular əsas komanda üzvlərinin fikrincə, bu dəyişikliklər Angular 2 tətbiqetmələrini ən son AngularJS ilə yaradılmış eyni tətbiqlərdən 3-10x daha sürətli işləyir.

Ekosistem

Əvvəlcə www.laravelfeed.com saytında yayımlandı.