انگولار یک سکو و چارچوب برای تولید برنامه های سمت کلاینت در زبان Html و Typescript است. انگولار در زبان تایپاسکریپت نوشته شده است که هسته و عملکرد های انتخابی را به عنوان مجموعه ای از کتابخانه های تایپاسکریپت پیاده سازی کرده است تا شما آنها را در برنامه خود وارد کنید (import) و از آنها بهره ببرید.
از بلوک های اساسی ساختمان یک برنامه انگولار NgModule ها هستند که یک بستر برای کامپایل شدن Component ها، فراهم می کنند. NgModule ها کد های مرتبط را در داخل مجموعه های عملکردی، مجتمع می کنند که یک اپ انگولاری با مجموعه ای از آنها تعریف می شود.
یک اپ همیشه حداقل دارای یک ماژول root است که عملیات بالا آمدن و بوت شدن را ممکن میکند و معمولا دارای تعداد زیادی ماژول های feature (ویژگی های افزوده شده) خواهد بود.
- کامپوننت ها view ها را تعریف میکنند که آنها مجموعه هایی از عناصر صفحه هستند که انگولار می تواند در داخل آنها انتخاب و تغییر بر اساس منطق و داده برنامه شما، ایجاد کند.
- کامپوننت ها از service ها استفاده می کنند که یک عملکرد مشخص را که بطور مستقیم با view در ارتباط نیست، فراهم می کنند. فراهم کنندگان service می توانند در component ها بعنوان وابستگیها تزریق شوند تا کد شما را ماژولار، قابل استفاده مجدد و کارا ، بنمایند.
هردوی component و service ها کلاس های ساده ای هستند با decorator ها که نوع آنها را علامت گذاری و ابرداده ای فراهم می کند که به انگولار میگوید چگونه از آن کلاس ها باید استفاده کند.
- ابرداده (metadata) کلاس کامپوننت را به یک template که یک view را مشخص میکند، مرتبط میکند. یک template فایل html معمولی را با دستورالعمل ها و نشانه گذاری های انگولار ترکیب میکند که به آن اجازه می دهد تا قبل اینکه html را برای نمایش تفسیر کند، تغییر دهد.
- یک ابرداده کلاس سرویس را مجهز به اطلاعاتی می کند که انگولار نیاز دارد تا آن را برای کامپوننت ها از طریق مکانیزم تزریق وابستگی (DI) در دسترس قرار دهد.
کامپوننت ها یا همان اجزای یک برنامه بطور معمول نماها یا view های زیادی تعریف می کنند که بصورت سلسله مراتبی مرتب شده اند. انگولار سرویس Router را برای کمک به شما فراهم کرده است که وظیفه ی ایجاده مسیرهای ناوبری به view ها را برعهده دارند.آن سرویس قابلیت های پیشرفته ناوبری در مرورگر را به شما ارائه می دهد.
منبع : angular.io