انگولارچیست؟ مرور جامع بر مزایا و معایب این فریمورک قدرتمند

what-is-angular
تاریخ بروزرسانی : 31 خرداد 1400 | تعداد بازدید : 1706 | زمان خواندن مقاله : 15 دقیقه
Angular،

خب عزیزان تو دورهمی دوستانه امروز میخوایم درباره انگولار چیست، صحبت کنیم که حتما اسم اونو بین فریمورک‌های جاوا اسکریپت شنیده‌اید، اما شاید اطلاعات زیادی راجع‌به اون نداشته باشید. پس تا آخر این دورهمی ما رو همراهی کنید.

از انگولار به عنوان فرزند طلایی فریمورک‌های جاوا اسکریپت نام برده میشه که توسط کمپانی Google در سال 2012 معرفی شد. طراحی مدل این فریمروک قدرتمند، بر اساس MVC و با جاوا اسکریپت نوشته شده که به راحتی میتونید صفحات داینامیک خودتون رو طراحی و مدام اونا رو به روزرسانی کنید. موضوع جالب اینه که با امکانات گسترده انگولار میتونید اپلیکیشن‌های تک صفحه‌ای ایجاد کنید.

تاریخچه انگولار چیست:

فریمورک انگولار تونست در زمان کوتاهی، مخاطبای زیادی رو به خودش جذب کنه و نسخه‌های مختلفی از Angular JS رو وارد بازار کنه.

AngularJS، در بروزرسانی بعدی با نام Angular 2 معرفی شد و دیگه خبری از پسوند JS نبود که باعث شد افراد بسیاری فکر کنن که نسخه دیگه‌ای از انگولار هست، در صورتی که اینطوری نبود و همون Angular سابق بود. اما این بار کاملا بازنویسی و بهینه شد و طراحی جدیدی رو به خودش گرفت و بسیاری از موارد در انگولار 2 بهبود یافت.

بالاخره نسخه قابل استفاده از Angular 2 در سال 2016 منتشر شد و از اون به بعد همه، نسخه جدید انگولار رو برای استفاده انتخاب کردند. اما مهمترین ویژگی Angular 2، کراس پلتفرم بودن آن یا پشتیبانی از چند دستگاهی بودن اون هست که می‌تونید به طور همزمان برای پلتفرم‌های وب، موبایل و حتی دسکتاپ طراحی کنید.

به روز رسانی‌های فریم ورک انگولار تا جایی پیش رفت که سرانجام در نوامبر سال 2017، انگولار 5 وارد بازار شد و امکانات تقریبا مشابه‌ای برای کاربرانش عرضه کرد که تفاوت چندانی با نسخه‌های قبل نداشت. ولی باید ببینیم تو به روز رسانی‌ها و نسخه‌های آینده شاهد چه تغییراتی خواهیم بود.

 

پیشنهاد ویژه: صفر تا صد آموزش html css را می توانید به صورت کاملا حرفه ای و آسان یاد بگیرید و متخصص شوید

 

AngularJS چیست؟

اگر بخوایم یه تعریف از AngularJS بر اساس مستندات رسمی داشته باشیم:

"انگولار، یک فریمورک ساخت‌‌یافته برای وب‌‌اپلیکیشن‌های پویاست که علاوه بر استفاده از HTML برای طراحی قالب، باعث میشه بتوانید سینتکس‌های HTML رو طوری گسترش بدین تا جزئیات وب‌اپلیکیشن‌ها هم به وضوح بیان بشه."

از اونجایی که هسته انگولار از جاوا اسکریپت هست شما باید برای ایجاد محتویات فریمورک، از زبان جاوا اسکریپت استفاده کنید. پس اگه با جاوا اسکریپت آشنا باشین یادگیری انگولار برای شما راحت‌تر خواهد بود.

آنگولار جی‌اس چه مزایایی دارد؟

نوبتیم که باشه میرسیم به مزایا انگولار که عبارته از: 

  • سادگی در یادگیری: فقط کافیه به CSS ،HTML و JavaScript مسلط بشید.

  • نوشتن کدنویسی کم

  • دایرکتیوها: یکی از جذاب‌ترین بخشای آنگولار به حساب میاد که با اون میتونید تگ‌های جدید به وجود بیارین.

  • ادغام‌پذیری: یعنی به سادگی با سایر فریمورک‌ها و ابزارها ادغام میشه و این یه نکته‌ی مثبت برای توسعه‌دهنده هاست.

  • تست‌پذیری راحت: این فریمورک با داشتن unit testهای آماده، فرآیند تست رو بسیار سریع و آسون میکنه.

این شما و این هم ویژگی‌های کاربردی و مهم AngularJS:

  1. اتصال داده به صورت دوطرفه

همون طور که گفتیم پایه الگوی طراحی انگولار جی‌اس MCV و حالا این یعنی چی؟
Model، اطلاعات و داده‌ها رو از منابع بازیابی می‌کنه و view هم به‌عنوان یه نمایشگر به من و شما که مخاطب وب‌سایت هستیم، اطلاعات رو نشان می‌ده که در UI(رابط کاربری) کاربردیست.

