znaleźli dość dobre wyjaśnienie here ..
TLDR;
Zasadniczo kompilujemy kod dwukrotnie z aplikacjami angular2, raz, gdy konwertujemy TS na JS, a następnie gdy przeglądarka konwertuje JS na binarny.
Chociaż nie możemy kontrolować tego drugiego, możemy jednak kontrolować, kiedy wykonywana jest kompilacja z TS do JS.
W przypadku metody angle2, jeśli używasz JIT (domyślnie), obie kompilacje występują po wczytaniu kodu do przeglądarki (tzn. TS -> JS -> binarny).Nie tylko jest to dodatkowe obciążenie związane z kompilacją TS -> JS w przeglądarce, ale także kompilator angular2 jest prawie o połowę mniejszy od pakietu angular2, więc jeśli tego unikniemy, możemy zmniejszyć rozmiar pliku ładunek znacząco.
AOT precomplies TS kod JS, co skraca czas kompilacji, jak również wielkości kodu, likwidując potrzebę kątowego kompilatora co stanowi 50% kodu
Również doświadczyłem bardzo słaba wydajność podczas korzystania z kompilacji Just-in-Time, zwłaszcza na starszych urządzeniach z Androidem. Ponadto luka w renderowaniu przy ładowaniu pierwszej strony jest znacznie większa (na starszych urządzeniach z systemem Android do 10 sekund w zależności od wielkości projektu). –
Dziękuję za to jasne i proste wyjaśnienie. –
Maszynopis nie jest skompilowany w samą porę, przeglądarka nie może tego zrobić. W obu przypadkach maszynopis jest kompilowany podczas procesu kompilacji. – Robouste