Bazı cevaplar olmasına rağmen, bazı bulgularımı da eklemek isterim, çünkü her durumda olduğu gibi gerçekte derlenen şeyle gerçekten kafam karıştı , TS
-> JS
dönüşüm gerçekleşir. Referans olarak Jeff'in blogundan biraz para alıyorum .
JIT
TS
Geliştirici tarafından yazılan kod derlenmiş JS
kod. Şimdi, bu derlenen js
kod, html
kullanıcı eylemine göre dinamik olarak oluşturulabilmesi için tarayıcı tarafından tekrar derlenir ve buna göre kodlar angular
(bileşenler için, değişiklik algılama, Bağımlılık Enjeksiyonu) çalışma zamanında da oluşturulur.
(Tarayıcı derleyicisi, bir uygulamanın yönergelerini ve bileşenlerini karşılık gelen HTML ve CSS'leriyle birlikte alan ve tüm görünüm oluşturma mantığıyla örnekleri hızlı bir şekilde damgalamak için bileşen fabrikaları oluşturan şeydir.)
Bir Angular 2 uygulaması tarayıcıda önyüklendiğinde, JIT derleyicisi, uygulamadaki bileşenleri çalışma zamanında analiz etmek ve bellekte kod oluşturmak için çok fazla çalışma gerçekleştirir. Sayfa yenilendiğinde, yapılan tüm işler atılır ve JIT derleyicisi işi baştan yapar.
AOT
TS
Geliştirici tarafından yazılan kod derlenmiş JS
kod bu js
zaten de açısal için derlenmiştir . Şimdi, bu derlenen js
kod, tarayıcı tarafından yeniden derlenebilmesi için yeniden derlenir html
. Ancak, buradaki püf noktası, özelliklerinin derleyici angular
tarafından halihazırda halledilmiş olması AOT
ve dolayısıyla tarayıcının bileşen oluşturma, değişiklik algılama, Bağımlılık Enjeksiyonu hakkında fazla endişelenmesine gerek olmamasıdır . Böylece sahibiz :
Daha hızlı render
AOT ile tarayıcı, uygulamanın önceden derlenmiş bir sürümünü indirir. Tarayıcı çalıştırılabilir kodu yükler, böylece önce uygulamayı derlemeyi beklemeden uygulamayı hemen oluşturabilir.
Daha az eşzamansız istek
Derleyici, harici HTML şablonlarını ve CSS stil sayfalarını uygulama JavaScript'i içinde satır içine alarak bu kaynak dosyalar için ayrı ajax isteklerini ortadan kaldırır.
Daha küçük Açısal çerçeve indirme boyutu
Uygulama zaten derlenmişse, Angular derleyicisini indirmeye gerek yoktur. Derleyici, Angular'ın kabaca yarısıdır, bu nedenle onu atlamak, uygulama yükünü önemli ölçüde azaltır.
Şablon hatalarını daha önce tespit edin
AOT derleyicisi, kullanıcılar görmeden önce derleme adımı sırasında şablon bağlama hatalarını algılar ve bildirir.
Daha iyi güvenlik
AOT, HTML şablonlarını ve bileşenlerini istemciye sunulmadan çok önce JavaScript dosyalarına derler. Okunacak şablon ve riskli istemci tarafı HTML veya JavaScript değerlendirmesi olmadığından, enjeksiyon saldırıları için daha az fırsat vardır.
Geriye kalan farklılıklar, Benyamin, Nisar ve Gaurang'ın madde işaretlerinde zaten ele alınmıştır.
Beni düzeltmek için çekinmeyin