کامپایلرهای angular

Angular سه نوع کامپایلر مختلف دارد. JiT ، AoT و IVY. در این مقاله به صورت ساده سعی میکنیم این سه کامپایلر را برای شما معرفی کنیم.

JiT (Just in Time) کامپایلر پیش فرض angular می باشد. این کامپایلر در browser اقدام به کامپایل فایل های برنامه می کند. در این روش بدلیل آنکه کامپایلر به مرورگر ارسال می شود حجم فایل وبسایت افزایش پیدا می کند و علاوه بر آن بدلیل کامپایل برنامه در کلاینت سرعت لود در اولین request کم می باشد. 
در این روش خطاهای سمت template در هنگام نمایش برنامه مشخص می شود و در حین build امکان مشاهده خطاها وجود ندارد.
این روش کامپایل مناسب برای حالت development می باشد چون build پروژه در این حالت زمان کمتری می برد. (توجه کنید که build با compile متفاوت است.)
برای استفاده از این روش از دستور ng build و یا ng serve استفاده می شود.
AoT (Ahead of Time) در بارگزاری برنامه سریع تر از JiT عمل می کند. در این روش فایل ها در سمت سرور کامپایل می شوند. و خروجی آن به کلاینت ارسال  می شود همچنین نیازی به ارسال کامپایلر به مرورگر نمی باشد که نتیجه این دو مورد افزایش سرعت بارگزاری برنامه می باشد.
در این روش خطاهای template در هنگام build مشخص می شود. 
برای استفاده از این روش از دستور ng build –aot یا ng serve –aot می توان استفاده کرد.
جدیدترین کامپایلر angular که با نسخه 8 آن عرضه شد ivy نام دارد. 
مهمترین ویژگی این کامپایلر کاهش سایز bundle پروژه است و نتیجتا باعث افزایش سرعت بارگزاری می شود.
از دیگر ویژگی های این کامپایلر نمایش جزییات بیشتر در خطاهاست.
همچنین امکان لود داینامیک نیز در این کامپایلر مهیا شده است بدین صورت که می توانید به عنوان مثال می توانید یک کامپوننت را در داخل یک کامپوننت دیگر به صورت داینامیک import کرد و از آن استفاده کرد.