اما یه نکته وجود داره، زمانی که شما تغییری رو تو model انجام میدید باید تو view هم تغییرات رو اعمال کنین. این کار می‌تونه در داده‌های زیاد کار بسیار وقت‌گیری باشه؛ پس اگر از انگولار جی‌اس استفاده می‌کنین نباید نگران این موضوع باشید. چرا که انگولار جی‌اس هر داده رو به view مشخص مرتبط و در هنگام تغییرات، این view هست که به‌صورت خودکار آپدیت می‌شه.

  1. دایرکتیوها

این جمله رو حتما یادتون باشه:

"هرجا که سخن از سفارشی‌سازی و به کارگیری ابزارهای جدید است نام دایرکتیوهای انگولار میدرخشد" 

به همین خاطر یکی از جذاب‌ترین بخش‌های انگولار جی اس دایرکتیوها به شمار میره که با اون میتونید عناصر و تگ‌های جدید رو نمایش بدین.

  1. داشتن قابلیت تزریق وابستگی(dependency injection)

فرضا تو خونه نشستین و دارین یه وسیله برقی رو تعمیر میکنید که به طور اتفاقی یه پیچ رو گم میکنید. چیزی که ما اینجا دوست داریم اینه که به‌جای پیدا کردن پیچ، سیستمی باشه که به اون طبق تعریفی که قبلاً براش داشتیم، دستور میدادیم تا مشابه اون پیچ رو تحویلمون بده.

حالا بیایین بریم سراغ دنیای برنامه‌نویسی. گاهی ما دوست داریم یه سری دستورات رو که قبلا تعریف کردیم هنگام نیاز، دوباره از همون‌ها استفاده کنیم. اینجاست که خاصیت تزریق وابستگی خودش رو نشان می‌ده و باعث می‌شه که علاوه بر صرفه‌جویی تو زمان، خیلی راحت‌تر و سریع‌تر دستوراتمون رو اجرا کنیم که آنگولار جی‌اس این قابلیتو در اختیار ما قرار داده.

  1. الگوهای template:

 یکی از نکات مهمی که در طراحی وب وجود دارد، بحث قالب‌هاست یعنی همان شکل کلی که از یک وب‌سایت مشاهده می‌کنیم. انگولار جی اس با ابزارهای قدرتمند خود از جمله الگوی طراحی mcv، دایرکتیوها و ... توانسته است به‌ آسانی طراحی قالب را بر عهده داشته باشد.

معایب آنگولار جی‌اس چیست رو بشناسید:

  • شاید بشه گفت بزرگترین نقص این فریم ورک، بودن راه های زیاد برای انجام یک کار است.وقتی که شما از AngularJS برای پروژه های نسبتا بزرگ استفاده میکنین، پیدا کردن بهترین راه برای انجام کارها خیلی سخته و باید مراقب باشین که اگه از رویداد ها و المانهای DOM به روش غیر انگولار استفاده میکنین، اونارو پاکسازی کنید که دچار نشت حافظه (memory leak) نشید.

  • نکته دیگه این که، اگه بحث سئوی صفحه ای برای شما خیلی اهمیت داره، استفاده از آنگولار گزینه مناسبی نیست.

کلام آخر:

خب دوستان به پایان دورهمی امروز رسیدیم و گفتیم که انگولار چیست، چه مزایا و معایبی داره و کاربردهای مهم این فریم ورک چیه. حالا میخوام این دورهمی رو اینجوری به پایان برسونم که با انگولار دیگه لازم نیست کارای زیرو انجام بدین:

  • Registering callbacks

 پاک کردن کد های پر تکرار مثل callback ها؛ این کار به شدت مقدار کدهای جاوا اسکریپت رو که شما باید بنویسید، کاهش میده و دیدن اینکه کد شما چه کاری انجام میده رو آسون میکنه.

  • دستکاری فایل های HTML DOM به صورت خودکار و برنامه نویسی

بیشتر نرم افزارایی که با انگولار نوشته میشن هیچ وقت نیاز به برنامه نویسی تغییر DOM ندارن، ولی اگر شما بخواین، میتونید این کار را انجام دهید.

این هم یه توضیح کوتاه درباره فایل های HTML DOM:

HTML DOM، يک مدل شيء استاندارد و رابط کاربري برنامه نويسي براي HTML هست که موارد زير رو تعريف مي کنه:

  1. عناصر HTML به عنوان اشياء

  2. خصوصيات همه عناصر HTML

  3. متدهايي براي دسترسي به تمام عناصر HTML

  4. رويدادهاي تمام عناصر HTML

به عبارت ديگه HTML DOM، استانداردي براي دسترسي، تغيير، اضافه و يا حذف کردن عناصر HTML هست.

  • و در نهایت، نوشتن هزاران کد اولیه برای شروع

معمولا برای نوشتن یک نرم افزار AJAX ساده Hello world”" نیاز به نوشتن کدهای اولیه زیادی هست. اما برنامه نویسی انگولار، به عنوان یک پاداش کنترل کامل روی مقدار دهی اولیه در تست خودکار را برای شما فراهم میکند.

خب عزیزان امیدوارم که مطالب دورهمی ما مورد پسندتون باشه و اگه شما هم تجربه کاری ویا اطلاعات بیشتری درباره انگولار دارین، در قسمت کامنت با ما درمیون بزارید؛ موفق باشین.